blob: 049ac6bdea87d5ad9063639c71835e4da89cbcca (
plain)
| 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
 | """
Create jwt_refresh_tokens table
"""
from yoyo import step
__depends__ = {'20231011_01_CS8NZ-create-new-inbredset-group-owner-role'}
steps = [
    step(
        """
        CREATE TABLE IF NOT EXISTS jwt_refresh_tokens
        -- Store refresh tokens to verify refresh attempts
        (
          token TEXT NOT NULL,
          client_id TEXT NOT NULL,
          user_id TEXT NOT NULL,
          issued_with TEXT NOT NULL UNIQUE, -- JWT ID of JWT issued along with this refresh token
          issued_at INTEGER NOT NULL,
          expires INTEGER NOT NULL,
          scope TEXT NOT NULL,
          revoked INTEGER CHECK (revoked = 0 or revoked = 1),
          parent_of TEXT UNIQUE,
          PRIMARY KEY(token),
          FOREIGN KEY (client_id) REFERENCES oauth2_clients(client_id)
            ON UPDATE CASCADE ON DELETE RESTRICT,
          FOREIGN KEY (user_id) REFERENCES users(user_id)
            ON UPDATE CASCADE ON DELETE RESTRICT,
          FOREIGN KEY (parent_of) REFERENCES jwt_refresh_tokens(token)
            ON UPDATE CASCADE ON DELETE RESTRICT
        ) WITHOUT ROWID
        """,
        "DROP TABLE IF EXISTS jwt_refresh_tokens")
]
 |