@exulu/backend 1.6.0 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -4
- package/dist/index.cjs +38 -1
- package/dist/index.js +38 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
## [1.6.1](https://github.com/Qventu/exulu-backend/compare/v1.6.0...v1.6.1) (2025-08-04)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
###
|
|
4
|
+
### Bug Fixes
|
|
5
5
|
|
|
6
|
-
*
|
|
7
|
-
* make email provider in next auth optional ([d38e790](https://github.com/Qventu/exulu-backend/commit/d38e7900e973007596f66391dae3d4ca643432c4))
|
|
6
|
+
* check if exulu db exists when connecting ([4eb22de](https://github.com/Qventu/exulu-backend/commit/4eb22deba17e28a279b70727a66b7cca16cfd6cc))
|
|
8
7
|
|
|
9
8
|
# [1.1.0](https://github.com/Qventu/exulu-backend/compare/v1.0.1...v1.1.0) (2025-07-30)
|
|
10
9
|
|
package/dist/index.cjs
CHANGED
|
@@ -143,6 +143,36 @@ var import_knex = __toESM(require("knex"), 1);
|
|
|
143
143
|
var import_knex2 = require("knex");
|
|
144
144
|
var import_knex3 = require("pgvector/knex");
|
|
145
145
|
var db = {};
|
|
146
|
+
var databaseExistsChecked = false;
|
|
147
|
+
async function ensureDatabaseExists() {
|
|
148
|
+
console.log("[EXULU] Ensuring exulu database exists...");
|
|
149
|
+
const defaultKnex = (0, import_knex.default)({
|
|
150
|
+
client: "pg",
|
|
151
|
+
connection: {
|
|
152
|
+
host: process.env.POSTGRES_DB_HOST,
|
|
153
|
+
port: parseInt(process.env.POSTGRES_DB_PORT || "5432"),
|
|
154
|
+
user: process.env.POSTGRES_DB_USER,
|
|
155
|
+
database: "postgres",
|
|
156
|
+
// Connect to default database
|
|
157
|
+
password: process.env.POSTGRES_DB_PASSWORD,
|
|
158
|
+
ssl: process.env.POSTGRES_DB_SSL === "true" ? { rejectUnauthorized: false } : false
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
try {
|
|
162
|
+
const result = await defaultKnex.raw(`
|
|
163
|
+
SELECT 1 FROM pg_database WHERE datname = 'exulu'
|
|
164
|
+
`);
|
|
165
|
+
if (result.rows.length === 0) {
|
|
166
|
+
console.log("[EXULU] Database 'exulu' does not exist. Creating it...");
|
|
167
|
+
await defaultKnex.raw(`CREATE DATABASE exulu`);
|
|
168
|
+
console.log("[EXULU] Database 'exulu' created successfully.");
|
|
169
|
+
} else {
|
|
170
|
+
console.log("[EXULU] Database 'exulu' already exists.");
|
|
171
|
+
}
|
|
172
|
+
} finally {
|
|
173
|
+
await defaultKnex.destroy();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
146
176
|
async function postgresClient() {
|
|
147
177
|
if (!db["exulu"]) {
|
|
148
178
|
try {
|
|
@@ -152,6 +182,12 @@ async function postgresClient() {
|
|
|
152
182
|
console.log("[EXULU] POSTGRES_DB_USER:", process.env.POSTGRES_DB_USER);
|
|
153
183
|
console.log("[EXULU] POSTGRES_DB_PASSWORD:", process.env.POSTGRES_DB_PASSWORD);
|
|
154
184
|
console.log("[EXULU] POSTGRES_DB_SSL:", process.env.POSTGRES_DB_SSL);
|
|
185
|
+
console.log("[EXULU] Database exists checked:", databaseExistsChecked);
|
|
186
|
+
if (!databaseExistsChecked) {
|
|
187
|
+
console.log("[EXULU] Ensuring exulu database exists...");
|
|
188
|
+
await ensureDatabaseExists();
|
|
189
|
+
databaseExistsChecked = true;
|
|
190
|
+
}
|
|
155
191
|
const knex = (0, import_knex.default)({
|
|
156
192
|
client: "pg",
|
|
157
193
|
connection: {
|
|
@@ -2993,6 +3029,7 @@ var global_queues = {
|
|
|
2993
3029
|
logs_cleaner: "logs-cleaner"
|
|
2994
3030
|
};
|
|
2995
3031
|
var createRecurringJobs = async () => {
|
|
3032
|
+
console.log("[EXULU] creating recurring jobs.");
|
|
2996
3033
|
const recurringJobSchedulersLogs = [];
|
|
2997
3034
|
const queue = queues.use(global_queues.logs_cleaner);
|
|
2998
3035
|
recurringJobSchedulersLogs.push({
|
|
@@ -3020,7 +3057,7 @@ var createRecurringJobs = async () => {
|
|
|
3020
3057
|
}
|
|
3021
3058
|
}
|
|
3022
3059
|
);
|
|
3023
|
-
console.log("
|
|
3060
|
+
console.log("[EXULU] recurring job schedulers:");
|
|
3024
3061
|
console.table(recurringJobSchedulersLogs);
|
|
3025
3062
|
return queue;
|
|
3026
3063
|
};
|
package/dist/index.js
CHANGED
|
@@ -100,6 +100,36 @@ import Knex from "knex";
|
|
|
100
100
|
import "knex";
|
|
101
101
|
import "pgvector/knex";
|
|
102
102
|
var db = {};
|
|
103
|
+
var databaseExistsChecked = false;
|
|
104
|
+
async function ensureDatabaseExists() {
|
|
105
|
+
console.log("[EXULU] Ensuring exulu database exists...");
|
|
106
|
+
const defaultKnex = Knex({
|
|
107
|
+
client: "pg",
|
|
108
|
+
connection: {
|
|
109
|
+
host: process.env.POSTGRES_DB_HOST,
|
|
110
|
+
port: parseInt(process.env.POSTGRES_DB_PORT || "5432"),
|
|
111
|
+
user: process.env.POSTGRES_DB_USER,
|
|
112
|
+
database: "postgres",
|
|
113
|
+
// Connect to default database
|
|
114
|
+
password: process.env.POSTGRES_DB_PASSWORD,
|
|
115
|
+
ssl: process.env.POSTGRES_DB_SSL === "true" ? { rejectUnauthorized: false } : false
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
try {
|
|
119
|
+
const result = await defaultKnex.raw(`
|
|
120
|
+
SELECT 1 FROM pg_database WHERE datname = 'exulu'
|
|
121
|
+
`);
|
|
122
|
+
if (result.rows.length === 0) {
|
|
123
|
+
console.log("[EXULU] Database 'exulu' does not exist. Creating it...");
|
|
124
|
+
await defaultKnex.raw(`CREATE DATABASE exulu`);
|
|
125
|
+
console.log("[EXULU] Database 'exulu' created successfully.");
|
|
126
|
+
} else {
|
|
127
|
+
console.log("[EXULU] Database 'exulu' already exists.");
|
|
128
|
+
}
|
|
129
|
+
} finally {
|
|
130
|
+
await defaultKnex.destroy();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
103
133
|
async function postgresClient() {
|
|
104
134
|
if (!db["exulu"]) {
|
|
105
135
|
try {
|
|
@@ -109,6 +139,12 @@ async function postgresClient() {
|
|
|
109
139
|
console.log("[EXULU] POSTGRES_DB_USER:", process.env.POSTGRES_DB_USER);
|
|
110
140
|
console.log("[EXULU] POSTGRES_DB_PASSWORD:", process.env.POSTGRES_DB_PASSWORD);
|
|
111
141
|
console.log("[EXULU] POSTGRES_DB_SSL:", process.env.POSTGRES_DB_SSL);
|
|
142
|
+
console.log("[EXULU] Database exists checked:", databaseExistsChecked);
|
|
143
|
+
if (!databaseExistsChecked) {
|
|
144
|
+
console.log("[EXULU] Ensuring exulu database exists...");
|
|
145
|
+
await ensureDatabaseExists();
|
|
146
|
+
databaseExistsChecked = true;
|
|
147
|
+
}
|
|
112
148
|
const knex = Knex({
|
|
113
149
|
client: "pg",
|
|
114
150
|
connection: {
|
|
@@ -2950,6 +2986,7 @@ var global_queues = {
|
|
|
2950
2986
|
logs_cleaner: "logs-cleaner"
|
|
2951
2987
|
};
|
|
2952
2988
|
var createRecurringJobs = async () => {
|
|
2989
|
+
console.log("[EXULU] creating recurring jobs.");
|
|
2953
2990
|
const recurringJobSchedulersLogs = [];
|
|
2954
2991
|
const queue = queues.use(global_queues.logs_cleaner);
|
|
2955
2992
|
recurringJobSchedulersLogs.push({
|
|
@@ -2977,7 +3014,7 @@ var createRecurringJobs = async () => {
|
|
|
2977
3014
|
}
|
|
2978
3015
|
}
|
|
2979
3016
|
);
|
|
2980
|
-
console.log("
|
|
3017
|
+
console.log("[EXULU] recurring job schedulers:");
|
|
2981
3018
|
console.table(recurringJobSchedulersLogs);
|
|
2982
3019
|
return queue;
|
|
2983
3020
|
};
|