mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-11 22:53:00 +00:00
28 lines
843 B
SQL
28 lines
843 B
SQL
CREATE TABLE secrets (
|
|
name TEXT PRIMARY KEY NOT NULL,
|
|
secret_type TEXT NOT NULL,
|
|
value TEXT NOT NULL,
|
|
description TEXT,
|
|
revision INTEGER NOT NULL DEFAULT 1,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
CHECK (length(name) > 0),
|
|
CHECK (secret_type IN ('token', 'oauth', 'file')),
|
|
CHECK (revision > 0),
|
|
CHECK (length(created_at) > 0),
|
|
CHECK (length(updated_at) > 0),
|
|
CHECK (
|
|
(secret_type IN ('token', 'oauth')
|
|
AND substr(name, 1, 1) GLOB '[A-Za-z_]'
|
|
AND name NOT GLOB '*[^A-Za-z0-9_]*')
|
|
OR
|
|
(secret_type = 'file'
|
|
AND (
|
|
name = 'GITHUB_APP_PRIVATE_KEY'
|
|
OR (
|
|
substr(name, 1, 1) = '/'
|
|
AND substr(name, -1, 1) <> '/'
|
|
)
|
|
))
|
|
)
|
|
);
|