add service
All checks were successful
Deploy Smart Search Backend / deploy (push) Successful in 1m41s

This commit is contained in:
vallyenfail
2026-01-17 23:40:43 +03:00
parent 39d39ec3cd
commit 5487618019
8 changed files with 19 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE users (
CREATE TABLE IF NOT EXISTS users (
id SERIAL PRIMARY KEY,
email TEXT NOT NULL,
email_hash TEXT NOT NULL UNIQUE,
@@ -14,7 +14,7 @@ CREATE TABLE users (
created_at TIMESTAMP DEFAULT now()
);
CREATE INDEX idx_users_email_hash ON users(email_hash);
CREATE INDEX IF NOT EXISTS idx_users_email_hash ON users(email_hash);
-- +goose Down
DROP TABLE users;

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE sessions (
CREATE TABLE IF NOT EXISTS sessions (
id SERIAL PRIMARY KEY,
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
access_token TEXT NOT NULL,
@@ -11,8 +11,8 @@ CREATE TABLE sessions (
revoked_at TIMESTAMP
);
CREATE INDEX idx_sessions_refresh ON sessions(refresh_token);
CREATE INDEX idx_sessions_user_id ON sessions(user_id);
CREATE INDEX IF NOT EXISTS idx_sessions_refresh ON sessions(refresh_token);
CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions(user_id);
-- +goose Down
DROP TABLE sessions;

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE invite_codes (
CREATE TABLE IF NOT EXISTS invite_codes (
id SERIAL PRIMARY KEY,
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
code BIGINT NOT NULL UNIQUE,
@@ -10,8 +10,8 @@ CREATE TABLE invite_codes (
expires_at TIMESTAMP NOT NULL
);
CREATE INDEX idx_invite_codes_code ON invite_codes(code);
CREATE INDEX idx_invite_codes_user_id ON invite_codes(user_id);
CREATE INDEX IF NOT EXISTS idx_invite_codes_code ON invite_codes(code);
CREATE INDEX IF NOT EXISTS idx_invite_codes_user_id ON invite_codes(user_id);
-- +goose Down
DROP TABLE invite_codes;

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE mailing_status (
CREATE TABLE IF NOT EXISTS mailing_status (
id SERIAL PRIMARY KEY,
status_name TEXT NOT NULL UNIQUE
);
@@ -8,7 +8,8 @@ INSERT INTO mailing_status (status_name) VALUES
('pending'),
('in_progress'),
('completed'),
('failed');
('failed')
ON CONFLICT (status_name) DO NOTHING;
-- +goose Down
DROP TABLE mailing_status;

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE requests_for_suppliers (
CREATE TABLE IF NOT EXISTS requests_for_suppliers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
request_txt TEXT,
@@ -11,8 +11,8 @@ CREATE TABLE requests_for_suppliers (
created_at TIMESTAMP DEFAULT now()
);
CREATE INDEX idx_requests_user_id ON requests_for_suppliers(user_id);
CREATE INDEX idx_requests_status ON requests_for_suppliers(mailling_status_id);
CREATE INDEX IF NOT EXISTS idx_requests_user_id ON requests_for_suppliers(user_id);
CREATE INDEX IF NOT EXISTS idx_requests_status ON requests_for_suppliers(mailling_status_id);
-- +goose Down
DROP TABLE requests_for_suppliers;

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE suppliers (
CREATE TABLE IF NOT EXISTS suppliers (
id SERIAL PRIMARY KEY,
request_id UUID NOT NULL REFERENCES requests_for_suppliers(id) ON DELETE CASCADE,
name TEXT NOT NULL,
@@ -10,7 +10,7 @@ CREATE TABLE suppliers (
created_at TIMESTAMP DEFAULT now()
);
CREATE INDEX idx_suppliers_request_id ON suppliers(request_id);
CREATE INDEX IF NOT EXISTS idx_suppliers_request_id ON suppliers(request_id);
-- +goose Down
DROP TABLE suppliers;

View File

@@ -1,5 +1,5 @@
-- +goose Up
CREATE TABLE request_token_usage (
CREATE TABLE IF NOT EXISTS request_token_usage (
id SERIAL PRIMARY KEY,
request_id UUID NOT NULL REFERENCES requests_for_suppliers(id) ON DELETE CASCADE,
request_token_count INT DEFAULT 0,
@@ -9,7 +9,7 @@ CREATE TABLE request_token_usage (
created_at TIMESTAMP DEFAULT now()
);
CREATE INDEX idx_token_usage_request_id ON request_token_usage(request_id);
CREATE INDEX IF NOT EXISTS idx_token_usage_request_id ON request_token_usage(request_id);
-- +goose Down
DROP TABLE request_token_usage;

View File

@@ -1,10 +1,5 @@
-- +goose Up
ALTER TABLE users ADD CONSTRAINT balance_non_negative CHECK (balance >= 0);
ALTER TABLE invite_codes ADD CONSTRAINT used_count_non_negative CHECK (used_count >= 0);
ALTER TABLE invite_codes ADD CONSTRAINT used_count_within_limit CHECK (used_count <= can_be_used_count);
-- +goose Down
ALTER TABLE users DROP CONSTRAINT IF EXISTS balance_non_negative;
ALTER TABLE invite_codes DROP CONSTRAINT IF EXISTS used_count_non_negative;
ALTER TABLE invite_codes DROP CONSTRAINT IF EXISTS used_count_within_limit;
ALTER TABLE users DROP CONSTRAINT IF EXISTS balance_non_negative;