Compare commits

...

3 commits

Author SHA1 Message Date
818c527ab2 Update db:up yarn command
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
2023-05-17 18:46:46 +01:00
e6d3c3e3cd Create database folder in source 2023-05-17 18:45:27 +01:00
8291174170 Update deploy scripts 2023-05-17 18:39:50 +01:00
31 changed files with 77 additions and 55 deletions

24
.stage.env Normal file
View file

@ -0,0 +1,24 @@
# Security Warning! Do not commit this file to any VCS!
# This is a local file to speed up development process,
# so you don't have to change your environment variables.
#
# This is not applied to `.env.template`!
# Template files must be committed to the VCS, but must not contain
# any secret values.
BOT_TOKEN=
BOT_VER=3.1
BOT_AUTHOR=Vylpes
BOT_OWNERID=147392775707426816
BOT_CLIENTID=1016767908740857949
ABOUT_FUNDING=https://ko-fi.com/vylpes
ABOUT_REPO=https://gitea.vylpes.xyz/RabbitLabs/vylbot-app
DB_HOST=127.0.0.1
DB_PORT=3111
DB_NAME=vylbot
DB_AUTH_USER=stage
DB_AUTH_PASS=stage
DB_SYNC=false
DB_LOGGING=false

View file

@ -9,8 +9,8 @@
"build": "tsc", "build": "tsc",
"start": "node ./dist/vylbot", "start": "node ./dist/vylbot",
"test": "jest", "test": "jest",
"db:up": "typeorm migration:run", "db:up": "typeorm migration:run -d dist/database/dataSources/appDataSource.js",
"db:down": "typeorm migration:revert" "db:down": "typeorm migration:revert -d dist/database/dataSources/appDataSource.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View file

@ -13,7 +13,6 @@ cd ~/apps/vylbot/vylbot_prod \
&& (pm2 stop vylbot_prod || true) \ && (pm2 stop vylbot_prod || true) \
&& (pm2 delete vylbot_prod || true) \ && (pm2 delete vylbot_prod || true) \
&& cp .prod.env .env \ && cp .prod.env .env \
&& cp ormconfig.prod.json ormconfig.json \
&& yarn clean \ && yarn clean \
&& yarn install --frozen-lockfile \ && yarn install --frozen-lockfile \
&& yarn build \ && yarn build \

View file

@ -13,7 +13,6 @@ cd ~/apps/vylbot/vylbot_stage \
&& (pm2 stop vylbot_stage || true) \ && (pm2 stop vylbot_stage || true) \
&& (pm2 delete vylbot_stage || true) \ && (pm2 delete vylbot_stage || true) \
&& cp .stage.env .env \ && cp .stage.env .env \
&& cp ormconfig.stage.json ormconfig.json \
&& yarn clean \ && yarn clean \
&& yarn install --frozen-lockfile \ && yarn install --frozen-lockfile \
&& yarn build \ && yarn build \

View file

