Spaces:
Sleeping
Sleeping
File size: 1,238 Bytes
868b252 |
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 28 29 30 31 32 33 34 35 36 37 |
from sqlalchemy import DateTime, String
from sqlalchemy.orm import mapped_column
from reworkd_platform.db.base import TrackedModel
class Organization(TrackedModel):
__tablename__ = "organization"
name = mapped_column(String, nullable=False)
created_by = mapped_column(String, nullable=False)
class OrganizationUser(TrackedModel):
__tablename__ = "organization_user"
user_id = mapped_column(String, nullable=False)
organization_id = mapped_column(String, nullable=False)
role = mapped_column(String, nullable=False, default="member")
class OauthCredentials(TrackedModel):
__tablename__ = "oauth_credentials"
user_id = mapped_column(String, nullable=False)
organization_id = mapped_column(String, nullable=True)
provider = mapped_column(String, nullable=False)
state = mapped_column(String, nullable=False)
redirect_uri = mapped_column(String, nullable=False)
# Post-installation
token_type = mapped_column(String, nullable=True)
access_token_enc = mapped_column(String, nullable=True)
access_token_expiration = mapped_column(DateTime, nullable=True)
refresh_token_enc = mapped_column(String, nullable=True)
scope = mapped_column(String, nullable=True)
|