Merge branch 'ZynerOrg:main' into dev

This commit is contained in:
Axel Olausson Holtenäs 2022-10-23 19:36:54 +02:00 committed by GitHub
commit 8eeb3f86ce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 102 additions and 63 deletions

View file

@ -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' }}

View file

@ -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

View file

@ -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;

View file

@ -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,