2024-08-22 11:40:31 +02:00
|
|
|
import "dotenv/config";
|
|
|
|
import "reflect-metadata";
|
|
|
|
import { DataSource } from "typeorm";
|
2025-01-05 16:19:54 +01:00
|
|
|
import { DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME, DB_TYPE, DB_PORT } from "./env.defaults";
|
2024-08-25 13:36:19 +02:00
|
|
|
|
2025-01-05 14:14:00 +01:00
|
|
|
import { user } from "./entity/user/user";
|
2024-08-22 11:40:31 +02:00
|
|
|
import { refresh } from "./entity/refresh";
|
2025-01-05 14:14:00 +01:00
|
|
|
import { invite } from "./entity/user/invite";
|
|
|
|
import { userPermission } from "./entity/user/user_permission";
|
|
|
|
import { role } from "./entity/user/role";
|
|
|
|
import { rolePermission } from "./entity/user/role_permission";
|
|
|
|
import { award } from "./entity/settings/award";
|
|
|
|
import { communication } from "./entity/club/member/communication";
|
|
|
|
import { communicationType } from "./entity/settings/communicationType";
|
|
|
|
import { executivePosition } from "./entity/settings/executivePosition";
|
|
|
|
import { membershipStatus } from "./entity/settings/membershipStatus";
|
|
|
|
import { qualification } from "./entity/settings/qualification";
|
2024-08-25 13:36:19 +02:00
|
|
|
|
2025-01-05 14:14:00 +01:00
|
|
|
import { member } from "./entity/club/member/member";
|
|
|
|
import { memberAwards } from "./entity/club/member/memberAwards";
|
|
|
|
import { memberExecutivePositions } from "./entity/club/member/memberExecutivePositions";
|
|
|
|
import { memberQualifications } from "./entity/club/member/memberQualifications";
|
|
|
|
import { membership } from "./entity/club/member/membership";
|
|
|
|
import { protocol } from "./entity/club/protocol/protocol";
|
|
|
|
import { protocolAgenda } from "./entity/club/protocol/protocolAgenda";
|
|
|
|
import { protocolDecision } from "./entity/club/protocol/protocolDecision";
|
|
|
|
import { protocolPresence } from "./entity/club/protocol/protocolPresence";
|
|
|
|
import { protocolVoting } from "./entity/club/protocol/protocolVoting";
|
|
|
|
import { protocolPrintout } from "./entity/club/protocol/protocolPrintout";
|
|
|
|
import { calendar } from "./entity/club/calendar";
|
|
|
|
import { calendarType } from "./entity/settings/calendarType";
|
2024-11-23 12:11:19 +01:00
|
|
|
import { reset } from "./entity/reset";
|
2025-01-05 14:14:00 +01:00
|
|
|
import { query } from "./entity/settings/query";
|
2024-12-18 12:55:03 +01:00
|
|
|
import { memberView } from "./views/memberView";
|
|
|
|
import { memberExecutivePositionsView } from "./views/memberExecutivePositionView";
|
|
|
|
import { memberQualificationsView } from "./views/memberQualificationsView";
|
|
|
|
import { membershipView } from "./views/membershipsView";
|
2025-01-05 14:14:00 +01:00
|
|
|
import { template } from "./entity/settings/template";
|
|
|
|
import { templateUsage } from "./entity/settings/templateUsage";
|
|
|
|
import { newsletter } from "./entity/club/newsletter/newsletter";
|
|
|
|
import { newsletterDates } from "./entity/club/newsletter/newsletterDates";
|
|
|
|
import { newsletterRecipients } from "./entity/club/newsletter/newsletterRecipients";
|
|
|
|
import { newsletterConfig } from "./entity/settings/newsletterConfig";
|
2025-01-22 09:39:31 +01:00
|
|
|
import { webapi } from "./entity/user/webapi";
|
|
|
|
import { webapiPermission } from "./entity/user/webapi_permission";
|
2025-01-25 10:20:57 +01:00
|
|
|
import { salutation } from "./entity/settings/salutation";
|
2025-01-29 18:10:41 +01:00
|
|
|
|
|
|
|
import { BackupAndResetDatabase1738166124200 } from "./migrations/1738166124200-BackupAndResetDatabase";
|
2025-01-30 15:58:34 +01:00
|
|
|
import { CreateSchema1738166167472 } from "./migrations/1738166167472-CreateSchema";
|
2024-08-22 11:40:31 +02:00
|
|
|
|
|
|
|
const dataSource = new DataSource({
|
2024-08-26 17:00:23 +02:00
|
|
|
type: DB_TYPE as any,
|
2024-08-25 18:07:34 +02:00
|
|
|
host: process.env.NODE_ENV || process.env.DBMODE ? "localhost" : DB_HOST,
|
2025-01-05 16:19:54 +01:00
|
|
|
port: DB_PORT,
|
2024-08-25 18:07:34 +02:00
|
|
|
username: DB_USERNAME,
|
|
|
|
password: DB_PASSWORD,
|
|
|
|
database: DB_NAME,
|
2024-08-22 11:40:31 +02:00
|
|
|
synchronize: false,
|
|
|
|
logging: process.env.NODE_ENV ? true : ["schema", "error", "warn", "log", "migration"],
|
|
|
|
bigNumberStrings: false,
|
2024-09-04 11:36:52 +02:00
|
|
|
entities: [
|
|
|
|
user,
|
|
|
|
refresh,
|
|
|
|
invite,
|
2024-11-23 12:11:19 +01:00
|
|
|
reset,
|
2024-09-04 11:36:52 +02:00
|
|
|
userPermission,
|
|
|
|
role,
|
|
|
|
rolePermission,
|
|
|
|
award,
|
|
|
|
communication,
|
|
|
|
communicationType,
|
|
|
|
executivePosition,
|
|
|
|
membershipStatus,
|
|
|
|
qualification,
|
2025-01-25 10:20:57 +01:00
|
|
|
salutation,
|
2024-09-14 11:32:34 +02:00
|
|
|
member,
|
|
|
|
memberAwards,
|
|
|
|
memberExecutivePositions,
|
|
|
|
memberQualifications,
|
|
|
|
membership,
|
2024-10-03 13:31:05 +02:00
|
|
|
protocol,
|
2024-10-10 14:44:41 +02:00
|
|
|
protocolAgenda,
|
2024-10-11 14:44:09 +02:00
|
|
|
protocolDecision,
|
2024-10-10 14:44:41 +02:00
|
|
|
protocolPresence,
|
2024-10-11 14:44:09 +02:00
|
|
|
protocolVoting,
|
2024-10-19 16:24:41 +02:00
|
|
|
protocolPrintout,
|
2024-10-26 15:08:05 +02:00
|
|
|
calendar,
|
|
|
|
calendarType,
|
2024-12-14 16:11:53 +01:00
|
|
|
query,
|
2024-12-22 10:29:42 +01:00
|
|
|
template,
|
2024-12-23 14:00:50 +01:00
|
|
|
templateUsage,
|
2024-12-25 12:22:28 +01:00
|
|
|
newsletter,
|
|
|
|
newsletterDates,
|
|
|
|
newsletterRecipients,
|
2024-12-26 11:08:48 +01:00
|
|
|
newsletterConfig,
|
2024-12-18 12:55:03 +01:00
|
|
|
memberView,
|
|
|
|
memberExecutivePositionsView,
|
|
|
|
memberQualificationsView,
|
|
|
|
membershipView,
|
2025-01-22 09:39:31 +01:00
|
|
|
webapi,
|
|
|
|
webapiPermission,
|
2024-09-04 11:36:52 +02:00
|
|
|
],
|
2025-01-30 15:58:34 +01:00
|
|
|
migrations: [BackupAndResetDatabase1738166124200, CreateSchema1738166167472],
|
2024-08-22 11:40:31 +02:00
|
|
|
migrationsRun: true,
|
|
|
|
migrationsTransactionMode: "each",
|
|
|
|
subscribers: [],
|
|
|
|
});
|
|
|
|
|
2025-01-30 15:58:34 +01:00
|
|
|
export { dataSource };
|