Merge remote-tracking branch 'origin/main' into front-styles
This commit is contained in:
@@ -104,6 +104,8 @@ CREATE TABLE IF NOT EXISTS b2b_customers (
|
||||
email_verification_expires DATETIME(6) NULL,
|
||||
password_reset_token VARCHAR(255) NULL,
|
||||
password_reset_expires DATETIME(6) NULL,
|
||||
webdav_token VARCHAR(255) NULL,
|
||||
webdav_expires DATETIME(6) NULL,
|
||||
last_password_reset_request DATETIME(6) NULL,
|
||||
last_login_at DATETIME(6) NULL,
|
||||
lang_id INT NULL DEFAULT 2,
|
||||
@@ -119,6 +121,9 @@ ON b2b_customers (email);
|
||||
CREATE INDEX IF NOT EXISTS idx_customers_deleted_at
|
||||
ON b2b_customers (deleted_at);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_customers_webdav_token
|
||||
ON b2b_customers (webdav_token);
|
||||
|
||||
ALTER TABLE b2b_customers
|
||||
ADD CONSTRAINT fk_customer_role
|
||||
FOREIGN KEY (role_id) REFERENCES b2b_roles(id);
|
||||
@@ -146,6 +151,16 @@ CREATE TABLE IF NOT EXISTS b2b_carts_products (
|
||||
CREATE INDEX IF NOT EXISTS idx_carts_products_cart_id ON b2b_carts_products (cart_id);
|
||||
|
||||
|
||||
-- favorites
|
||||
CREATE TABLE IF NOT EXISTS b2b_favorites (
|
||||
user_id BIGINT UNSIGNED NOT NULL,
|
||||
product_id INT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (user_id, product_id),
|
||||
CONSTRAINT fk_favorites_customer FOREIGN KEY (user_id) REFERENCES b2b_customers(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT fk_favorites_product FOREIGN KEY (product_id) REFERENCES ps_product(id_product) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||
|
||||
|
||||
-- refresh_tokens
|
||||
CREATE TABLE IF NOT EXISTS b2b_refresh_tokens (
|
||||
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
@@ -205,6 +220,18 @@ ON `b2b_countries` (
|
||||
`ps_id_country` ASC
|
||||
);
|
||||
|
||||
-- addresses
|
||||
CREATE TABLE IF NOT EXISTS b2b_addresses (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL,
|
||||
b2b_customer_id BIGINT UNSIGNED NOT NULL,
|
||||
address_info TEXT NOT NULL,
|
||||
b2b_country_id BIGINT UNSIGNED NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT fk_b2b_addresses_b2b_customers FOREIGN KEY (b2b_customer_id) REFERENCES b2b_customers (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT fk_b2b_addresses_b2b_countries FOREIGN KEY (b2b_country_id) REFERENCES b2b_countries (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE = InnoDB;
|
||||
|
||||
|
||||
CREATE TABLE b2b_specific_price (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
|
||||
@@ -29,4 +29,17 @@ VALUES
|
||||
(3, '🇨🇿', 16, 2),
|
||||
(4, '🇩🇪', 1, 2);
|
||||
|
||||
INSERT INTO `b2b_permissions` (`id`, `name`) VALUES ('1', 'user.read.any');
|
||||
INSERT INTO `b2b_permissions` (`id`, `name`) VALUES ('2', 'user.write.any');
|
||||
INSERT INTO `b2b_permissions` (`id`, `name`) VALUES ('3', 'user.delete.any');
|
||||
INSERT INTO `b2b_permissions` (`id`, `name`) VALUES ('4', 'currency.write');
|
||||
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('2', '1');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('2', '2');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('2', '3');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('2', '4');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('3', '1');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('3', '2');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('3', '3');
|
||||
INSERT INTO `b2b_role_permissions` (`role_id`, `permission_id`) VALUES ('3', '4');
|
||||
-- +goose Down
|
||||
@@ -132,6 +132,12 @@ JSON_OBJECT(
|
||||
m.name,
|
||||
'category',
|
||||
cl.name,
|
||||
/* ================= FAVORITE ================= */
|
||||
'is_favorite',
|
||||
EXISTS(
|
||||
SELECT 1 FROM b2b_favorites f
|
||||
WHERE f.user_id = p_id_customer AND f.product_id = p_id_product
|
||||
),
|
||||
/* ================= IMAGE ================= */
|
||||
'cover_image',
|
||||
JSON_OBJECT(
|
||||
|
||||
Reference in New Issue
Block a user