This commit is contained in:
@@ -7,14 +7,10 @@ CREATE TABLE medias (
|
||||
original_name VARCHAR(255) NOT NULL,
|
||||
mime_type VARCHAR(100) NOT NULL,
|
||||
size BIGINT NOT NULL,
|
||||
target_type VARCHAR(50) NOT NULL,
|
||||
target_id UUID NOT NULL,
|
||||
file_metadata JSONB DEFAULT '{}'::jsonb,
|
||||
created_at TIMESTAMPTZ DEFAULT now(),
|
||||
updated_at TIMESTAMPTZ DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX idx_medias_target ON medias (target_type, target_id);
|
||||
CREATE INDEX idx_medias_user_created ON medias (user_id, created_at DESC);
|
||||
CREATE INDEX idx_medias_original_name_trgm ON medias USING GIN (original_name gin_trgm_ops);
|
||||
CREATE INDEX idx_medias_storage_key_trgm ON medias USING GIN (storage_key gin_trgm_ops);
|
||||
CREATE INDEX idx_medias_original_name_trgm ON medias USING GIN (original_name gin_trgm_ops);
|
||||
@@ -1,28 +1,27 @@
|
||||
CREATE TABLE IF NOT EXISTS user_verifications (
|
||||
id UUID PRIMARY KEY DEFAULT uuidv7(),
|
||||
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
|
||||
verify_type SMALLINT NOT NULL, -- 1 = ID_CARD, 2 = EDUCATION, 3 = EXPERT
|
||||
document_url TEXT NOT NULL,
|
||||
verify_type SMALLINT NOT NULL,
|
||||
is_deleted BOOLEAN NOT NULL DEFAULT false,
|
||||
status SMALLINT NOT NULL DEFAULT 1, -- 1 pending, 2 approved, 3 rejected
|
||||
status SMALLINT NOT NULL DEFAULT 1,
|
||||
reviewed_by UUID REFERENCES users(id),
|
||||
reviewed_at TIMESTAMPTZ,
|
||||
created_at TIMESTAMPTZ DEFAULT now()
|
||||
);
|
||||
|
||||
|
||||
CREATE INDEX idx_user_verifications_user_id
|
||||
ON user_verifications(user_id)
|
||||
WHERE is_deleted = false;
|
||||
CREATE TABLE IF NOT EXISTS verification_medias (
|
||||
verification_id UUID REFERENCES user_verifications(id) ON DELETE CASCADE,
|
||||
media_id UUID REFERENCES medias(id) ON DELETE CASCADE,
|
||||
PRIMARY KEY (verification_id, media_id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_user_verifications_user_type
|
||||
ON user_verifications(user_id, verify_type)
|
||||
WHERE is_deleted = false;
|
||||
|
||||
CREATE INDEX idx_user_verifications_status
|
||||
ON user_verifications(status)
|
||||
WHERE is_deleted = false;
|
||||
|
||||
CREATE INDEX idx_user_verifications_status_created
|
||||
ON user_verifications(status, created_at DESC)
|
||||
WHERE is_deleted = false;
|
||||
WHERE is_deleted = false;
|
||||
|
||||
CREATE INDEX idx_verification_medias_media_id
|
||||
ON verification_medias(media_id);
|
||||
Reference in New Issue
Block a user