224 lines
8.2 KiB
SQL
224 lines
8.2 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `User` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`steamName` LONGTEXT NOT NULL,
|
|
`steamID` VARCHAR(191) NOT NULL,
|
|
`email` VARCHAR(191) NULL,
|
|
`steamAvatar` LONGTEXT NOT NULL,
|
|
`mainBalance` INTEGER NOT NULL,
|
|
`bonusBalance` INTEGER NOT NULL DEFAULT 0,
|
|
`firstDateAuth` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`lvl` INTEGER NOT NULL DEFAULT 1,
|
|
`experience` INTEGER NOT NULL DEFAULT 0,
|
|
`sumOfDeposits` INTEGER NOT NULL DEFAULT 0,
|
|
`sumOfRefunds` INTEGER NOT NULL DEFAULT 0,
|
|
`discordLink` LONGTEXT NULL,
|
|
`VKLink` LONGTEXT NULL,
|
|
`TGLink` LONGTEXT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`lastActivity` DATETIME(3) NULL,
|
|
`role` ENUM('CLIENT', 'ADMINISTRATOR') NOT NULL DEFAULT 'CLIENT',
|
|
|
|
UNIQUE INDEX `User_steamID_key`(`steamID`),
|
|
UNIQUE INDEX `User_email_key`(`email`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Transaction` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`userId` INTEGER NULL,
|
|
`method` LONGTEXT NOT NULL,
|
|
`amount` INTEGER NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`status` ENUM('SUCCESS', 'FALSE', 'DENIED') NOT NULL DEFAULT 'FALSE',
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Purchase` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`userId` INTEGER NULL,
|
|
`amount` INTEGER NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`lostMainBalance` INTEGER NOT NULL,
|
|
`lostBonusBalance` INTEGER NOT NULL,
|
|
`refund` BOOLEAN NOT NULL,
|
|
`productId` INTEGER NOT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Transfers` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`senderId` INTEGER NOT NULL,
|
|
`receiverId` INTEGER NOT NULL,
|
|
`amount` INTEGER NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Inventory` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`amount` INTEGER NOT NULL,
|
|
`status` ENUM('INVENTORY', 'ON_SERVER') NOT NULL DEFAULT 'INVENTORY',
|
|
`dateOfReceive` DATETIME(3) NULL,
|
|
`historyOfPurchaseId` INTEGER NOT NULL,
|
|
`userId` INTEGER NOT NULL,
|
|
`serverTypeId` INTEGER NOT NULL,
|
|
`serverId` INTEGER NOT NULL,
|
|
`serverName` LONGTEXT NULL,
|
|
`productId` INTEGER NOT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `ServerType` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`name` LONGTEXT NOT NULL,
|
|
`description` LONGTEXT NOT NULL,
|
|
`number` INTEGER NOT NULL,
|
|
`hidden` BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Server` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`serverTypeId` INTEGER NOT NULL,
|
|
`IP` LONGTEXT NOT NULL,
|
|
`port` LONGTEXT NOT NULL,
|
|
`apiKey` LONGTEXT NOT NULL,
|
|
`name` VARCHAR(191) NOT NULL DEFAULT 'SERVER',
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Product` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`name` LONGTEXT NOT NULL,
|
|
`description` LONGTEXT NULL,
|
|
`image` LONGTEXT NULL,
|
|
`type` ENUM('GAME_ITEM', 'SERVICE', 'SETS_OF_PRODUCTS', 'HTTP_REQUEST', 'CURRENCY', 'CARDS') NOT NULL DEFAULT 'GAME_ITEM',
|
|
`productContent` JSON NULL,
|
|
`serverTypeId` INTEGER NULL,
|
|
`amount` INTEGER NOT NULL DEFAULT 1,
|
|
`isChangeAmount` BOOLEAN NOT NULL DEFAULT false,
|
|
`price` INTEGER NOT NULL,
|
|
`discount` INTEGER NULL,
|
|
`saleDiscount` INTEGER NULL,
|
|
`saleDeadline` DATETIME(3) NULL,
|
|
`maxCountOfSale` INTEGER NULL,
|
|
`hidden` BOOLEAN NOT NULL DEFAULT false,
|
|
`number` INTEGER NULL,
|
|
`autoactivation` BOOLEAN NOT NULL DEFAULT false,
|
|
`isBackground` BOOLEAN NOT NULL DEFAULT false,
|
|
`previewImage` VARCHAR(191) NULL,
|
|
`blockSize` INTEGER NOT NULL DEFAULT 1,
|
|
`label` INTEGER NOT NULL DEFAULT 1,
|
|
`isBackgroundImage` BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Promocodes` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`name` LONGTEXT NOT NULL,
|
|
`countOfActivation` INTEGER NOT NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`startDate` DATETIME(3) NOT NULL,
|
|
`endDate` DATETIME(3) NOT NULL,
|
|
`discountAmount` INTEGER NULL,
|
|
`depositBonus` INTEGER NULL,
|
|
`plusBonusBalance` INTEGER NULL,
|
|
`limitActivation` INTEGER NOT NULL,
|
|
`groupId` LONGTEXT NOT NULL,
|
|
`itemSet` LONGTEXT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `baseSettings` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`header` LONGTEXT NOT NULL,
|
|
`saleMode` BOOLEAN NOT NULL DEFAULT false,
|
|
`startBalance` INTEGER NOT NULL,
|
|
`mainPage` LONGTEXT NOT NULL,
|
|
`apiKey` LONGTEXT NOT NULL,
|
|
`IPWhiteList` LONGTEXT NOT NULL,
|
|
`panelURLs` JSON NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `urlSettings` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`icon` LONGTEXT NOT NULL,
|
|
`text` LONGTEXT NOT NULL,
|
|
`typeUrl` ENUM('SITE_SECTION', 'CUSTOM_PAGE', 'EXTERNAL_LINK', 'DROPDOWN_LIST') NOT NULL,
|
|
`url` LONGTEXT NOT NULL,
|
|
`hidden` BOOLEAN NOT NULL DEFAULT false,
|
|
`name` LONGTEXT NULL,
|
|
`sections` LONGTEXT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `Token` (
|
|
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
`token` LONGTEXT NOT NULL,
|
|
`userId` INTEGER NOT NULL,
|
|
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Transaction` ADD CONSTRAINT `Transaction_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Purchase` ADD CONSTRAINT `Purchase_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Purchase` ADD CONSTRAINT `Purchase_productId_fkey` FOREIGN KEY (`productId`) REFERENCES `Product`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Transfers` ADD CONSTRAINT `Transfers_senderId_fkey` FOREIGN KEY (`senderId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Transfers` ADD CONSTRAINT `Transfers_receiverId_fkey` FOREIGN KEY (`receiverId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Inventory` ADD CONSTRAINT `Inventory_historyOfPurchaseId_fkey` FOREIGN KEY (`historyOfPurchaseId`) REFERENCES `Purchase`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Inventory` ADD CONSTRAINT `Inventory_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Inventory` ADD CONSTRAINT `Inventory_serverTypeId_fkey` FOREIGN KEY (`serverTypeId`) REFERENCES `ServerType`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Inventory` ADD CONSTRAINT `Inventory_serverId_fkey` FOREIGN KEY (`serverId`) REFERENCES `Server`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Inventory` ADD CONSTRAINT `Inventory_productId_fkey` FOREIGN KEY (`productId`) REFERENCES `Product`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Server` ADD CONSTRAINT `Server_serverTypeId_fkey` FOREIGN KEY (`serverTypeId`) REFERENCES `ServerType`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Product` ADD CONSTRAINT `Product_serverTypeId_fkey` FOREIGN KEY (`serverTypeId`) REFERENCES `ServerType`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `Token` ADD CONSTRAINT `Token_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|