Ejemplo n.º 1
0
class Article(BaseModel):
    title = CharField(unique=True, verbose_name="title")
    content = TextField(verbose_name="content")
    tag = ForeignKeyField(Tag, related_name="articles", verbose_name="tag")
    create_time = DateTimeField(default=datetime.now,
                                verbose_name="create time")
    up_time = DateTimeField(default=datetime.now, verbose_name="create time")
Ejemplo n.º 2
0
class ItemModel(BaseSQLModel):
    id = AutoField()
    title = CharField(max_length=64)
    user = ForeignKeyField(UserModel, backref="items", on_delete="CASCADE")
    category = ForeignKeyField(CategoryModel,
                               backref="items",
                               on_delete="CASCADE")
    brand = ForeignKeyField(BrandModel, backref="items", on_delete="CASCADE")
    tags = ManyToManyField(TagModel, backref="items")

    condition = CharField(choices=ItemCondition)
    value = DecimalField(decimal_places=2, auto_round=True)
    currency = CharField(choices=Currency)
    description = CharField(max_length=128)
    status = CharField(choices=ItemStatus, default=ItemStatus.AVAILABLE)
    preference_score_rate = DecimalField(decimal_places=2,
                                         auto_round=True,
                                         default=0)
    popularity_rate = DecimalField(decimal_places=2,
                                   auto_round=True,
                                   default=0)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "items"

    def __str__(self):
        return self.name
Ejemplo n.º 3
0
class Workout(BaseModel):
    id = PrimaryKeyField()
    name = CharField(null=False)
    category = CharField()
    start_time = DateTimeField(default=datetime.now())
    end_time = DateTimeField(null=True)
    creator = CharField(null=False)
    exercises = JSONField(default=[])
Ejemplo n.º 4
0
class ListModel(BaseSQLModel):
    id = AutoField()
    # TODO: Restrict author must be role ADMIN
    author = ForeignKeyField(UserModel, backref="lists", on_delete="CASCADE")
    title = CharField(max_length=256)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "lists"
Ejemplo n.º 5
0
class CardModel(BaseSQLModel):
    id = AutoField()
    author = ForeignKeyField(UserModel, backref="cards", on_delete="CASCADE")
    list = ForeignKeyField(ListModel, backref="cards", on_delete="CASCADE")
    title = CharField(max_length=256)
    description = CharField(max_length=1024)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "cards"
Ejemplo n.º 6
0
class CommentReplyModel(BaseSQLModel):
    id = AutoField()
    author = ForeignKeyField(UserModel, backref="replies", on_delete="CASCADE")
    comment = ForeignKeyField(CommentModel,
                              backref="replies",
                              on_delete="CASCADE")
    content = CharField(max_length=256)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)

    class Meta(BaseSQLModel):
        table_name = "comment_replies"
Ejemplo n.º 7
0
class CommentModel(BaseSQLModel):
    id = AutoField()
    author = ForeignKeyField(UserModel,
                             backref="comments",
                             on_delete="CASCADE")
    card = ForeignKeyField(CardModel, backref="comments", on_delete="CASCADE")
    content = CharField(max_length=256)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "comments"
Ejemplo n.º 8
0
class MatchModel(BaseSQLModel):
    id = AutoField()
    item_a = ForeignKeyField(ItemModel, index=True, related_name="matches_a")
    item_b = ForeignKeyField(ItemModel, index=True, related_name="matches_b")
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "matches"

    def __str__(self):
        return f"{self.item_a} - {self.item_b}"
Ejemplo n.º 9
0
class ImageModel(BaseSQLModel):
    id = AutoField()
    url = CharField(max_length=256)
    item = ForeignKeyField(ItemModel, backref="images", on_delete="CASCADE")
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "images"

    def __str__(self):
        return self.url
Ejemplo n.º 10
0
class UserModel(BaseSQLModel, UserMixin):
    id = AutoField()
    username = CharField(unique=True, index=True, max_length=16)
    email_address = CharField(unique=True, max_length=256)
    salt = BlobField()
    key = BlobField()
    role = CharField(default=UserRole.MEMBER)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "users"
Ejemplo n.º 11
0
class CategoryModel(BaseSQLModel):
    id = AutoField()
    name = CharField(unique=True, max_length=64)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "categories"

    def __str__(self):
        return self.name

    def save(self, *args, **kwargs):
        self.name = self.name.lower()
        return super().save(*args, **kwargs)
Ejemplo n.º 12
0
class WordEmbedding(BaseModel):
    word = CharField(null=False)
    embedding = BinaryJSONField(null=False)
    version = IntegerField(null=False)
    inserted_at = DateTimeField(null=False, default=datetime.now)

    class Meta:
        db_table = 'word_embeddings'
Ejemplo n.º 13
0
class Post(BaseModel):
    id = PrimaryKeyField()
    comments = JSONField(default=[])
    photo = CharField(null=True)
    caption = CharField(null=True)
    date = DateTimeField(default=datetime.now())
    original_workout = ForeignKeyField(Workout)

    class Meta:
        index = ('post', 'original_workout')
Ejemplo n.º 14
0
class Recipient(db.Model):
    created_at = DateTimeField(default=datetime.utcnow)
    sent_at = DateTimeField(null=True)
    opened_at = DateTimeField(null=True)
    linked_at = DateTimeField(null=True)

    campaign_id = ForeignKeyField(PushCampaign, backref='recipients')
    wallet_link_id = CharField()
    email = CharField()
    name = TextField()
    amount_pip = CharField()

    target_shop = CharField(null=True)

    @property
    def target_route(self):
        y_food_url = '/food,grocery/%D0%AF%D0%BD%D0%B4%D0%B5%D0%BA%D1%81.%D0%95%D0%B4%D0%B0/certificate/'
        b2ph_url = '/mobile'
        return y_food_url if self.target_shop == 'y-food' else b2ph_url if self.target_shop == 'bip2ph' else ''
