label models

This commit is contained in:
nquidox 2026-03-11 20:33:50 +03:00
parent e503f67bc9
commit 40e441cb34
2 changed files with 45 additions and 3 deletions

View file

@ -50,3 +50,21 @@ type taskData struct {
OriginName string OriginName string
Url string Url string
} }
type Label struct {
Id int64
CreatedAt time.Time
UpdatedAt sql.NullTime
DeletedAt sql.NullTime
UserId int64
Uuid string
Name string
Color string
BgColor string
}
type CardLabel struct {
LabelUuid string
UserUuid string
MerchUuid string
}

View file

@ -13,7 +13,7 @@ CREATE TABLE merch (
deleted_at TIMESTAMP WITH TIME ZONE NULL, deleted_at TIMESTAMP WITH TIME ZONE NULL,
merch_uuid VARCHAR(36) NOT NULL UNIQUE, merch_uuid VARCHAR(36) NOT NULL UNIQUE,
user_id BIGINT NOT NULL, user_id BIGINT NOT NULL,
name VARCHAR(255) NULL, name TEXT NULL,
CONSTRAINT fk_merch_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE CONSTRAINT fk_merch_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
); );
@ -24,7 +24,7 @@ CREATE TABLE merch_origins (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL, created_at TIMESTAMP WITH TIME ZONE NOT NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL, deleted_at TIMESTAMP WITH TIME ZONE NULL,
name VARCHAR(255) NULL name TEXT NULL
); );
CREATE TABLE merch_prices ( CREATE TABLE merch_prices (
@ -56,4 +56,28 @@ CREATE TABLE merch_extra_data (
); );
CREATE UNIQUE INDEX idx_merch_extra_data_merch_origin_id ON merch_extra_data (merch_id, origin_id); CREATE UNIQUE INDEX idx_merch_extra_data_merch_origin_id ON merch_extra_data (merch_id, origin_id);
CREATE TABLE labels (
id BIGSERIAL PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
updated_at TIMESTAMP WITH TIME ZONE NULL,
deleted_at TIMESTAMP WITH TIME ZONE NULL,
user_id BIGINT NOT NULL,
uuid VARCHAR(36) NOT NULL UNIQUE,
name TEXT NULL,
color VARCHAR(50),
bg_color VARCHAR(50),
CONSTRAINT fk_labels_users_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
CREATE TABLE card_labels (
user_id BIGINT NOT NULL,
label_id BIGINT NOT NULL,
merch_id BIGINT NOT NULL,
CONSTRAINT fk_card_labels_users_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
CONSTRAINT fk_card_labels_labels_label_id FOREIGN KEY (label_id) REFERENCES labels(id) ON DELETE CASCADE,
CONSTRAINT fk_card_labels_merch_merch_id FOREIGN KEY (merch_id) REFERENCES merch(id) ON DELETE CASCADE
);