chore: migrations and sqlx offline compilation data

This commit is contained in:
Aravinth Manivannan 2024-05-17 23:28:38 +05:30
parent b83112d359
commit 828a53b60d
Signed by: realaravinth
GPG key ID: F8F50389936984FF
7 changed files with 980 additions and 13 deletions

View file

@ -0,0 +1,17 @@
{
"db_name": "PostgreSQL",
"query": "INSERT INTO verification_otp (secret, created_at, purpose, username)\n VALUES ($1, $2, $3, $4);",
"describe": {
"columns": [],
"parameters": {
"Left": [
"Varchar",
"Timestamptz",
"Text",
"Text"
]
},
"nullable": []
},
"hash": "487deedfaaf10c4ab02fc223b8fec4bf359b082331adfa788096742673168be3"
}

View file

@ -0,0 +1,22 @@
{
"db_name": "PostgreSQL",
"query": "SELECT EXISTS (\n SELECT 1\n FROM user_query\n WHERE\n email = $1\n );",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "exists",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
null
]
},
"hash": "96a3f162b568cd4700d7cedf6848e3ae5d664ee710652a75eb05147340ee3035"
}

View file

@ -0,0 +1,22 @@
{
"db_name": "PostgreSQL",
"query": "SELECT EXISTS (\n SELECT 1\n FROM user_query\n WHERE\n username = $1\n );",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "exists",
"type_info": "Bool"
}
],
"parameters": {
"Left": [
"Text"
]
},
"nullable": [
null
]
},
"hash": "ed4bd44b2a0595cd80b36ce70b30ab55af1af12c1f22a2d4a2baf8af4569cf73"
}

884
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -12,9 +12,14 @@ actix-identity = "0.7.1"
actix-rt = "2.9.0"
actix-session = { version = "0.9.0", features = ["cookie-session"] }
actix-web = "4.5.1"
argon2-creds = "0.2.3"
async-trait = "0.1.80"
config = "0.14.0"
cqrs-es = "0.4.11"
derive-getters = "0.4.0"
derive_builder = "0.20.0"
derive_more = "0.99.17"
lettre = { version = "0.11.7", features = ["tokio1-rustls-tls", "tracing", "dkim", "tokio1-native-tls", "smtp-transport", "pool", "builder"], default-features = false }
log = "0.4.21"
mockall = { version = "0.12.1", features = ["nightly"] }
pretty_env_logger = "0.5.0"

View file

@ -0,0 +1,32 @@
-- SPDX-FileCopyrightText: 2024 Aravinth Manivannan <realaravinth@batsense.net>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later
CREATE TABLE IF NOT EXISTS user_events
(
aggregate_type text NOT NULL,
aggregate_id text NOT NULL,
sequence bigint CHECK (sequence >= 0) NOT NULL,
event_type text NOT NULL,
event_version text NOT NULL,
payload json NOT NULL,
metadata json NOT NULL,
timestamp timestamp with time zone DEFAULT (CURRENT_TIMESTAMP),
PRIMARY KEY (aggregate_type, aggregate_id, sequence)
);
CREATE TABLE IF NOT EXISTS user_query
(
view_id text NOT NULL,
version bigint CHECK (version >= 0) NOT NULL,
username TEXT NOT NULL UNIQUE,
email TEXT NOT NULL UNIQUE,
hashed_password TEXT NOT NULL,
is_admin BOOLEAN NOT NULL DEFAULT FALSE,
is_verified BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (view_id)
);
CREATE UNIQUE INDEX IF NOT EXISTS user_username_index ON user_query (username);

View file

@ -0,0 +1,11 @@
-- SPDX-FileCopyrightText: 2024 Aravinth Manivannan <realaravinth@batsense.net>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later
CREATE TABLE IF NOT EXISTS verification_otp (
secret VARCHAR(32) NOT NULL UNIQUE,
created_at timestamp with time zone DEFAULT (CURRENT_TIMESTAMP),
purpose TEXT NOT NULL,
username TEXT NOT NULL,
ID SERIAL PRIMARY KEY NOT NULL
);