@churchsoln/dbms 1.0.47 → 1.0.49

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.
Files changed (145) hide show
  1. package/Dockerfile +21 -21
  2. package/Makefile +132 -132
  3. package/app.js +37 -37
  4. package/config/config.js +33 -33
  5. package/config/errorCodes.js +65 -65
  6. package/config/errorMsgs.js +82 -82
  7. package/constants/index.js +94 -94
  8. package/controllers/church.js +100 -100
  9. package/controllers/index.js +6 -6
  10. package/controllers/master.js +138 -138
  11. package/controllers/migration.js +24 -24
  12. package/controllers/seed.js +33 -33
  13. package/db-setup.js +87 -87
  14. package/deployment/docker-compose.local.yml +64 -64
  15. package/deployment/docker-compose.yml +62 -62
  16. package/deployment/nginx/nginx-certs/localhost.crt +22 -22
  17. package/deployment/nginx/nginx-certs/localhost.key +28 -28
  18. package/deployment/nginx/nginx.local.conf +72 -72
  19. package/middlewares/church-filter.js +16 -16
  20. package/migrations/church/20221226151615-create-province.js +27 -27
  21. package/migrations/church/20221226151616-create-city.js +41 -41
  22. package/migrations/church/20221226151617-create-subRole.js +25 -25
  23. package/migrations/church/20221226151618-create-membership.js +68 -68
  24. package/migrations/church/20221226151619-create-member.js +140 -140
  25. package/migrations/church/20221227151615-create-user.js +60 -60
  26. package/migrations/church/20230826140644-create-eventsUpdates.js +29 -29
  27. package/migrations/church/20230904143429-create-ministries.js +26 -26
  28. package/migrations/church/20231021160018-create-gallery.js +28 -28
  29. package/migrations/church/20231105074019-create-feedback.js +28 -28
  30. package/migrations/church/20231111113342-create-banner.js +29 -29
  31. package/migrations/church/20231216105640-create-directoryBoard.js +31 -31
  32. package/migrations/church/20240214160101-create-volunteer.js +31 -31
  33. package/migrations/church/20240330111437-create-download.js +29 -29
  34. package/migrations/church/20240427170617-create-links.js +26 -26
  35. package/migrations/church/20240815170617-create-userTransfer.js +63 -63
  36. package/migrations/church/20240815170620-create-subRolePermission.js +40 -40
  37. package/migrations/church/20240915170620-create-transferType.js +25 -25
  38. package/migrations/church/20240917170620-create-accounts.js +27 -27
  39. package/migrations/church/20240918170621-create-church.js +54 -54
  40. package/migrations/church/20240918170622-create-group.js +61 -61
  41. package/migrations/church/20240918170623-create-groupMembers.js +74 -74
  42. package/migrations/church/20240918170627-create-pledge.js +96 -96
  43. package/migrations/church/20240919170627-create-contributionBatch.js +42 -42
  44. package/migrations/church/20240919170628-create-contributionTransaction.js +82 -82
  45. package/migrations/church/20240919170629-create-contributionTransactionLine.js +74 -74
  46. package/migrations/church/20240919170630-update-groupMembers.js +77 -77
  47. package/migrations/church/20241204170631-create-pledgeAccount.js +55 -55
  48. package/migrations/church/20241204170632-create-memberStatus.js +26 -0
  49. package/migrations/church/20241204170633-update-member.js +33 -0
  50. package/migrations/church/20241204170634-update-membership.js +33 -0
  51. package/migrations/church/20241204170635-update-pledge.js +33 -0
  52. package/migrations/church/20241204170636-update-contributionTransactionLine.js +33 -0
  53. package/migrations/common/20221226140655-create-subscriptionPlan.js +31 -31
  54. package/migrations/common/20221226143006-create-role.js +25 -25
  55. package/migrations/common/20240815170619-create-permission.js +27 -27
  56. package/migrations/common/20240815170620-create-church.js +56 -56
  57. package/migrations/common/20240815170621-create-churchDomain.js +40 -40
  58. package/migrations/common/20240918170621-create-churchPermission.js +53 -53
  59. package/migrations/common/20240918170622-create-user.js +35 -35
  60. package/migrations/common/20240918170627-create-subscriptionPlanPermission.js +53 -53
  61. package/models/church/accounts.js +23 -27
  62. package/models/church/banner.js +29 -29
  63. package/models/church/church.js +62 -62
  64. package/models/church/city.js +23 -23
  65. package/models/church/contributionBatch.js +45 -45
  66. package/models/church/contributionTransaction.js +90 -90
  67. package/models/church/contributionTransactionLine.js +81 -80
  68. package/models/church/directoryBoard.js +33 -33
  69. package/models/church/download.js +35 -35
  70. package/models/church/eventsUpdates.js +29 -29
  71. package/models/church/feedback.js +27 -27
  72. package/models/church/gallery.js +33 -33
  73. package/models/church/group.js +78 -78
  74. package/models/church/groupMembers.js +73 -73
  75. package/models/church/index.js +30 -30
  76. package/models/church/links.js +22 -22
  77. package/models/church/member.js +161 -171
  78. package/models/church/memberStatus.js +22 -0
  79. package/models/church/membership.js +80 -81
  80. package/models/church/ministries.js +16 -16
  81. package/models/church/pledge.js +65 -65
  82. package/models/church/pledgeAccount.js +45 -37
  83. package/models/church/province.js +23 -23
  84. package/models/church/subRole.js +21 -21
  85. package/models/church/subRolePermission.js +22 -22
  86. package/models/church/transferType.js +15 -15
  87. package/models/church/user.js +78 -78
  88. package/models/church/userTransfer.js +45 -45
  89. package/models/church/volunteer.js +33 -33
  90. package/models/common/church.js +58 -58
  91. package/models/common/churchDomain.js +21 -21
  92. package/models/common/churchPermission.js +26 -26
  93. package/models/common/index.js +40 -40
  94. package/models/common/permission.js +17 -17
  95. package/models/common/role.js +15 -15
  96. package/models/common/subscriptionPlan.js +34 -34
  97. package/models/common/subscriptionPlanPermission.js +33 -33
  98. package/models/common/user.js +39 -39
  99. package/package.json +41 -41
  100. package/public/swagger/church.json +521 -521
  101. package/public/swagger/master.json +537 -537
  102. package/public/swagger/migration.json +83 -83
  103. package/public/swagger/seed.json +98 -98
  104. package/queues/db-create.js +9 -9
  105. package/queues/index.js +5 -5
  106. package/queues/master.js +9 -9
  107. package/queues/migration.js +9 -9
  108. package/queues/seed.js +9 -9
  109. package/redis/config.js +5 -5
  110. package/routes/index.js +30 -30
  111. package/routes/v1/church.js +45 -45
  112. package/routes/v1/index.js +7 -7
  113. package/routes/v1/master.js +68 -68
  114. package/routes/v1/migration.js +10 -10
  115. package/routes/v1/seed.js +12 -12
  116. package/seeders/church/20241005124245-province.js +101 -101
  117. package/seeders/church/20241005124547-city.js +87 -87
  118. package/seeders/church/20241005131418-transferType.js +40 -40
  119. package/seeders/church/20241005131419-memberStatus.js +34 -0
  120. package/seeders/common/20241005123516-subscriptionPlan.js +43 -43
  121. package/seeders/common/20241005124105-role.js +38 -38
  122. package/seeders/common/20241005153047-permission.js +252 -242
  123. package/seeders/common/20241005153048-user.js +48 -48
  124. package/services/church.js +312 -312
  125. package/services/index.js +6 -6
  126. package/services/master.js +344 -344
  127. package/services/migration.js +30 -30
  128. package/services/seed.js +39 -39
  129. package/utils/churchManager.js +98 -98
  130. package/utils/crypto.js +40 -40
  131. package/utils/docUpload.js +51 -51
  132. package/utils/encryptDecrypt.js +26 -26
  133. package/utils/index.js +33 -33
  134. package/utils/logger.js +104 -104
  135. package/utils/response.js +108 -108
  136. package/utils/swagger.js +25 -25
  137. package/utils/verifyToken.js +58 -58
  138. package/validators/church.js +154 -154
  139. package/validators/index.js +3 -3
  140. package/validators/master.js +152 -152
  141. package/workers/db-create.js +37 -37
  142. package/workers/index.js +4 -4
  143. package/workers/master.js +50 -50
  144. package/workers/migrations.js +63 -63
  145. package/workers/seed.js +85 -85
