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}
87
88#[derive(sea_query::Iden)]
89#[iden = "oauth2_clients"]
90pub enum OAuth2Clients {
91    Table,
92    #[iden = "oauth2_client_id"]
93    OAuth2ClientId,
94    IsStatic,
95}
96
97#[derive(sea_query::Iden)]
98#[iden = "upstream_oauth_providers"]
99pub enum UpstreamOAuthProviders {
100    Table,
101    #[iden = "upstream_oauth_provider_id"]
102    UpstreamOAuthProviderId,
103    Issuer,
104    HumanName,
105    BrandName,
106    Scope,
107    ClientId,
108    EncryptedClientSecret,
109    TokenEndpointSigningAlg,
110    TokenEndpointAuthMethod,
111    IdTokenSignedResponseAlg,
112    FetchUserinfo,
113    UserinfoSignedResponseAlg,
114    CreatedAt,
115    DisabledAt,
116    ClaimsImports,
117    DiscoveryMode,
118    PkceMode,
119    ResponseMode,
120    AdditionalParameters,
121    JwksUriOverride,
122    TokenEndpointOverride,
123    AuthorizationEndpointOverride,
124    UserinfoEndpointOverride,
125}
126
127#[derive(sea_query::Iden)]
128#[iden = "upstream_oauth_links"]
129pub enum UpstreamOAuthLinks {
130    Table,
131    #[iden = "upstream_oauth_link_id"]
132    UpstreamOAuthLinkId,
133    #[iden = "upstream_oauth_provider_id"]
134    UpstreamOAuthProviderId,
135    UserId,
136    Subject,
137    HumanAccountName,
138    CreatedAt,
139}