- Added SequelizeProformaV2RecipientDomainMapper for mapping recipient data to domain model. - Introduced SequelizeProformaV2TaxesDomainMapper for handling tax data mapping. - Created SequelizeProformaV2RecipientSummaryMapper for summarizing recipient information. - Developed SequelizeProformaV2SummaryMapper for mapping Proforma summary data. - Implemented SequelizeProformaRepositoryV2 for managing Proforma data persistence. - Added SequelizeProformaV2NumberGenerator for generating Proforma numbers.
47 lines
2.6 KiB
SQL
47 lines
2.6 KiB
SQL
CREATE TABLE `identity_accounts` (
|
|
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`email` varchar(255) NOT NULL,
|
|
`password_hash` varchar(512) NOT NULL,
|
|
`name` varchar(255) NOT NULL,
|
|
`avatar_url` varchar(255) DEFAULT NULL,
|
|
`language_code` varchar(2) NOT NULL,
|
|
`status` varchar(255) NOT NULL,
|
|
`created_at` datetime NOT NULL,
|
|
`updated_at` datetime NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_identity_accounts_email` (`email`),
|
|
KEY `idx_identity_accounts_status` (`status`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `identity_company_memberships` (
|
|
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`account_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`company_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`status` varchar(255) NOT NULL,
|
|
`created_at` datetime NOT NULL,
|
|
`updated_at` datetime NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_identity_company_memberships_account_company` (`account_id`, `company_id`),
|
|
KEY `idx_identity_company_memberships_account_id` (`account_id`),
|
|
KEY `idx_identity_company_memberships_company_id` (`company_id`),
|
|
KEY `idx_identity_company_memberships_status` (`status`),
|
|
CONSTRAINT `identity_company_memberships_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `identity_accounts` (`id`)
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci;
|
|
|
|
CREATE TABLE `identity_refresh_tokens` (
|
|
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`account_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL,
|
|
`token_hash` varchar(512) NOT NULL,
|
|
`expires_at` datetime NOT NULL,
|
|
`revoked_at` datetime DEFAULT NULL,
|
|
`replaced_by_token_id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
|
|
`created_at` datetime NOT NULL,
|
|
PRIMARY KEY (`id`),
|
|
UNIQUE KEY `uq_identity_refresh_tokens_hash` (`token_hash`),
|
|
KEY `idx_identity_refresh_tokens_account_id` (`account_id`),
|
|
KEY `idx_identity_refresh_tokens_expires_at` (`expires_at`),
|
|
KEY `idx_identity_refresh_tokens_revoked_at` (`revoked_at`),
|
|
KEY `replaced_by_token_id` (`replaced_by_token_id`),
|
|
CONSTRAINT `identity_refresh_tokens_ibfk_285` FOREIGN KEY (`account_id`) REFERENCES `identity_accounts` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
CONSTRAINT `identity_refresh_tokens_ibfk_286` FOREIGN KEY (`replaced_by_token_id`) REFERENCES `identity_refresh_tokens` (`id`) ON DELETE SET NULL ON UPDATE CASCADE
|
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci; |