Merge branch 'ZynerOrg:main' into dev
This commit is contained in:
commit
8eeb3f86ce
6 changed files with 102 additions and 63 deletions
28
.github/workflows/docker-image.yml
vendored
28
.github/workflows/docker-image.yml
vendored
|
@ -1,20 +1,24 @@
|
|||
name: Docker Image CI
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 10 * * *"
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- dev
|
||||
- "**"
|
||||
tags:
|
||||
- "v*.*.*"
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
|
||||
jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
-
|
||||
name: Checkout
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
-
|
||||
name: Docker meta
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
with:
|
||||
|
@ -30,20 +34,16 @@ jobs:
|
|||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
type=sha
|
||||
-
|
||||
name: Set up QEMU
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
-
|
||||
name: Set up Docker Buildx
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
-
|
||||
name: Login to Docker Hub
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
-
|
||||
name: Build and push
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v3
|
||||
with:
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
|
|
|
@ -22,4 +22,4 @@ COPY --from=builder /app/package*.json ./
|
|||
COPY --from=builder /app/dist ./dist
|
||||
COPY --from=builder /app/prisma ./prisma
|
||||
|
||||
CMD [ "npm", "run", "start:migrate:prod" ]
|
||||
CMD [ "npm", "run", "start:migrate:prod" ]
|
||||
|
|
|
@ -3,7 +3,7 @@ version: "3.7"
|
|||
services:
|
||||
app:
|
||||
container_name: app
|
||||
image: vermiumwastaken/xyter
|
||||
image: zyner/xyter:main
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
|
@ -18,6 +18,7 @@ services:
|
|||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Region/City
|
||||
- MYSQL_ROOT_PASSWORD=root
|
||||
- MYSQL_DATABASE=database
|
||||
- MYSQL_USER=username
|
||||
- MYSQL_PASSWORD=password
|
||||
|
|
|
@ -6,116 +6,153 @@ CREATE TABLE `Guild` (
|
|||
`embedColorError` VARCHAR(191) NOT NULL DEFAULT '#bb2124',
|
||||
`embedFooterText` VARCHAR(191) NOT NULL DEFAULT 'https://github.com/ZynerOrg/xyter',
|
||||
`embedFooterIcon` VARCHAR(191) NOT NULL DEFAULT 'https://github.com/ZynerOrg.png',
|
||||
`creditsEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`creditsEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`creditsRate` INTEGER NOT NULL DEFAULT 1,
|
||||
`creditsTimeout` INTEGER NOT NULL DEFAULT 5,
|
||||
`creditsWorkRate` INTEGER NOT NULL DEFAULT 25,
|
||||
`creditsWorkTimeout` INTEGER NOT NULL DEFAULT 86400,
|
||||
`creditsMinimumLength` INTEGER NOT NULL DEFAULT 5,
|
||||
`pointsEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`pointsEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`pointsRate` INTEGER NOT NULL DEFAULT 1,
|
||||
`pointsTimeout` INTEGER NOT NULL DEFAULT 5,
|
||||
`pointsMinimumLength` INTEGER NOT NULL DEFAULT 5,
|
||||
`reputationsEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`countersEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`reputationsEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`countersEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`apiCpggUrlIv` VARCHAR(191) NULL,
|
||||
`apiCpggUrlContent` VARCHAR(191) NULL,
|
||||
`apiCpggTokenIv` VARCHAR(191) NULL,
|
||||
`apiCpggTokenContent` VARCHAR(191) NULL,
|
||||
`auditsEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`auditsEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`auditsChannelId` VARCHAR(191) NULL,
|
||||
`shopRolesEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`shopRolesEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`shopRolesPricePerHour` INTEGER NOT NULL DEFAULT 5,
|
||||
`welcomeEnabled` BOOLEAN NOT NULL DEFAULT false,
|
||||
`welcomeEnabled` BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
`welcomeJoinChannelId` VARCHAR(191) NULL,
|
||||
`welcomeJoinChannelMessage` VARCHAR(191) NULL,
|
||||
`welcomeLeaveChannelId` VARCHAR(191) NULL,
|
||||
`welcomeLeaveChannelMessage` VARCHAR(191) NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `Guild_id_key`(`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
`createdAt` DATETIME (3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME (3) NOT NULL,
|
||||
UNIQUE INDEX `Guild_id_key` (`id`))
|
||||
DEFAULT CHARACTER
|
||||
SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
|
||||
CREATE TABLE `User` (
|
||||
`id` VARCHAR(191) NOT NULL,
|
||||
`reputationsEarned` INTEGER NOT NULL DEFAULT 0,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `User_id_key`(`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
`createdAt` DATETIME (3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME (3) NOT NULL,
|
||||
UNIQUE INDEX `User_id_key` (`id`))
|
||||
DEFAULT CHARACTER
|
||||
SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
|
||||
CREATE TABLE `GuildMember` (
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`guildId` VARCHAR(191) NOT NULL,
|
||||
`creditsEarned` INTEGER NOT NULL DEFAULT 0,
|
||||
`pointsEarned` INTEGER NOT NULL DEFAULT 0,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `GuildMember_userId_guildId_key`(`userId`, `guildId`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
`createdAt` DATETIME (3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME (3) NOT NULL,
|
||||
UNIQUE INDEX `GuildMember_userId_guildId_key` (`userId`, `guildId`))
|
||||
DEFAULT CHARACTER
|
||||
SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
|
||||
CREATE TABLE `GuildCounter` (
|
||||
`guildId` VARCHAR(191) NOT NULL,
|
||||
`channelId` VARCHAR(191) NOT NULL,
|
||||
`triggerWord` VARCHAR(191) NOT NULL,
|
||||
`count` INTEGER NOT NULL DEFAULT 0,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `GuildCounter_guildId_channelId_key`(`guildId`, `channelId`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
`createdAt` DATETIME (3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME (3) NOT NULL,
|
||||
UNIQUE INDEX `GuildCounter_guildId_channelId_key` (`guildId`, `channelId`))
|
||||
DEFAULT CHARACTER
|
||||
SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
|
||||
CREATE TABLE `Cooldown` (
|
||||
`guildId` VARCHAR(191) NOT NULL,
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`cooldown` INTEGER NOT NULL,
|
||||
`timeoutId` VARCHAR(191) NOT NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `Cooldown_guildId_userId_timeoutId_key`(`guildId`, `userId`, `timeoutId`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
`createdAt` DATETIME (3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME (3) NOT NULL,
|
||||
UNIQUE INDEX `Cooldown_guildId_userId_timeoutId_key` (`guildId`, `userId`, `timeoutId`))
|
||||
DEFAULT CHARACTER
|
||||
SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
|
||||
CREATE TABLE `GuildShopRoles` (
|
||||
`guildId` VARCHAR(191) NOT NULL,
|
||||
`roleId` VARCHAR(191) NOT NULL,
|
||||
`userId` VARCHAR(191) NOT NULL,
|
||||
`pricePerHour` INTEGER NOT NULL DEFAULT 5,
|
||||
`lastPayed` DATETIME(3) NOT NULL,
|
||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `GuildShopRoles_guildId_userId_roleId_key`(`guildId`, `userId`, `roleId`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
`lastPayed` DATETIME (3) NOT NULL,
|
||||
`createdAt` DATETIME (3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updatedAt` DATETIME (3) NOT NULL,
|
||||
UNIQUE INDEX `GuildShopRoles_guildId_userId_roleId_key` (`guildId`, `userId`, `roleId`))
|
||||
DEFAULT CHARACTER
|
||||
SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `GuildMember` ADD CONSTRAINT `GuildMember_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `GuildMember`
|
||||
ADD CONSTRAINT `GuildMember_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `GuildMember` ADD CONSTRAINT `GuildMember_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `GuildMember`
|
||||
ADD CONSTRAINT `GuildMember_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `GuildCounter` ADD CONSTRAINT `GuildCounter_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `GuildCounter`
|
||||
ADD CONSTRAINT `GuildCounter_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Cooldown` ADD CONSTRAINT `Cooldown_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `Cooldown`
|
||||
ADD CONSTRAINT `Cooldown_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `Cooldown` ADD CONSTRAINT `Cooldown_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `Cooldown`
|
||||
ADD CONSTRAINT `Cooldown_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `GuildShopRoles` ADD CONSTRAINT `GuildShopRoles_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `GuildShopRoles`
|
||||
ADD CONSTRAINT `GuildShopRoles_guildId_fkey` FOREIGN KEY (`guildId`) REFERENCES `Guild` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `GuildShopRoles` ADD CONSTRAINT `GuildShopRoles_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `GuildShopRoles`
|
||||
ADD CONSTRAINT `GuildShopRoles_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User` (`id`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
||||
-- AddForeignKey
|
||||
ALTER TABLE `GuildShopRoles` ADD CONSTRAINT `GuildShopRoles_userId_guildId_fkey` FOREIGN KEY (`userId`, `guildId`) REFERENCES `GuildMember`(`userId`, `guildId`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `GuildShopRoles`
|
||||
ADD CONSTRAINT `GuildShopRoles_userId_guildId_fkey` FOREIGN KEY (`userId`, `guildId`) REFERENCES `GuildMember` (`userId`, `guildId`) ON DELETE RESTRICT ON
|
||||
UPDATE
|
||||
CASCADE;
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
# Please do not edit this file manually
|
||||
# It should be added in your version-control system (i.e. Git)
|
||||
provider = "mysql"
|
||||
provider = "mysql"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { Guild, User } from "discord.js";
|
||||
import prisma from "../../handlers/database";
|
||||
|
||||
// Start an transaction between two users in a guild.
|
||||
export const transfer = async (
|
||||
guild: Guild,
|
||||
from: User,
|
||||
|
|
Loading…
Add table
Reference in a new issue