Esempio n. 1
0
def get_accounts():
    return (Account.query.options(
        db.contains_eager(Account.user),
        db.contains_eager(Account.currency),
    ).join(User, User.id == Account.user_id).join(
        GroupCurrency, GroupCurrency.id == Account.currency_id).filter(
            Account.user_id == current_user.id))
Esempio n. 2
0
def get_accounts():
    return (
        Account.query
        .options(
            db.contains_eager(Account.user),
            db.contains_eager(Account.currency),
        )
        .join(User, User.id == Account.user_id)
        .join(GroupCurrency, GroupCurrency.id == Account.currency_id)
        .filter(Account.user_id == current_user.id)
    )
Esempio n. 3
0
def get_records():
    return (
        Record.query
        .options(
            db.contains_eager(Record.account),
            db.contains_eager(Record.category),
            db.contains_eager(Record.currency)
        )
        .join(Account, Account.id == Record.account_id)
        .join(GroupCurrency, GroupCurrency.id == Record.currency_id)
        .outerjoin(GroupCategory, GroupCategory.id == Record.category_id)
        .filter(Record.user_id == current_user.id)
    )
Esempio n. 4
0
def get_transaction(transaction_id):
    return (Transaction.query.options(
        db.contains_eager(Transaction.source_account),
        db.contains_eager(Transaction.target_account),
        db.contains_eager(Transaction.currency)).join(
            Account, Account.id == Transaction.source_account_id,
            aliased=True).join(
                Account,
                Account.id == Transaction.target_account_id,
                aliased=True).join(
                    GroupCurrency,
                    GroupCurrency.id == Transaction.currency_id).filter(
                        Transaction.id == transaction_id,
                        Transaction.user_id == current_user.id).first_or_404())
Esempio n. 5
0
def get_transaction(transaction_id):
    return (
        Transaction.query
        .options(
            db.contains_eager(Transaction.source_account),
            db.contains_eager(Transaction.target_account),
            db.contains_eager(Transaction.currency)
        )
        .join(Account, Account.id == Transaction.source_account_id, aliased=True)
        .join(Account, Account.id == Transaction.target_account_id, aliased=True)
        .join(GroupCurrency, GroupCurrency.id == Transaction.currency_id)
        .filter(Transaction.id == transaction_id, Transaction.user_id == current_user.id)
        .first_or_404()
    )
Esempio n. 6
0
def get_user(user_id):
    return (
        User.query
        .options(db.contains_eager(User.group))
        .join(Group, Group.id == User.group_id)
        .filter(User.id == user_id)
        .first_or_404()
    )
Esempio n. 7
0
def get_group_categories():
    return (
        GroupCategory.query
        .options(
            db.contains_eager(GroupCategory.group),
        )
        .join(Group, Group.id == GroupCategory.group_id)
        .filter(GroupCategory.group_id == current_user.group_id)
    )
Esempio n. 8
0
def get_group_category(group_category_id):
    return (
        GroupCategory.query
        .options(
            db.contains_eager(GroupCategory.group),
        )
        .join(Group, Group.id == GroupCategory.group_id)
        .filter(
            GroupCategory.id == group_category_id,
            GroupCategory.group_id == current_user.group_id
        )
        .first_or_404()
    )
Esempio n. 9
0
def get_users():
    return (
        User.query
        .options(db.contains_eager(User.group))
        .join(Group, Group.id == User.group_id)
    )