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    ForwardLoginHint,
123    JwksUriOverride,
124    TokenEndpointOverride,
125    AuthorizationEndpointOverride,
126    UserinfoEndpointOverride,
127}
128
129#[derive(sea_query::Iden)]
130#[iden = "upstream_oauth_links"]
131pub enum UpstreamOAuthLinks {
132    Table,
133    #[iden = "upstream_oauth_link_id"]
134    UpstreamOAuthLinkId,
135    #[iden = "upstream_oauth_provider_id"]
136    UpstreamOAuthProviderId,
137    UserId,
138    Subject,
139    HumanAccountName,
140    CreatedAt,
141}