mas_storage_pg/
iden.rs

1// Copyright 2024 New Vector Ltd.
2// Copyright 2023, 2024 The Matrix.org Foundation C.I.C.
3//
4// SPDX-License-Identifier: AGPL-3.0-only
5// Please see LICENSE in the repository root for full details.
6
7//! Table and column identifiers used by [`sea_query`]
8
9#[derive(sea_query::Iden)]
10pub enum UserSessions {
11    Table,
12    UserSessionId,
13    UserId,
14    CreatedAt,
15    FinishedAt,
16    UserAgent,
17    LastActiveAt,
18    LastActiveIp,
19}
20
21#[derive(sea_query::Iden)]
22pub enum Users {
23    Table,
24    UserId,
25    Username,
26    CreatedAt,
27    LockedAt,
28    DeactivatedAt,
29    CanRequestAdmin,
30}
31
32#[derive(sea_query::Iden)]
33pub enum UserEmails {
34    Table,
35    UserEmailId,
36    UserId,
37    Email,
38    CreatedAt,
39}
40
41#[derive(sea_query::Iden)]
42pub enum CompatSessions {
43    Table,
44    CompatSessionId,
45    UserId,
46    DeviceId,
47    HumanName,
48    UserSessionId,
49    CreatedAt,
50    FinishedAt,
51    IsSynapseAdmin,
52    UserAgent,
53    LastActiveAt,
54    LastActiveIp,
55}
56
57#[derive(sea_query::Iden)]
58pub enum CompatSsoLogins {
59    Table,
60    CompatSsoLoginId,
61    RedirectUri,
62    LoginToken,
63    CompatSessionId,
64    CreatedAt,
65    FulfilledAt,
66    ExchangedAt,
67}
68
69#[derive(sea_query::Iden)]
70#[iden = "oauth2_sessions"]
71pub enum OAuth2Sessions {
72    Table,
73    #[iden = "oauth2_session_id"]
74    OAuth2SessionId,
75    UserId,
76    UserSessionId,
77    #[iden = "oauth2_client_id"]
78    OAuth2ClientId,
79    ScopeList,
80    CreatedAt,
81    FinishedAt,
82    UserAgent,
83    LastActiveAt,
84    LastActiveIp,
85}
86
87#[derive(sea_query::Iden)]
88#[iden = "oauth2_clients"]
89pub enum OAuth2Clients {
90    Table,
91    #[iden = "oauth2_client_id"]
92    OAuth2ClientId,
93    IsStatic,
94}
95
96#[derive(sea_query::Iden)]
97#[iden = "upstream_oauth_providers"]
98pub enum UpstreamOAuthProviders {
99    Table,
100    #[iden = "upstream_oauth_provider_id"]
101    UpstreamOAuthProviderId,
102    Issuer,
103    HumanName,
104    BrandName,
105    Scope,
106    ClientId,
107    EncryptedClientSecret,
108    TokenEndpointSigningAlg,
109    TokenEndpointAuthMethod,
110    IdTokenSignedResponseAlg,
111    FetchUserinfo,
112    UserinfoSignedResponseAlg,
113    CreatedAt,
114    DisabledAt,
115    ClaimsImports,
116    DiscoveryMode,
117    PkceMode,
118    ResponseMode,
119    AdditionalParameters,
120    JwksUriOverride,
121    TokenEndpointOverride,
122    AuthorizationEndpointOverride,
123    UserinfoEndpointOverride,
124}
125
126#[derive(sea_query::Iden)]
127#[iden = "upstream_oauth_links"]
128pub enum UpstreamOAuthLinks {
129    Table,
130    #[iden = "upstream_oauth_link_id"]
131    UpstreamOAuthLinkId,
132    #[iden = "upstream_oauth_provider_id"]
133    UpstreamOAuthProviderId,
134    UserId,
135    Subject,
136    HumanAccountName,
137    CreatedAt,
138}