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    UserSessionId,
65    CreatedAt,
66    FulfilledAt,
67    ExchangedAt,
68}
69
70#[derive(sea_query::Iden)]
71#[iden = "oauth2_sessions"]
72pub enum OAuth2Sessions {
73    Table,
74    #[iden = "oauth2_session_id"]
75    OAuth2SessionId,
76    UserId,
77    UserSessionId,
78    #[iden = "oauth2_client_id"]
79    OAuth2ClientId,
80    ScopeList,
81    CreatedAt,
82    FinishedAt,
83    UserAgent,
84    LastActiveAt,
85    LastActiveIp,
86    HumanName,
87}
88
89#[derive(sea_query::Iden)]
90#[iden = "oauth2_clients"]
91pub enum OAuth2Clients {
92    Table,
93    #[iden = "oauth2_client_id"]
94    OAuth2ClientId,
95    IsStatic,
96}
97
98#[derive(sea_query::Iden)]
99#[iden = "upstream_oauth_providers"]
100pub enum UpstreamOAuthProviders {
101    Table,
102    #[iden = "upstream_oauth_provider_id"]
103    UpstreamOAuthProviderId,
104    Issuer,
105    HumanName,
106    BrandName,
107    Scope,
108    ClientId,
109    EncryptedClientSecret,
110    TokenEndpointSigningAlg,
111    TokenEndpointAuthMethod,
112    IdTokenSignedResponseAlg,
113    FetchUserinfo,
114    UserinfoSignedResponseAlg,
115    CreatedAt,
116    DisabledAt,
117    ClaimsImports,
118    DiscoveryMode,
119    PkceMode,
120    ResponseMode,
121    AdditionalParameters,
122    JwksUriOverride,
123    TokenEndpointOverride,
124    AuthorizationEndpointOverride,
125    UserinfoEndpointOverride,
126}
127
128#[derive(sea_query::Iden)]
129#[iden = "upstream_oauth_links"]
130pub enum UpstreamOAuthLinks {
131    Table,
132    #[iden = "upstream_oauth_link_id"]
133    UpstreamOAuthLinkId,
134    #[iden = "upstream_oauth_provider_id"]
135    UpstreamOAuthProviderId,
136    UserId,
137    Subject,
138    HumanAccountName,
139    CreatedAt,
140}