@ -8,7 +8,7 @@ import { Command } from "../type/command";
import { Events } from "./events"; import { Events } from "./events";
import { Util } from "./util"; import { Util } from "./util";
import AppDataSource from "../database/appDataSource"; import AppDataSource from "../database/dataSources/appDataSource";
export class CoreClient extends Client { export class CoreClient extends Client {
private static _commandItems: ICommandItem[]; private static _commandItems: ICommandItem[];

View file

@ -1,6 +1,6 @@
import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import { Command } from "../../../type/command"; import { Command } from "../../../type/command";
import { default as eLobby } from "../../../entity/501231711271780357/Lobby"; import { default as eLobby } from "../../../database/entities/501231711271780357/Lobby";
export default class AddRole extends Command { export default class AddRole extends Command {
constructor() { constructor() {

View file

@ -1,6 +1,6 @@
import { CacheType, CommandInteraction, EmbedBuilder, GuildBasedChannel, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CacheType, CommandInteraction, EmbedBuilder, GuildBasedChannel, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import { Command } from "../../../type/command"; import { Command } from "../../../type/command";
import { default as eLobby } from "../../../entity/501231711271780357/Lobby"; import { default as eLobby } from "../../../database/entities/501231711271780357/Lobby";
import EmbedColours from "../../../constants/EmbedColours"; import EmbedColours from "../../../constants/EmbedColours";
export default class ListLobby extends Command { export default class ListLobby extends Command {

View file

@ -1,6 +1,6 @@
import { CommandInteraction, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, SlashCommandBuilder } from "discord.js";
import { Command } from "../../../type/command"; import { Command } from "../../../type/command";
import { default as eLobby } from "../../../entity/501231711271780357/Lobby"; import { default as eLobby } from "../../../database/entities/501231711271780357/Lobby";
export default class Lobby extends Command { export default class Lobby extends Command {
constructor() { constructor() {

View file

@ -1,6 +1,6 @@
import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import { Command } from "../../../type/command"; import { Command } from "../../../type/command";
import { default as eLobby } from "../../../entity/501231711271780357/Lobby"; import { default as eLobby } from "../../../database/entities/501231711271780357/Lobby";
import BaseEntity from "../../../contracts/BaseEntity"; import BaseEntity from "../../../contracts/BaseEntity";
export default class RemoveLobby extends Command { export default class RemoveLobby extends Command {

View file

@ -1,7 +1,7 @@
import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import { Command } from "../../type/command"; import { Command } from "../../type/command";
import { default as eRole } from "../../entity/Role"; import { default as eRole } from "../../database/entities/Role";
import Server from "../../entity/Server"; import Server from "../../database/entities/Server";
export default class ConfigRole extends Command { export default class ConfigRole extends Command {
constructor() { constructor() {

View file

@ -1,6 +1,6 @@
import { CommandInteraction, EmbedBuilder, GuildMemberRoleManager, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, EmbedBuilder, GuildMemberRoleManager, SlashCommandBuilder } from "discord.js";
import { Command } from "../../type/command"; import { Command } from "../../type/command";
import { default as eRole } from "../../entity/Role"; import { default as eRole } from "../../database/entities/Role";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
export default class Role extends Command { export default class Role extends Command {

View file

@ -1,4 +1,4 @@
import Audit from "../entity/Audit"; import Audit from "../database/entities/Audit";
import AuditTools from "../helpers/AuditTools"; import AuditTools from "../helpers/AuditTools";
import { Command } from "../type/command"; import { Command } from "../type/command";
import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder } from "discord.js";

View file

@ -1,5 +1,5 @@
import { Command } from "../type/command"; import { Command } from "../type/command";
import Audit from "../entity/Audit"; import Audit from "../database/entities/Audit";
import { AuditType } from "../constants/AuditType"; import { AuditType } from "../constants/AuditType";
import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js"; import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import EmbedColours from "../constants/EmbedColours"; import EmbedColours from "../constants/EmbedColours";

View file

@ -2,8 +2,8 @@ import { CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuil
import { readFileSync } from "fs"; import { readFileSync } from "fs";
import DefaultValues from "../constants/DefaultValues"; import DefaultValues from "../constants/DefaultValues";
import EmbedColours from "../constants/EmbedColours"; import EmbedColours from "../constants/EmbedColours";
import Server from "../entity/Server"; import Server from "../database/entities/Server";
import Setting from "../entity/Setting"; import Setting from "../database/entities/Setting";
import { Command } from "../type/command"; import { Command } from "../type/command";
export default class Config extends Command { export default class Config extends Command {

View file

@ -1,5 +1,5 @@
import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import IgnoredChannel from "../entity/IgnoredChannel"; import IgnoredChannel from "../database/entities/IgnoredChannel";
import { Command } from "../type/command"; import { Command } from "../type/command";
export default class Ignore extends Command { export default class Ignore extends Command {

View file

@ -1,5 +1,5 @@
import { Command } from "../type/command"; import { Command } from "../type/command";
import Audit from "../entity/Audit"; import Audit from "../database/entities/Audit";
import { AuditType } from "../constants/AuditType"; import { AuditType } from "../constants/AuditType";
import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js"; import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import EmbedColours from "../constants/EmbedColours"; import EmbedColours from "../constants/EmbedColours";

View file

@ -1,7 +1,7 @@
import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js"; import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import { AuditType } from "../constants/AuditType"; import { AuditType } from "../constants/AuditType";
import EmbedColours from "../constants/EmbedColours"; import EmbedColours from "../constants/EmbedColours";
import Audit from "../entity/Audit"; import Audit from "../database/entities/Audit";
import SettingsHelper from "../helpers/SettingsHelper"; import SettingsHelper from "../helpers/SettingsHelper";
import { Command } from "../type/command"; import { Command } from "../type/command";

View file

@ -1,5 +1,5 @@
import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js"; import { CommandInteraction, PermissionsBitField, SlashCommandBuilder } from "discord.js";
import Server from "../entity/Server"; import Server from "../database/entities/Server";
import { Command } from "../type/command"; import { Command } from "../type/command";
export default class Setup extends Command { export default class Setup extends Command {

View file

@ -1,7 +1,7 @@
import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js"; import { CommandInteraction, EmbedBuilder, GuildMember, PermissionsBitField, SlashCommandBuilder, TextChannel } from "discord.js";
import { AuditType } from "../constants/AuditType"; import { AuditType } from "../constants/AuditType";
import EmbedColours from "../constants/EmbedColours"; import EmbedColours from "../constants/EmbedColours";
import Audit from "../entity/Audit"; import Audit from "../database/entities/Audit";
import SettingsHelper from "../helpers/SettingsHelper"; import SettingsHelper from "../helpers/SettingsHelper";
import { Command } from "../type/command"; import { Command } from "../type/command";

View file

@ -1,6 +1,6 @@
import { Column, DeepPartial, EntityTarget, PrimaryColumn, ObjectLiteral, FindOptionsWhere } from "typeorm"; import { Column, DeepPartial, EntityTarget, PrimaryColumn, ObjectLiteral, FindOptionsWhere } from "typeorm";
import { v4 } from "uuid"; import { v4 } from "uuid";
import AppDataSource from "../database/appDataSource"; import AppDataSource from "../database/dataSources/appDataSource";
export default class BaseEntity { export default class BaseEntity {
constructor() { constructor() {

View file

@ -13,13 +13,13 @@ const AppDataSource = new DataSource({
synchronize: process.env.DB_SYNC == "true", synchronize: process.env.DB_SYNC == "true",
logging: process.env.DB_LOGGING == "true", logging: process.env.DB_LOGGING == "true",
entities: [ entities: [
"dist/entity/**/*.js", "dist/database/entities/**/*.js",
], ],
migrations: [ migrations: [
"dist/mirgration/**/*.js", "dist/database/migrations/**/*.js",
], ],
subscribers: [ subscribers: [
"dist/subscriber/**/*.js", "dist/database/subscribers/**/*.js",
], ],
}); });

View file

@ -1,6 +1,6 @@
import { Column, Entity } from "typeorm"; import { Column, Entity } from "typeorm";
import BaseEntity from "../../contracts/BaseEntity"; import BaseEntity from "../../../contracts/BaseEntity";
import AppDataSource from "../../database/appDataSource"; import AppDataSource from "../../dataSources/appDataSource";
@Entity() @Entity()
export default class Lobby extends BaseEntity { export default class Lobby extends BaseEntity {

View file

@ -1,8 +1,8 @@
import { Column, Entity } from "typeorm"; import { Column, Entity } from "typeorm";
import { AuditType } from "../constants/AuditType"; import { AuditType } from "../../constants/AuditType";
import BaseEntity from "../contracts/BaseEntity"; import BaseEntity from "../../contracts/BaseEntity";
import StringTools from "../helpers/StringTools"; import StringTools from "../../helpers/StringTools";
import AppDataSource from "../database/appDataSource"; import AppDataSource from "../dataSources/appDataSource";
@Entity() @Entity()
export default class Audit extends BaseEntity { export default class Audit extends BaseEntity {

View file

@ -1,6 +1,6 @@
import { Entity } from "typeorm"; import { Entity } from "typeorm";
import BaseEntity from "../contracts/BaseEntity"; import BaseEntity from "../../contracts/BaseEntity";
import AppDataSource from "../database/appDataSource"; import AppDataSource from "../dataSources/appDataSource";
@Entity() @Entity()
export default class IgnoredChannel extends BaseEntity { export default class IgnoredChannel extends BaseEntity {

View file

@ -1,7 +1,7 @@
import { Column, Entity, ManyToOne } from "typeorm"; import { Column, Entity, ManyToOne } from "typeorm";
import BaseEntity from "../contracts/BaseEntity" import BaseEntity from "../../contracts/BaseEntity"
import Server from "./Server"; import Server from "./Server";
import AppDataSource from "../database/appDataSource"; import AppDataSource from "../dataSources/appDataSource";
@Entity() @Entity()
export default class Role extends BaseEntity { export default class Role extends BaseEntity {

View file

@ -1,5 +1,5 @@
import { Entity, OneToMany } from "typeorm"; import { Entity, OneToMany } from "typeorm";
import BaseEntity from "../contracts/BaseEntity"; import BaseEntity from "../../contracts/BaseEntity";
import Role from "./Role"; import Role from "./Role";
import Setting from "./Setting"; import Setting from "./Setting";

View file

@ -1,7 +1,7 @@
import { Column, Entity, ManyToOne } from "typeorm"; import { Column, Entity, ManyToOne } from "typeorm";
import BaseEntity from "../contracts/BaseEntity"; import BaseEntity from "../../contracts/BaseEntity";
import Server from "./Server"; import Server from "./Server";
import AppDataSource from "../database/appDataSource"; import AppDataSource from "../dataSources/appDataSource";
@Entity() @Entity()
export default class Setting extends BaseEntity { export default class Setting extends BaseEntity {

View file

@ -1,5 +1,5 @@
import { MigrationInterface, QueryRunner } from "typeorm" import { MigrationInterface, QueryRunner } from "typeorm"
import MigrationHelper from "../../helpers/MigrationHelper" import MigrationHelper from "../../../helpers/MigrationHelper"
export class vylbot1662399171315 implements MigrationInterface { export class vylbot1662399171315 implements MigrationInterface {

View file

@ -1,6 +1,6 @@
import { EmbedBuilder, Message, TextChannel } from "discord.js"; import { EmbedBuilder, Message, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import IgnoredChannel from "../../entity/IgnoredChannel"; import IgnoredChannel from "../../database/entities/IgnoredChannel";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
export default async function MessageDelete(message: Message) { export default async function MessageDelete(message: Message) {

View file

@ -1,6 +1,6 @@
import { EmbedBuilder, Message, TextChannel } from "discord.js"; import { EmbedBuilder, Message, TextChannel } from "discord.js";
import EmbedColours from "../../constants/EmbedColours"; import EmbedColours from "../../constants/EmbedColours";
import IgnoredChannel from "../../entity/IgnoredChannel"; import IgnoredChannel from "../../database/entities/IgnoredChannel";
import SettingsHelper from "../../helpers/SettingsHelper"; import SettingsHelper from "../../helpers/SettingsHelper";
export default async function MessageUpdate(oldMessage: Message, newMessage: Message) { export default async function MessageUpdate(oldMessage: Message, newMessage: Message) {

View file

@ -1,6 +1,6 @@
import DefaultValues from "../constants/DefaultValues"; import DefaultValues from "../constants/DefaultValues";
import Server from "../entity/Server"; import Server from "../database/entities/Server";
import Setting from "../entity/Setting"; import Setting from "../database/entities/Setting";
export default class SettingsHelper { export default class SettingsHelper {
public static async GetSetting(key: string, serverId: string): Promise<string | undefined> { public static async GetSetting(key: string, serverId: string): Promise<string | undefined> {