aboutsummaryrefslogtreecommitdiff
path: root/newspipe/models/category.py
blob: 932673006b038780a3450a3d3b42f4aab6081c71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#! /usr/bin/env python
from sqlalchemy import Index

from newspipe.bootstrap import db
from newspipe.models.right_mixin import RightMixin


class Category(db.Model, RightMixin):
    id = db.Column(db.Integer(), primary_key=True)
    name = db.Column(db.String())

    # relationships
    user_id = db.Column(db.Integer, db.ForeignKey("user.id"))
    feeds = db.relationship("Feed", cascade="all,delete-orphan")
    articles = db.relationship("Article", cascade="all,delete-orphan")

    # index
    idx_category_uid = Index("user_id")

    # api whitelists
    @staticmethod
    def _fields_base_read():
        return {"id", "user_id"}

    @staticmethod
    def _fields_base_write():
        return {"name"}
bgstack15