2025-01-17 19:44:36 +05:00

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;