Ejemplo n.º 15
0
class TagModel(BaseSQLModel):
    id = AutoField()
    value = CharField(unique=True, max_length=64)
    date_created = DateTimeField(null=True)
    date_updated = DateTimeField(null=True)
    is_deleted = BooleanField(default=False)

    class Meta(BaseSQLModel):
        table_name = "tags"

    def __str__(self):
        return self.value

    def get(self, **kwargs):
        kwargs["value"] = kwargs["value"].lower()
        return super().get(**kwargs)

    def save(self, *args, **kwargs):
        self.value = self.value.lower()
        return super().save(*args, **kwargs)
Ejemplo n.º 16
0
class OrderHistory(db.Model):
    timestamp = DateTimeField(default=datetime.utcnow)

    provider = CharField()
    product_id = CharField()

    price_pip = CharField()
    address_from = CharField()
    address_to = CharField()

    contact = CharField(null=True)
    notified = BooleanField(default=False)
Ejemplo n.º 17
0
class User(db.Model, UserMixin):
    username = CharField(null=True)
    email = CharField(null=True)
    password = CharField(null=True)
    active = BooleanField(default=True)
    confirmed_at = DateTimeField(null=True)
    last_login_at = DateTimeField(null=True)
    current_login_at = DateTimeField(null=True)
    last_login_ip = IPField(null=True)
    current_login_ip = IPField(null=True)
    login_count = IntegerField(null=True)

    @property
    def is_anonymous(self):
        return self.has_role('anonymous') or not self.roles

    @property
    def is_authenticated(self):
        return not self.is_anonymous

    def __str__(self):
        return f"{self.username or self.id} anonymous={self.is_anonymous}"
Ejemplo n.º 18
0
class Sale(BaseModel):

    id = IntegerField(primary_key=True)
    city = CharField(null=True)
    district = CharField(null=True)
    address = CharField(null=True)
    latitude = FloatField(null=True)
    longitude = FloatField(null=True)
    floor = IntegerField(null=True)
    number_of_floors = IntegerField(null=True)
    number_of_rooms = IntegerField(null=True)
    kitchen_area = FloatField(null=True)
    living_area = FloatField(null=True)
    total_area = FloatField(null=True)
    walling = CharField(null=True)
    price_amount = FloatField(null=True)
    price_currency = CharField(null=True)
    seller = CharField(null=True)
    resale = BooleanField(null=True)
    image = CharField(null=True)
    url = CharField(null=True)
    created_at = DateTimeField(default=datetime.utcnow)
    updated_at = DateTimeField(default=datetime.utcnow)
Ejemplo n.º 19
0
class Grant(BaseModel):
    grant_id = PrimaryKeyField(db_column='GRANT_ID',
                               sequence='grant_id_sequence')
    user_id = ForeignKeyField(db_column='USER_ID',
                              rel_model=User,
                              to_field='id')
    client_id = ForeignKeyField(db_column='CLIENT_ID',
                                rel_model=Client,
                                to_field='client_id')
    code = TextField(db_column='CODE', null=False)
    redirect_uri = TextField(db_column='REDIRECT_URI', null=True)
    expires = DateTimeField(db_column='EXPIRES', null=True)
    scopes = TextField(db_column='SCOPES', null=True)

    class Meta:
        db_table = 'GRANT'
Ejemplo n.º 20
0
class Token(BaseModel):
    token_id = PrimaryKeyField(db_column='TOKEN_ID',
                               sequence='token_id_sequence')
    user_id = ForeignKeyField(db_column='USER_ID',
                              rel_model=User,
                              to_field='id')
    client_id = ForeignKeyField(db_column='CLIENT_ID',
                                rel_model=Client,
                                to_field='client_id')

    # currently only bearer is supported
    token_type = TextField(db_column='TOKEN_TYPE')
    access_token = TextField(db_column='ACCESS_TOKEN')
    refresh_token = TextField(db_column='REFRESH_TOKEN')
    expires = DateTimeField(db_column='EXPIRES')
    scopes = TextField(db_column='SCOPES')

    class Meta:
        db_table = 'TOKEN'
Ejemplo n.º 21
0
class Chat(BaseModel):
    id = PrimaryKeyField()
    events = JSONField(default=[])
    name = CharField()
    date_created = DateTimeField(default=datetime.now)
    background = CharField(default="default")
Ejemplo n.º 22
0
class AuthId(BaseModel):
    auth_id = CharField(unique=True, null=False)
    user = ForeignKeyField(User)
    date_created = DateTimeField(default=datetime.now)
Ejemplo n.º 23
0
class UserImage(db.Model):
    filename = TextField(null=True)
    url = TextField(default='')
    created_at = DateTimeField(default=datetime.utcnow)
Ejemplo n.º 24
0
class MigrationHistory(BaseModel):

    migration = CharField()
    applied_at = DateTimeField(default=datetime.utcnow)
Ejemplo n.º 25
0
class WebhookEvent(db.Model):
    timestamp = DateTimeField(default=datetime.utcnow)
    provider = CharField()
    event_id = CharField()
    event_data = JSONField()