hotfix/db-race #23
							
								
								
									
										13
									
								
								Changelog.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								Changelog.md
									
									
									
									
									
								
							@@ -2,7 +2,18 @@
 | 
			
		||||
 | 
			
		||||
This file is used to list changes made to this software.
 | 
			
		||||
 | 
			
		||||
_Current development release: 1.1.0_
 | 
			
		||||
_Current development release: 1.1.1_
 | 
			
		||||
 | 
			
		||||
## V1.1.1 [2023-09-16]
 | 
			
		||||
 | 
			
		||||
### Updates
 | 
			
		||||
- Updated packages to latest versions
 | 
			
		||||
 | 
			
		||||
### Bugfixes
 | 
			
		||||
- Fixed a bug where the bot would crash on startup if the database connection establishment took too long
 | 
			
		||||
 | 
			
		||||
### Other
 | 
			
		||||
- Renamed db service in docker compose file from database to db
 | 
			
		||||
 | 
			
		||||
## V1.1.0 [2022-11-29]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ services:
 | 
			
		||||
    tty: true
 | 
			
		||||
    stdin_open: true
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - database
 | 
			
		||||
      - db
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    environment:
 | 
			
		||||
      - TOKEN=$TOKEN
 | 
			
		||||
@@ -16,7 +16,7 @@ services:
 | 
			
		||||
      - DB_USERNAME=$DB_USERNAME
 | 
			
		||||
      - DB_PASSWORD=$DB_PASSWORD
 | 
			
		||||
      - DB_DATABASE=$DB_DATABASE
 | 
			
		||||
  database:
 | 
			
		||||
  db:
 | 
			
		||||
    image: postgres:latest
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1069
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										1069
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										24
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								package.json
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "eu.astrogd.white-leopard",
 | 
			
		||||
  "version": "1.1.0",
 | 
			
		||||
  "version": "1.1.1",
 | 
			
		||||
  "description": "A Discord bot that checks channel names for blacklisted words and reverts the changes if necessary",
 | 
			
		||||
  "main": "build/index.js",
 | 
			
		||||
  "scripts": {
 | 
			
		||||
@@ -11,12 +11,12 @@
 | 
			
		||||
    "deploy-commands:prod": "ts-node ci/deploy.ts",
 | 
			
		||||
    "deploy:dev": "npm run build && npm run deploy-commands:dev && docker compose build && docker compose up -d",
 | 
			
		||||
    "deploy:prod": "rimraf build && npm run build && npm run deploy-commands:prod && docker build -t astrogd/white-leopard:latest . && docker push astrogd/white-leopard:latest",
 | 
			
		||||
    "start": "npm run build && npm run deploy-commands:dev && docker-compose up --no-start && docker compose start database && node --enable-source-maps .",
 | 
			
		||||
    "migration:create": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:generate -d src/data/dataSource.ts -p src/data/migrations/data",
 | 
			
		||||
    "migration:run": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:run -d src/data/dataSource.ts",
 | 
			
		||||
    "migration:revert": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:revert -d src/data/dataSource.ts",
 | 
			
		||||
    "migration:show": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:show -d src/data/dataSource.ts",
 | 
			
		||||
    "migration:check": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:generate --check -d src/data/dataSource.ts src/data/migrations/data"
 | 
			
		||||
    "start": "npm run build && npm run deploy-commands:dev && docker-compose up -d db && node --enable-source-maps .",
 | 
			
		||||
    "migration:create": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:generate -d src/data/dataSource.migration.ts -p src/data/migrations/data",
 | 
			
		||||
    "migration:run": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:run -d src/data/dataSource.migration.ts",
 | 
			
		||||
    "migration:revert": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:revert -d src/data/dataSource.migration.ts",
 | 
			
		||||
    "migration:show": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:show -d src/data/dataSource.migration.ts",
 | 
			
		||||
    "migration:check": "node --require ts-node/register ./node_modules/typeorm/cli.js migration:generate --check -d src/data/dataSource.migration.ts src/data/migrations/data"
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
@@ -30,15 +30,15 @@
 | 
			
		||||
  "homepage": "https://github.com/r-Overwatch2/eu.astrogd.white-leopard#readme",
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@types/express": "^4.17.14",
 | 
			
		||||
    "@types/fs-extra": "^9.0.13",
 | 
			
		||||
    "@types/node": "^18.11.9",
 | 
			
		||||
    "rimraf": "^3.0.2",
 | 
			
		||||
    "@types/fs-extra": "^11.0.2",
 | 
			
		||||
    "@types/node": "^18.17.17",
 | 
			
		||||
    "rimraf": "^5.0.1",
 | 
			
		||||
    "shx": "^0.3.4",
 | 
			
		||||
    "ts-node": "^10.9.1",
 | 
			
		||||
    "typescript": "^4.9.3"
 | 
			
		||||
    "typescript": "^5.2.2"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "discord.js": "^14.6.0",
 | 
			
		||||
    "discord.js": "^14.13.0",
 | 
			
		||||
    "dotenv": "^16.0.3",
 | 
			
		||||
    "express": "^4.18.2",
 | 
			
		||||
    "fs-extra": "^11.0.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,21 @@
 | 
			
		||||
import { runCleanup } from "../service";
 | 
			
		||||
import client from "./index";
 | 
			
		||||
import { initPromise } from "../data/dataSource";
 | 
			
		||||
 | 
			
		||||
const token = process.env["TOKEN"];
 | 
			
		||||
if (!token) throw new ReferenceError("TOKEN environment variable is missing");
 | 
			
		||||
 | 
			
		||||
client.login(token);
 | 
			
		||||
async function run() {
 | 
			
		||||
    console.log("Establishing database connection");
 | 
			
		||||
    await initPromise;
 | 
			
		||||
    console.log("Connection established\nAuthenticating with Discord API");
 | 
			
		||||
    client.login(token);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
client.on("ready", () => {
 | 
			
		||||
client.on("ready", async () => {
 | 
			
		||||
    console.log(`Connected to Discord API. Bot account is ${client.user?.tag} (${client.user?.id})`);
 | 
			
		||||
 | 
			
		||||
    runCleanup();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
run();
 | 
			
		||||
							
								
								
									
										3
									
								
								src/data/dataSource.migration.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								src/data/dataSource.migration.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
import dataSource from "./dataSource";
 | 
			
		||||
 | 
			
		||||
export default dataSource;
 | 
			
		||||
@@ -28,6 +28,9 @@ const dataSource = new DataSource({
 | 
			
		||||
    migrationsTransactionMode: "each"
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
dataSource.initialize();
 | 
			
		||||
const initPromise = dataSource.initialize();
 | 
			
		||||
 | 
			
		||||
export default dataSource;
 | 
			
		||||
export {
 | 
			
		||||
    initPromise
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user