package/Dockerfile CHANGED
@@ -1,22 +1,22 @@
1
- FROM node:20.16.0-alpine
2
- RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
3
- WORKDIR /home/node/app
4
- COPY package*.json ./
5
- COPY --chown=node:node . .
6
- # Install build dependencies
7
- RUN apk update && \
8
- apk add --no-cache make gcc g++ python3
9
-
10
- # Set registry and timeout
11
- RUN npm config set registry https://registry.npmmirror.com
12
- RUN npm rebuild bcrypt --build-from-source
13
- RUN npm install --legacy-peer-deps --force --timeout=60000
14
- RUN npm cache clean --force
15
-
16
-
17
- # Clean up build dependencies
18
- RUN apk del make gcc g++ python3 && \
19
- rm -rf /var/cache/apk/* && \
20
- npm cache clean --force
21
- EXPOSE 5007
1
+ FROM node:20.16.0-alpine
2
+ RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
3
+ WORKDIR /home/node/app
4
+ COPY package*.json ./
5
+ COPY --chown=node:node . .
6
+ # Install build dependencies
7
+ RUN apk update && \
8
+ apk add --no-cache make gcc g++ python3
9
+
10
+ # Set registry and timeout
11
+ RUN npm config set registry https://registry.npmmirror.com
12
+ RUN npm rebuild bcrypt --build-from-source
13
+ RUN npm install --frozen-lockfile --legacy-peer-deps --force --timeout=60000
14
+ RUN npm cache clean --force
15
+
16
+
17
+ # Clean up build dependencies
18
+ RUN apk del make gcc g++ python3 && \
19
+ rm -rf /var/cache/apk/* && \
20
+ npm cache clean --force
21
+ EXPOSE 5007
22
22
  CMD [ "npm", "run", "start" ]
package/Makefile CHANGED
@@ -1,132 +1,132 @@
1
- DOCKER_COMPOSE = docker compose
2
- LOCAL_FILES = -f deployment/docker-compose.local.yml
3
- DEV_FILES = -f deployment/docker-compose.yml
4
- POSTGRES_DIR = ${HOME}/.churchsoln/postgres
5
- REDIS_DIR = ${HOME}/.churchsoln/redis
6
-
7
-
8
- .PHONY: help
9
- help:
10
- @echo "Usage:"
11
- @echo " make up-local - Run the application locally"
12
- @echo " make up-dev - Run the application in the dev environment"
13
- @echo " make up-no-cache-local - Build and run the application locally without cache"
14
- @echo " make up-no-cache-dev - Build and run the application in dev environment without cache"
15
- @echo " make clean-local - Clean up local environment and unused resources"
16
- @echo " make clean-dev - Clean up dev environment and unused resources"
17
- @echo " make prune-resources - Remove all unused Docker resources"
18
- @echo " make logs-local - View logs for local environment"
19
- @echo " make logs-dev - View logs for dev environment"
20
- @echo " make exec-local service - Execute command in running local service container"
21
- @echo " make exec-dev service - Execute command in running dev service container"
22
- @echo " make rebuild-local - Rebuild the local environment"
23
- @echo " make rebuild-dev - Rebuild the dev environment"
24
- @echo " make rebuild-service-local service - Rebuild a specific service in local environment"
25
- @echo " make rebuild-service-dev service - Rebuild a specific service in dev environment"
26
- @echo " make status-local - Show status of local environment"
27
- @echo " make status-dev - Show status of dev environment"
28
-
29
- .PHONY: ensure-dirs
30
- ensure-dirs:
31
- @echo "Checking for PostgreSQL, Image, Video and Documents directories in home..."
32
- @if [ ! -d "$(POSTGRES_DIR)" ]; then \
33
- echo "Creating PostgreSQL directory at $(POSTGRES_DIR)"; \
34
- mkdir -p $(POSTGRES_DIR); \
35
- else \
36
- echo "PostgreSQL directory already exists"; \
37
- fi
38
-
39
- .PHONY: up-local
40
- up-local: ensure-dirs
41
- $(DOCKER_COMPOSE) $(LOCAL_FILES) up --build -d
42
-
43
- .PHONY: up-dev
44
- up-dev: ensure-dirs
45
- $(DOCKER_COMPOSE) $(DEV_FILES) up --build -d
46
-
47
- .PHONY: up-no-cache-local
48
- up-no-cache-local: ensure-dirs clean-local
49
- $(DOCKER_COMPOSE) $(LOCAL_FILES) build --no-cache
50
- $(DOCKER_COMPOSE) $(LOCAL_FILES) up -d
51
-
52
- .PHONY: up-no-cache-dev
53
- up-no-cache-dev: ensure-dirs clean-dev
54
- $(DOCKER_COMPOSE) $(DEV_FILES) build --no-cache
55
- $(DOCKER_COMPOSE) $(DEV_FILES) up -d
56
-
57
- .PHONY: clean-local
58
- clean-local:
59
- $(DOCKER_COMPOSE) $(LOCAL_FILES) down --volumes --remove-orphans
60
- @echo "Removing unused images and volumes..."
61
- docker image prune -f
62
- docker volume prune -f
63
-
64
- .PHONY: clean-dev
65
- clean-dev:
66
- $(DOCKER_COMPOSE) $(DEV_FILES) down --volumes --remove-orphans
67
- @echo "Removing unused images and volumes..."
68
- docker image prune -f
69
- docker volume prune -f
70
-
71
- .PHONY: prune-resources
72
- prune-resources:
73
- @echo "Removing all unused Docker resources..."
74
- docker system prune -a --volumes -f
75
-
76
- .PHONY: logs-local
77
- logs-local:
78
- $(DOCKER_COMPOSE) $(LOCAL_FILES) logs -f
79
-
80
- .PHONY: logs-dev
81
- logs-dev:
82
- $(DOCKER_COMPOSE) $(DEV_FILES) logs -f
83
-
84
- .PHONY: exec-local
85
- exec-local:
86
- @if [ -z "$$service" ]; then \
87
- echo "Please specify a service name."; \
88
- exit 1; \
89
- fi
90
- $(DOCKER_COMPOSE) $(LOCAL_FILES) exec $(service) /bin/sh
91
-
92
- .PHONY: exec-dev
93
- exec-dev:
94
- @if [ -z "$$service" ]; then \
95
- echo "Please specify a service name."; \
96
- exit 1; \
97
- fi
98
- $(DOCKER_COMPOSE) $(DEV_FILES) exec $(service) /bin/sh
99
-
100
- .PHONY: rebuild-local
101
- rebuild-local: clean-local up-local
102
-
103
- .PHONY: rebuild-dev
104
- rebuild-dev: clean-dev up-dev
105
-
106
- .PHONY: rebuild-service-local
107
- rebuild-service-local:
108
- @if [ -z "$$service" ]; then \
109
- echo "Please specify a service name."; \
110
- exit 1; \
111
- fi
112
- $(DOCKER_COMPOSE) $(LOCAL_FILES) build --no-cache $(service)
113
- $(DOCKER_COMPOSE) $(LOCAL_FILES) up -d $(service)
114
-
115
- .PHONY: rebuild-service-dev
116
- rebuild-service-dev:
117
- @if [ -z "$$service" ]; then \
118
- echo "Please specify a service name."; \
119
- exit 1; \
120
- fi
121
- $(DOCKER_COMPOSE) $(DEV_FILES) build --no-cache $(service)
122
- $(DOCKER_COMPOSE) $(DEV_FILES) up -d $(service)
123
-
124
- .PHONY: status-local
125
- status-local:
126
- @echo "Status of local environment:"
127
- $(DOCKER_COMPOSE) $(LOCAL_FILES) ps
128
-
129
- .PHONY: status-dev
130
- status-dev:
131
- @echo "Status of dev environment:"
132
- $(DOCKER_COMPOSE) $(DEV_FILES) ps
1
+ DOCKER_COMPOSE = docker compose
2
+ LOCAL_FILES = -f deployment/docker-compose.local.yml
3
+ DEV_FILES = -f deployment/docker-compose.yml
4
+ POSTGRES_DIR = ${HOME}/.churchsoln/postgres
5
+ REDIS_DIR = ${HOME}/.churchsoln/redis
6
+
7
+
8
+ .PHONY: help
9
+ help:
10
+ @echo "Usage:"
11
+ @echo " make up-local - Run the application locally"
12
+ @echo " make up-dev - Run the application in the dev environment"
13
+ @echo " make up-no-cache-local - Build and run the application locally without cache"
14
+ @echo " make up-no-cache-dev - Build and run the application in dev environment without cache"
15
+ @echo " make clean-local - Clean up local environment and unused resources"
16
+ @echo " make clean-dev - Clean up dev environment and unused resources"
17
+ @echo " make prune-resources - Remove all unused Docker resources"
18
+ @echo " make logs-local - View logs for local environment"
19
+ @echo " make logs-dev - View logs for dev environment"
20
+ @echo " make exec-local service - Execute command in running local service container"
21
+ @echo " make exec-dev service - Execute command in running dev service container"
22
+ @echo " make rebuild-local - Rebuild the local environment"
23
+ @echo " make rebuild-dev - Rebuild the dev environment"
24
+ @echo " make rebuild-service-local service - Rebuild a specific service in local environment"
25
+ @echo " make rebuild-service-dev service - Rebuild a specific service in dev environment"
26
+ @echo " make status-local - Show status of local environment"
27
+ @echo " make status-dev - Show status of dev environment"
28
+
29
+ .PHONY: ensure-dirs
30
+ ensure-dirs:
31
+ @echo "Checking for PostgreSQL, Image, Video and Documents directories in home..."
32
+ @if [ ! -d "$(POSTGRES_DIR)" ]; then \
33
+ echo "Creating PostgreSQL directory at $(POSTGRES_DIR)"; \
34
+ mkdir -p $(POSTGRES_DIR); \
35
+ else \
36
+ echo "PostgreSQL directory already exists"; \
37
+ fi
38
+
39
+ .PHONY: up-local
40
+ up-local: ensure-dirs
41
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) up --build -d
42
+
43
+ .PHONY: up-dev
44
+ up-dev: ensure-dirs
45
+ $(DOCKER_COMPOSE) $(DEV_FILES) up --build -d
46
+
47
+ .PHONY: up-no-cache-local
48
+ up-no-cache-local: ensure-dirs clean-local
49
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) build --no-cache
50
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) up -d
51
+
52
+ .PHONY: up-no-cache-dev
53
+ up-no-cache-dev: ensure-dirs clean-dev
54
+ $(DOCKER_COMPOSE) $(DEV_FILES) build --no-cache
55
+ $(DOCKER_COMPOSE) $(DEV_FILES) up -d
56
+
57
+ .PHONY: clean-local
58
+ clean-local:
59
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) down --volumes --remove-orphans
60
+ @echo "Removing unused images and volumes..."
61
+ docker image prune -f
62
+ docker volume prune -f
63
+
64
+ .PHONY: clean-dev
65
+ clean-dev:
66
+ $(DOCKER_COMPOSE) $(DEV_FILES) down --volumes --remove-orphans
67
+ @echo "Removing unused images and volumes..."
68
+ docker image prune -f
69
+ docker volume prune -f
70
+
71
+ .PHONY: prune-resources
72
+ prune-resources:
73
+ @echo "Removing all unused Docker resources..."
74
+ docker system prune -a --volumes -f
75
+
76
+ .PHONY: logs-local
77
+ logs-local:
78
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) logs -f
79
+
80
+ .PHONY: logs-dev
81
+ logs-dev:
82
+ $(DOCKER_COMPOSE) $(DEV_FILES) logs -f
83
+
84
+ .PHONY: exec-local
85
+ exec-local:
86
+ @if [ -z "$$service" ]; then \
87
+ echo "Please specify a service name."; \
88
+ exit 1; \
89
+ fi
90
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) exec $(service) /bin/sh
91
+
92
+ .PHONY: exec-dev
93
+ exec-dev:
94
+ @if [ -z "$$service" ]; then \
95
+ echo "Please specify a service name."; \
96
+ exit 1; \
97
+ fi
98
+ $(DOCKER_COMPOSE) $(DEV_FILES) exec $(service) /bin/sh
99
+
100
+ .PHONY: rebuild-local
101
+ rebuild-local: clean-local up-local
102
+
103
+ .PHONY: rebuild-dev
104
+ rebuild-dev: clean-dev up-dev
105
+
106
+ .PHONY: rebuild-service-local
107
+ rebuild-service-local:
108
+ @if [ -z "$$service" ]; then \
109
+ echo "Please specify a service name."; \
110
+ exit 1; \
111
+ fi
112
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) build --no-cache $(service)
113
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) up -d $(service)
114
+
115
+ .PHONY: rebuild-service-dev
116
+ rebuild-service-dev:
117
+ @if [ -z "$$service" ]; then \
118
+ echo "Please specify a service name."; \
119
+ exit 1; \
120
+ fi
121
+ $(DOCKER_COMPOSE) $(DEV_FILES) build --no-cache $(service)
122
+ $(DOCKER_COMPOSE) $(DEV_FILES) up -d $(service)
123
+
124
+ .PHONY: status-local
125
+ status-local:
126
+ @echo "Status of local environment:"
127
+ $(DOCKER_COMPOSE) $(LOCAL_FILES) ps
128
+
129
+ .PHONY: status-dev
130
+ status-dev:
131
+ @echo "Status of dev environment:"
132
+ $(DOCKER_COMPOSE) $(DEV_FILES) ps
package/app.js CHANGED
@@ -1,37 +1,37 @@
1
- require("dotenv/config");
2
- const path = require("path");
3
- const express = require("express");
4
- const cors = require("cors");
5
- const helmet = require("helmet");
6
- const { decryptData } = require("./utils/encryptDecrypt.js");
7
- const morgan = require("morgan");
8
- const app = express();
9
- const routers = require("./routes/index.js");
10
- const appLogger = require("./utils/logger");
11
- const swaggerUi = require("swagger-ui-express");
12
- const swaggerOptions = require("./utils/swagger");
13
- require("./workers");
14
- app.enable("trust proxy");
15
- // middlewares section
16
- app.use(appLogger.requestDetails(appLogger));
17
- app.use(morgan("dev"));
18
- app.use(helmet());
19
- app.use(cors());
20
- app.use(express.json());
21
- app.use(express.json({ limit: "50mb" }));
22
- app.use(express.urlencoded({ extended: true }));
23
- app.use(express.urlencoded({ limit: "50mb", extended: true }));
24
- app.use("/dbms/api/public", express.static(path.join(__dirname, "public")));
25
- app.use("/dbms/api/uploads", express.static("/app/uploads"));
26
- app.use("/dbms/api/docs", swaggerUi.serve, swaggerUi.setup(null, swaggerOptions));
27
- app.use((req, res, next) => decryptData(req, res, next));
28
- app.use((req, res, next) => {
29
- res.setHeader("Access-Control-Allow-Origin", "*");
30
- res.setHeader("Access-Control-Allow-Headers", "*");
31
- next();
32
- });
33
- app.use(routers);
34
-
35
- const port = process.env.PORT || 5000;
36
- const server = app.listen(port, () => console.log(`App listening at port ${port}`));
37
- module.exports = server;
1
+ require("dotenv/config");
2
+ const path = require("path");
3
+ const express = require("express");
4
+ const cors = require("cors");
5
+ const helmet = require("helmet");
6
+ const { decryptData } = require("./utils/encryptDecrypt.js");
7
+ const morgan = require("morgan");
8
+ const app = express();
9
+ const routers = require("./routes/index.js");
10
+ const appLogger = require("./utils/logger");
11
+ const swaggerUi = require("swagger-ui-express");
12
+ const swaggerOptions = require("./utils/swagger");
13
+ require("./workers");
14
+ app.enable("trust proxy");
15
+ // middlewares section
16
+ app.use(appLogger.requestDetails(appLogger));
17
+ app.use(morgan("dev"));
18
+ app.use(helmet());
19
+ app.use(cors());
20
+ app.use(express.json());
21
+ app.use(express.json({ limit: "50mb" }));
22
+ app.use(express.urlencoded({ extended: true }));
23
+ app.use(express.urlencoded({ limit: "50mb", extended: true }));
24
+ app.use("/dbms/api/public", express.static(path.join(__dirname, "public")));
25
+ app.use("/dbms/api/uploads", express.static("/app/uploads"));
26
+ app.use("/dbms/api/docs", swaggerUi.serve, swaggerUi.setup(null, swaggerOptions));
27
+ app.use((req, res, next) => decryptData(req, res, next));
28
+ app.use((req, res, next) => {
29
+ res.setHeader("Access-Control-Allow-Origin", "*");
30
+ res.setHeader("Access-Control-Allow-Headers", "*");
31
+ next();
32
+ });
33
+ app.use(routers);
34
+
35
+ const port = process.env.PORT || 5000;
36
+ const server = app.listen(port, () => console.log(`App listening at port ${port}`));
37
+ module.exports = server;
package/config/config.js CHANGED
@@ -1,33 +1,33 @@
1
- require("dotenv").config();
2
- module.exports = {
3
- localdev: {
4
- user: "root",
5
- username: "root",
6
- password: "root",
7
- database: "dbms",
8
- host: "localhost",
9
- port: "5432",
10
- dialect: "postgres",
11
- url: "postgres://root:root@localhost:5432/dbms",
12
- },
13
- development: {
14
- user: process.env.POSTGRES_USER,
15
- username: process.env.POSTGRES_USER,
16
- password: process.env.POSTGRES_PASSWORD,
17
- database: process.env.POSTGRES_DB,
18
- host: process.env.POSTGRES_HOST,
19
- port: process.env.POSTGRES_PORT,
20
- dialect: "postgres",
21
- url: `postgres://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${process.env.POSTGRES_DB}`,
22
- },
23
- test: {
24
- user: process.env.POSTGRES_USER,
25
- username: process.env.POSTGRES_USER,
26
- password: process.env.POSTGRES_PASSWORD,
27
- database: process.env.POSTGRES_DB,
28
- host: process.env.POSTGRES_HOST,
29
- port: process.env.POSTGRES_PORT,
30
- dialect: "postgres",
31
- url: `postgres://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${process.env.POSTGRES_DB}`,
32
- },
33
- };
1
+ require("dotenv").config();
2
+ module.exports = {
3
+ localdev: {
4
+ user: "root",
5
+ username: "root",
6
+ password: "root",
7
+ database: "dbms",
8
+ host: "localhost",
9
+ port: "5432",
10
+ dialect: "postgres",
11
+ url: "postgres://root:root@localhost:5432/dbms",
12
+ },
13
+ development: {
14
+ user: process.env.POSTGRES_USER,
15
+ username: process.env.POSTGRES_USER,
16
+ password: process.env.POSTGRES_PASSWORD,
17
+ database: process.env.POSTGRES_DB,
18
+ host: process.env.POSTGRES_HOST,
19
+ port: process.env.POSTGRES_PORT,
20
+ dialect: "postgres",
21
+ url: `postgres://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${process.env.POSTGRES_DB}`,
22
+ },
23
+ test: {
24
+ user: process.env.POSTGRES_USER,
25
+ username: process.env.POSTGRES_USER,
26
+ password: process.env.POSTGRES_PASSWORD,
27
+ database: process.env.POSTGRES_DB,
28
+ host: process.env.POSTGRES_HOST,
29
+ port: process.env.POSTGRES_PORT,
30
+ dialect: "postgres",
31
+ url: `postgres://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${process.env.POSTGRES_DB}`,
32
+ },
33
+ };
@@ -1,65 +1,65 @@
1
- module.exports = {
2
- HTTP_CONTINUE: 100,
3
- HTTP_SWITCHING_PROTOCOLS: 101,
4
- HTTP_PROCESSING: 102, // RFC2518
5
- HTTP_EARLY_HINTS: 103, // RFC8297
6
- HTTP_OK: 200,
7
- HTTP_CREATED: 201,
8
- HTTP_ACCEPTED: 202,
9
- HTTP_NON_AUTHORITATIVE_INFORMATION: 203,
10
- HTTP_NO_CONTENT: 204,
11
- HTTP_RESET_CONTENT: 205,
12
- HTTP_PARTIAL_CONTENT: 206,
13
- HTTP_MULTI_STATUS: 207, // RFC4918
14
- HTTP_ALREADY_REPORTED: 208, // RFC5842
15
- HTTP_IM_USED: 226, // RFC3229
16
- HTTP_MULTIPLE_CHOICES: 300,
17
- HTTP_MOVED_PERMANENTLY: 301,
18
- HTTP_FOUND: 302,
19
- HTTP_SEE_OTHER: 303,
20
- HTTP_NOT_MODIFIED: 304,
21
- HTTP_USE_PROXY: 305,
22
- HTTP_RESERVED: 306,
23
- HTTP_TEMPORARY_REDIRECT: 307,
24
- HTTP_PERMANENTLY_REDIRECT: 308, // RFC7238
25
- HTTP_BAD_REQUEST: 400,
26
- HTTP_UNAUTHORIZED: 401,
27
- HTTP_PAYMENT_REQUIRED: 402,
28
- HTTP_FORBIDDEN: 403,
29
- HTTP_NOT_FOUND: 404,
30
- HTTP_METHOD_NOT_ALLOWED: 405,
31
- HTTP_NOT_ACCEPTABLE: 406,
32
- HTTP_PROXY_AUTHENTICATION_REQUIRED: 407,
33
- HTTP_REQUEST_TIMEOUT: 408,
34
- HTTP_CONFLICT: 409,
35
- HTTP_GONE: 410,
36
- HTTP_LENGTH_REQUIRED: 411,
37
- HTTP_PRECONDITION_FAILED: 412,
38
- HTTP_REQUEST_ENTITY_TOO_LARGE: 413,
39
- HTTP_REQUEST_URI_TOO_LONG: 414,
40
- HTTP_UNSUPPORTED_MEDIA_TYPE: 415,
41
- HTTP_REQUESTED_RANGE_NOT_SATISFIABLE: 416,
42
- HTTP_EXPECTATION_FAILED: 417,
43
- HTTP_I_AM_A_TEAPOT: 418, // RFC2324
44
- HTTP_MISDIRECTED_REQUEST: 421, // RFC7540
45
- HTTP_UNPROCESSABLE_ENTITY: 422, // RFC4918
46
- HTTP_LOCKED: 423, // RFC4918
47
- HTTP_FAILED_DEPENDENCY: 424, // RFC4918
48
- HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL: 425, // RFC2817
49
- HTTP_UPGRADE_REQUIRED: 426, // RFC2817
50
- HTTP_PRECONDITION_REQUIRED: 428, // RFC6585
51
- HTTP_TOO_MANY_REQUESTS: 429, // RFC6585
52
- HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE: 431, // RFC6585
53
- HTTP_UNAVAILABLE_FOR_LEGAL_REASONS: 451,
54
- HTTP_INTERNAL_SERVER_ERROR: 500,
55
- HTTP_NOT_IMPLEMENTED: 501,
56
- HTTP_BAD_GATEWAY: 502,
57
- HTTP_SERVICE_UNAVAILABLE: 503,
58
- HTTP_GATEWAY_TIMEOUT: 504,
59
- HTTP_VERSION_NOT_SUPPORTED: 505,
60
- HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL: 506, // RFC2295
61
- HTTP_INSUFFICIENT_STORAGE: 507, // RFC4918
62
- HTTP_LOOP_DETECTED: 508, // RFC5842
63
- HTTP_NOT_EXTENDED: 510, // RFC2774
64
- HTTP_NETWORK_AUTHENTICATION_REQUIRED: 511, // RFC6585
65
- };
1
+ module.exports = {
2
+ HTTP_CONTINUE: 100,
3
+ HTTP_SWITCHING_PROTOCOLS: 101,
4
+ HTTP_PROCESSING: 102, // RFC2518
5
+ HTTP_EARLY_HINTS: 103, // RFC8297
6
+ HTTP_OK: 200,
7
+ HTTP_CREATED: 201,
8
+ HTTP_ACCEPTED: 202,
9
+ HTTP_NON_AUTHORITATIVE_INFORMATION: 203,
10
+ HTTP_NO_CONTENT: 204,
11
+ HTTP_RESET_CONTENT: 205,
12
+ HTTP_PARTIAL_CONTENT: 206,
13
+ HTTP_MULTI_STATUS: 207, // RFC4918
14
+ HTTP_ALREADY_REPORTED: 208, // RFC5842
15
+ HTTP_IM_USED: 226, // RFC3229
16
+ HTTP_MULTIPLE_CHOICES: 300,
17
+ HTTP_MOVED_PERMANENTLY: 301,
18
+ HTTP_FOUND: 302,
19
+ HTTP_SEE_OTHER: 303,
20
+ HTTP_NOT_MODIFIED: 304,
21
+ HTTP_USE_PROXY: 305,
22
+ HTTP_RESERVED: 306,
23
+ HTTP_TEMPORARY_REDIRECT: 307,
24
+ HTTP_PERMANENTLY_REDIRECT: 308, // RFC7238
25
+ HTTP_BAD_REQUEST: 400,
26
+ HTTP_UNAUTHORIZED: 401,
27
+ HTTP_PAYMENT_REQUIRED: 402,
28
+ HTTP_FORBIDDEN: 403,
29
+ HTTP_NOT_FOUND: 404,
30
+ HTTP_METHOD_NOT_ALLOWED: 405,
31
+ HTTP_NOT_ACCEPTABLE: 406,
32
+ HTTP_PROXY_AUTHENTICATION_REQUIRED: 407,
33
+ HTTP_REQUEST_TIMEOUT: 408,
34
+ HTTP_CONFLICT: 409,
35
+ HTTP_GONE: 410,
36
+ HTTP_LENGTH_REQUIRED: 411,
37
+ HTTP_PRECONDITION_FAILED: 412,
38
+ HTTP_REQUEST_ENTITY_TOO_LARGE: 413,
39
+ HTTP_REQUEST_URI_TOO_LONG: 414,
40
+ HTTP_UNSUPPORTED_MEDIA_TYPE: 415,
41
+ HTTP_REQUESTED_RANGE_NOT_SATISFIABLE: 416,
42
+ HTTP_EXPECTATION_FAILED: 417,
43
+ HTTP_I_AM_A_TEAPOT: 418, // RFC2324
44
+ HTTP_MISDIRECTED_REQUEST: 421, // RFC7540
45
+ HTTP_UNPROCESSABLE_ENTITY: 422, // RFC4918
46
+ HTTP_LOCKED: 423, // RFC4918
47
+ HTTP_FAILED_DEPENDENCY: 424, // RFC4918
48
+ HTTP_RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL: 425, // RFC2817
49
+ HTTP_UPGRADE_REQUIRED: 426, // RFC2817
50
+ HTTP_PRECONDITION_REQUIRED: 428, // RFC6585
51
+ HTTP_TOO_MANY_REQUESTS: 429, // RFC6585
52
+ HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE: 431, // RFC6585
53
+ HTTP_UNAVAILABLE_FOR_LEGAL_REASONS: 451,
54
+ HTTP_INTERNAL_SERVER_ERROR: 500,
55
+ HTTP_NOT_IMPLEMENTED: 501,
56
+ HTTP_BAD_GATEWAY: 502,
57
+ HTTP_SERVICE_UNAVAILABLE: 503,
58
+ HTTP_GATEWAY_TIMEOUT: 504,
59
+ HTTP_VERSION_NOT_SUPPORTED: 505,
60
+ HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL: 506, // RFC2295
61
+ HTTP_INSUFFICIENT_STORAGE: 507, // RFC4918
62
+ HTTP_LOOP_DETECTED: 508, // RFC5842
63
+ HTTP_NOT_EXTENDED: 510, // RFC2774
64
+ HTTP_NETWORK_AUTHENTICATION_REQUIRED: 511, // RFC6585
65
+ };