Source code for pydent.models.user

"""User, group, and budget models."""
from pydent.base import ModelBase
from pydent.marshaller import add_schema
from pydent.relationships import HasMany
from pydent.relationships import HasManyThrough
from pydent.relationships import HasOne


[docs]@add_schema class User(ModelBase): """A User model.""" fields = dict( groups=HasMany("Group", "User"), user_budget_associations=HasMany("UserBudgetAssociation", "User"), budgets=HasManyThrough("Budget", "UserBudgetAssociation"), additional=("name", "id", "login"), ignore=("password_digest", "remember_token", "key"), )
[docs] def __init__(self): pass
[docs]@add_schema class UserBudgetAssociation(ModelBase): """An association model between a User and a Budget.""" fields = dict(budget=HasOne("Budget"), user=HasOne("User"))
[docs] def __init__(self): pass
[docs]@add_schema class Membership(ModelBase): fields = dict(user=HasOne("User"), group=HasOne("Group"))
[docs]@add_schema class Group(ModelBase): """A Group model.""" pass
[docs]@add_schema class Account(ModelBase): """An Account model."""
[docs]@add_schema class Budget(ModelBase): """A Budget model.""" fields = dict(user_budget_associations=HasMany("UserBudgetAssociation", "Budget"))
[docs]@add_schema class Invoice(ModelBase): """A Invoice model.""" pass