@churchsoln/dbms 1.0.47 → 1.0.48
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/Dockerfile +21 -21
- package/Makefile +132 -132
- package/app.js +37 -37
- package/config/config.js +33 -33
- package/config/errorCodes.js +65 -65
- package/config/errorMsgs.js +82 -82
- package/constants/index.js +94 -94
- package/controllers/church.js +100 -100
- package/controllers/index.js +6 -6
- package/controllers/master.js +138 -138
- package/controllers/migration.js +24 -24
- package/controllers/seed.js +33 -33
- package/db-setup.js +87 -87
- package/deployment/docker-compose.local.yml +64 -64
- package/deployment/docker-compose.yml +62 -62
- package/deployment/nginx/nginx-certs/localhost.crt +22 -22
- package/deployment/nginx/nginx-certs/localhost.key +28 -28
- package/deployment/nginx/nginx.local.conf +72 -72
- package/middlewares/church-filter.js +16 -16
- package/migrations/church/20221226151615-create-province.js +27 -27
- package/migrations/church/20221226151616-create-city.js +41 -41
- package/migrations/church/20221226151617-create-subRole.js +25 -25
- package/migrations/church/20221226151618-create-membership.js +68 -68
- package/migrations/church/20221226151619-create-member.js +140 -140
- package/migrations/church/20221227151615-create-user.js +60 -60
- package/migrations/church/20230826140644-create-eventsUpdates.js +29 -29
- package/migrations/church/20230904143429-create-ministries.js +26 -26
- package/migrations/church/20231021160018-create-gallery.js +28 -28
- package/migrations/church/20231105074019-create-feedback.js +28 -28
- package/migrations/church/20231111113342-create-banner.js +29 -29
- package/migrations/church/20231216105640-create-directoryBoard.js +31 -31
- package/migrations/church/20240214160101-create-volunteer.js +31 -31
- package/migrations/church/20240330111437-create-download.js +29 -29
- package/migrations/church/20240427170617-create-links.js +26 -26
- package/migrations/church/20240815170617-create-userTransfer.js +63 -63
- package/migrations/church/20240815170620-create-subRolePermission.js +40 -40
- package/migrations/church/20240915170620-create-transferType.js +25 -25
- package/migrations/church/20240917170620-create-accounts.js +27 -27
- package/migrations/church/20240918170621-create-church.js +54 -54
- package/migrations/church/20240918170622-create-group.js +61 -61
- package/migrations/church/20240918170623-create-groupMembers.js +74 -74
- package/migrations/church/20240918170627-create-pledge.js +96 -96
- package/migrations/church/20240919170627-create-contributionBatch.js +42 -42
- package/migrations/church/20240919170628-create-contributionTransaction.js +82 -82
- package/migrations/church/20240919170629-create-contributionTransactionLine.js +74 -74
- package/migrations/church/20240919170630-update-groupMembers.js +77 -77
- package/migrations/church/20241204170631-create-pledgeAccount.js +55 -55
- package/migrations/church/20241204170632-create-memberStatus.js +26 -0
- package/migrations/church/20241204170633-update-member.js +33 -0
- package/migrations/church/20241204170634-update-membership.js +33 -0
- package/migrations/church/20241204170635-update-pledge.js +33 -0
- package/migrations/church/20241204170636-update-contributionTransactionLine.js +33 -0
- package/migrations/common/20221226140655-create-subscriptionPlan.js +31 -31
- package/migrations/common/20221226143006-create-role.js +25 -25
- package/migrations/common/20240815170619-create-permission.js +27 -27
- package/migrations/common/20240815170620-create-church.js +56 -56
- package/migrations/common/20240815170621-create-churchDomain.js +40 -40
- package/migrations/common/20240918170621-create-churchPermission.js +53 -53
- package/migrations/common/20240918170622-create-user.js +35 -35
- package/migrations/common/20240918170627-create-subscriptionPlanPermission.js +53 -53
- package/models/church/accounts.js +23 -27
- package/models/church/banner.js +29 -29
- package/models/church/church.js +62 -62
- package/models/church/city.js +23 -23
- package/models/church/contributionBatch.js +45 -45
- package/models/church/contributionTransaction.js +90 -90
- package/models/church/contributionTransactionLine.js +81 -80
- package/models/church/directoryBoard.js +33 -33
- package/models/church/download.js +35 -35
- package/models/church/eventsUpdates.js +29 -29
- package/models/church/feedback.js +27 -27
- package/models/church/gallery.js +33 -33
- package/models/church/group.js +78 -78
- package/models/church/groupMembers.js +73 -73
- package/models/church/index.js +30 -30
- package/models/church/links.js +22 -22
- package/models/church/member.js +156 -171
- package/models/church/memberStatus.js +22 -0
- package/models/church/membership.js +75 -81
- package/models/church/ministries.js +16 -16
- package/models/church/pledge.js +65 -65
- package/models/church/pledgeAccount.js +45 -37
- package/models/church/province.js +23 -23
- package/models/church/subRole.js +21 -21
- package/models/church/subRolePermission.js +22 -22
- package/models/church/transferType.js +15 -15
- package/models/church/user.js +78 -78
- package/models/church/userTransfer.js +45 -45
- package/models/church/volunteer.js +33 -33
- package/models/common/church.js +58 -58
- package/models/common/churchDomain.js +21 -21
- package/models/common/churchPermission.js +26 -26
- package/models/common/index.js +40 -40
- package/models/common/permission.js +17 -17
- package/models/common/role.js +15 -15
- package/models/common/subscriptionPlan.js +34 -34
- package/models/common/subscriptionPlanPermission.js +33 -33
- package/models/common/user.js +39 -39
- package/package.json +41 -41
- package/public/swagger/church.json +521 -521
- package/public/swagger/master.json +537 -537
- package/public/swagger/migration.json +83 -83
- package/public/swagger/seed.json +98 -98
- package/queues/db-create.js +9 -9
- package/queues/index.js +5 -5
- package/queues/master.js +9 -9
- package/queues/migration.js +9 -9
- package/queues/seed.js +9 -9
- package/redis/config.js +5 -5
- package/routes/index.js +30 -30
- package/routes/v1/church.js +45 -45
- package/routes/v1/index.js +7 -7
- package/routes/v1/master.js +68 -68
- package/routes/v1/migration.js +10 -10
- package/routes/v1/seed.js +12 -12
- package/seeders/church/20241005124245-province.js +101 -101
- package/seeders/church/20241005124547-city.js +87 -87
- package/seeders/church/20241005131418-transferType.js +40 -40
- package/seeders/church/20241005131419-memberStatus.js +34 -0
- package/seeders/common/20241005123516-subscriptionPlan.js +43 -43
- package/seeders/common/20241005124105-role.js +38 -38
- package/seeders/common/20241005153047-permission.js +252 -242
- package/seeders/common/20241005153048-user.js +48 -48
- package/services/church.js +312 -312
- package/services/index.js +6 -6
- package/services/master.js +344 -344
- package/services/migration.js +30 -30
- package/services/seed.js +39 -39
- package/utils/churchManager.js +98 -98
- package/utils/crypto.js +40 -40
- package/utils/docUpload.js +51 -51
- package/utils/encryptDecrypt.js +26 -26
- package/utils/index.js +33 -33
- package/utils/logger.js +104 -104
- package/utils/response.js +108 -108
- package/utils/swagger.js +25 -25
- package/utils/verifyToken.js +58 -58
- package/validators/church.js +154 -154
- package/validators/index.js +3 -3
- package/validators/master.js +152 -152
- package/workers/db-create.js +37 -37
- package/workers/index.js +4 -4
- package/workers/master.js +50 -50
- package/workers/migrations.js +63 -63
- package/workers/seed.js +85 -85
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
version: '3.8'
|
|
2
|
-
services:
|
|
3
|
-
nginx1:
|
|
4
|
-
image: nginx:alpine
|
|
5
|
-
container_name: nginx1
|
|
6
|
-
ports:
|
|
7
|
-
- "80:8080" # Redirect HTTP to HTTPS
|
|
8
|
-
- "443:443" # SSL-enabled HTTPS
|
|
9
|
-
restart: on-failure
|
|
10
|
-
volumes:
|
|
11
|
-
- ./nginx/nginx.local.conf:/etc/nginx/nginx.conf
|
|
12
|
-
- ./nginx/nginx-certs:/etc/nginx/certs
|
|
13
|
-
networks:
|
|
14
|
-
- node-network
|
|
15
|
-
postgres:
|
|
16
|
-
image: postgres:15
|
|
17
|
-
container_name: postgres
|
|
18
|
-
env_file: ../.env.local
|
|
19
|
-
ports:
|
|
20
|
-
- '5432:5432'
|
|
21
|
-
restart: always
|
|
22
|
-
volumes:
|
|
23
|
-
- pgdata:/var/lib/postgresql/data
|
|
24
|
-
networks:
|
|
25
|
-
- node-network
|
|
26
|
-
|
|
27
|
-
pgadmin1:
|
|
28
|
-
image: dpage/pgadmin4
|
|
29
|
-
container_name: pgadmin1
|
|
30
|
-
env_file: ../.env.local
|
|
31
|
-
ports:
|
|
32
|
-
- "5050:80"
|
|
33
|
-
depends_on:
|
|
34
|
-
- postgres
|
|
35
|
-
networks:
|
|
36
|
-
- node-network
|
|
37
|
-
|
|
38
|
-
redis1:
|
|
39
|
-
image: redis:latest
|
|
40
|
-
container_name: redis1
|
|
41
|
-
ports:
|
|
42
|
-
- "6379:6379"
|
|
43
|
-
volumes:
|
|
44
|
-
- redis-data:/data
|
|
45
|
-
|
|
46
|
-
networks:
|
|
47
|
-
node-network:
|
|
48
|
-
driver: bridge
|
|
49
|
-
|
|
50
|
-
volumes:
|
|
51
|
-
pgdata:
|
|
52
|
-
driver: local
|
|
53
|
-
driver_opts:
|
|
54
|
-
type: none
|
|
55
|
-
o: bind
|
|
56
|
-
device: ${HOME}/.churchsoln/postgres
|
|
57
|
-
redis-data:
|
|
58
|
-
driver: local
|
|
59
|
-
driver_opts:
|
|
60
|
-
type: none
|
|
61
|
-
o: bind
|
|
62
|
-
device: ${HOME}/.churchsoln/redis
|
|
63
|
-
|
|
64
|
-
# RUN Command: docker-compose -f deployment/docker-compose.yml up -d --build
|
|
1
|
+
version: '3.8'
|
|
2
|
+
services:
|
|
3
|
+
nginx1:
|
|
4
|
+
image: nginx:alpine
|
|
5
|
+
container_name: nginx1
|
|
6
|
+
ports:
|
|
7
|
+
- "80:8080" # Redirect HTTP to HTTPS
|
|
8
|
+
- "443:443" # SSL-enabled HTTPS
|
|
9
|
+
restart: on-failure
|
|
10
|
+
volumes:
|
|
11
|
+
- ./nginx/nginx.local.conf:/etc/nginx/nginx.conf
|
|
12
|
+
- ./nginx/nginx-certs:/etc/nginx/certs
|
|
13
|
+
networks:
|
|
14
|
+
- node-network
|
|
15
|
+
postgres:
|
|
16
|
+
image: postgres:15
|
|
17
|
+
container_name: postgres
|
|
18
|
+
env_file: ../.env.local
|
|
19
|
+
ports:
|
|
20
|
+
- '5432:5432'
|
|
21
|
+
restart: always
|
|
22
|
+
volumes:
|
|
23
|
+
- pgdata:/var/lib/postgresql/data
|
|
24
|
+
networks:
|
|
25
|
+
- node-network
|
|
26
|
+
|
|
27
|
+
pgadmin1:
|
|
28
|
+
image: dpage/pgadmin4
|
|
29
|
+
container_name: pgadmin1
|
|
30
|
+
env_file: ../.env.local
|
|
31
|
+
ports:
|
|
32
|
+
- "5050:80"
|
|
33
|
+
depends_on:
|
|
34
|
+
- postgres
|
|
35
|
+
networks:
|
|
36
|
+
- node-network
|
|
37
|
+
|
|
38
|
+
redis1:
|
|
39
|
+
image: redis:latest
|
|
40
|
+
container_name: redis1
|
|
41
|
+
ports:
|
|
42
|
+
- "6379:6379"
|
|
43
|
+
volumes:
|
|
44
|
+
- redis-data:/data
|
|
45
|
+
|
|
46
|
+
networks:
|
|
47
|
+
node-network:
|
|
48
|
+
driver: bridge
|
|
49
|
+
|
|
50
|
+
volumes:
|
|
51
|
+
pgdata:
|
|
52
|
+
driver: local
|
|
53
|
+
driver_opts:
|
|
54
|
+
type: none
|
|
55
|
+
o: bind
|
|
56
|
+
device: ${HOME}/.churchsoln/postgres
|
|
57
|
+
redis-data:
|
|
58
|
+
driver: local
|
|
59
|
+
driver_opts:
|
|
60
|
+
type: none
|
|
61
|
+
o: bind
|
|
62
|
+
device: ${HOME}/.churchsoln/redis
|
|
63
|
+
|
|
64
|
+
# RUN Command: docker-compose -f deployment/docker-compose.yml up -d --build
|
|
65
65
|
# STOP Command: docker-compose -f deployment/docker-compose.yml down --volumes
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
version: '3'
|
|
2
|
-
services:
|
|
3
|
-
churchsoln_dbms:
|
|
4
|
-
container_name: churchsoln_dbms
|
|
5
|
-
build:
|
|
6
|
-
context: ../
|
|
7
|
-
dockerfile: Dockerfile
|
|
8
|
-
restart: always
|
|
9
|
-
ports:
|
|
10
|
-
- "5007:5007"
|
|
11
|
-
depends_on:
|
|
12
|
-
- postgres
|
|
13
|
-
- redis1
|
|
14
|
-
env_file: ../.env
|
|
15
|
-
volumes:
|
|
16
|
-
- ../:/app
|
|
17
|
-
- image-volume:/app/uploads/images
|
|
18
|
-
- document-volume:/app/uploads/documents
|
|
19
|
-
- video-volume:/app/uploads/videos
|
|
20
|
-
networks:
|
|
21
|
-
- app-network
|
|
22
|
-
|
|
23
|
-
postgres:
|
|
24
|
-
image: postgres:15
|
|
25
|
-
container_name: postgres
|
|
26
|
-
env_file: ../.env
|
|
27
|
-
restart: always
|
|
28
|
-
volumes:
|
|
29
|
-
- pgdata:/var/lib/postgresql/data
|
|
30
|
-
networks:
|
|
31
|
-
- app-network
|
|
32
|
-
|
|
33
|
-
pgadmin1:
|
|
34
|
-
image: dpage/pgadmin4
|
|
35
|
-
container_name: pgadmin1
|
|
36
|
-
env_file: ../.env
|
|
37
|
-
ports:
|
|
38
|
-
- "5008:80"
|
|
39
|
-
depends_on:
|
|
40
|
-
- postgres
|
|
41
|
-
networks:
|
|
42
|
-
- app-network
|
|
43
|
-
|
|
44
|
-
redis1:
|
|
45
|
-
image: redis:latest
|
|
46
|
-
container_name: redis1
|
|
47
|
-
ports:
|
|
48
|
-
- "6379:6379"
|
|
49
|
-
volumes:
|
|
50
|
-
- redis-data:/data
|
|
51
|
-
networks:
|
|
52
|
-
- app-network
|
|
53
|
-
|
|
54
|
-
networks:
|
|
55
|
-
app-network:
|
|
56
|
-
driver: bridge
|
|
57
|
-
|
|
58
|
-
volumes:
|
|
59
|
-
pgdata:
|
|
60
|
-
redis-data:
|
|
61
|
-
image-volume:
|
|
62
|
-
document-volume:
|
|
1
|
+
version: '3'
|
|
2
|
+
services:
|
|
3
|
+
churchsoln_dbms:
|
|
4
|
+
container_name: churchsoln_dbms
|
|
5
|
+
build:
|
|
6
|
+
context: ../
|
|
7
|
+
dockerfile: Dockerfile
|
|
8
|
+
restart: always
|
|
9
|
+
ports:
|
|
10
|
+
- "5007:5007"
|
|
11
|
+
depends_on:
|
|
12
|
+
- postgres
|
|
13
|
+
- redis1
|
|
14
|
+
env_file: ../.env
|
|
15
|
+
volumes:
|
|
16
|
+
- ../:/app
|
|
17
|
+
- image-volume:/app/uploads/images
|
|
18
|
+
- document-volume:/app/uploads/documents
|
|
19
|
+
- video-volume:/app/uploads/videos
|
|
20
|
+
networks:
|
|
21
|
+
- app-network
|
|
22
|
+
|
|
23
|
+
postgres:
|
|
24
|
+
image: postgres:15
|
|
25
|
+
container_name: postgres
|
|
26
|
+
env_file: ../.env
|
|
27
|
+
restart: always
|
|
28
|
+
volumes:
|
|
29
|
+
- pgdata:/var/lib/postgresql/data
|
|
30
|
+
networks:
|
|
31
|
+
- app-network
|
|
32
|
+
|
|
33
|
+
pgadmin1:
|
|
34
|
+
image: dpage/pgadmin4
|
|
35
|
+
container_name: pgadmin1
|
|
36
|
+
env_file: ../.env
|
|
37
|
+
ports:
|
|
38
|
+
- "5008:80"
|
|
39
|
+
depends_on:
|
|
40
|
+
- postgres
|
|
41
|
+
networks:
|
|
42
|
+
- app-network
|
|
43
|
+
|
|
44
|
+
redis1:
|
|
45
|
+
image: redis:latest
|
|
46
|
+
container_name: redis1
|
|
47
|
+
ports:
|
|
48
|
+
- "6379:6379"
|
|
49
|
+
volumes:
|
|
50
|
+
- redis-data:/data
|
|
51
|
+
networks:
|
|
52
|
+
- app-network
|
|
53
|
+
|
|
54
|
+
networks:
|
|
55
|
+
app-network:
|
|
56
|
+
driver: bridge
|
|
57
|
+
|
|
58
|
+
volumes:
|
|
59
|
+
pgdata:
|
|
60
|
+
redis-data:
|
|
61
|
+
image-volume:
|
|
62
|
+
document-volume:
|
|
63
63
|
video-volume:
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
-----BEGIN CERTIFICATE-----
|
|
2
|
-
MIIDrzCCApegAwIBAgIUXXbhuBoBZCoq5bApAVsDWUlkQUQwDQYJKoZIhvcNAQEL
|
|
3
|
-
BQAwZzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
|
|
4
|
-
MRAwDgYDVQQKDAdDb21wYW55MRMwEQYDVQQLDApEZXBhcnRtZW50MRIwEAYDVQQD
|
|
5
|
-
DAlsb2NhbGhvc3QwHhcNMjQwOTExMTczNjM4WhcNMjUwOTExMTczNjM4WjBnMQsw
|
|
6
|
-
CQYDVQQGEwJVUzEOMAwGA1UECAwFU3RhdGUxDTALBgNVBAcMBENpdHkxEDAOBgNV
|
|
7
|
-
BAoMB0NvbXBhbnkxEzARBgNVBAsMCkRlcGFydG1lbnQxEjAQBgNVBAMMCWxvY2Fs
|
|
8
|
-
aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6n0tUkyDrZI0T6
|
|
9
|
-
go1iHizwm93utOKYX/9zH9AbCh3swVNQk32KaDZCndMWxM97JLAEh03erfLRdlty
|
|
10
|
-
qYz5LRiCN2Fpr2jiCAR2Bgog8BaLq5CNQhwIkEmW4cRMAfx/FP4gjmxr8e8qUt6s
|
|
11
|
-
FPsQMVj+AayRAH97MRGUBSfDcpYjNHwGF3OO8TZzhKgS1/Nh2hqlRcu+A284JunH
|
|
12
|
-
Bo/YQZz3VaVGfsscq9mUu4bXGRJM4v4bWdxNv3Ju1zq1uKcckb8t1qNG/w00jnTV
|
|
13
|
-
X9METbB4Un5BRK87uZmh3gf5WlDxc9i5fLbEPe1SYUy+A/8SvY0dfsjqfqwlBcVR
|
|
14
|
-
NnSTyR0CAwEAAaNTMFEwHQYDVR0OBBYEFAVP2/S6BkCiMF9LAIts9Xso1chmMB8G
|
|
15
|
-
A1UdIwQYMBaAFAVP2/S6BkCiMF9LAIts9Xso1chmMA8GA1UdEwEB/wQFMAMBAf8w
|
|
16
|
-
DQYJKoZIhvcNAQELBQADggEBAEOMC2WmDb3LTQX93n9Frf0wycFcw6oqhnxG6JAu
|
|
17
|
-
TPWq82BW/wkjDpvhAE1N+2vWg8fONhxI411pdwxDNjODxVwUOM0Xec1h/iPDQnwY
|
|
18
|
-
TQy0Qr5/gu1Wssxhlgq6MtRL8qt8BmASoCrKHQjhVRBweXtIsXFbn5RWSlkmRCLg
|
|
19
|
-
396NwcLs713Ce01ZkpoJcra5hgfqdnD3C/mxHRY9dGpgihRqBO25ZQHPYUtkjP7G
|
|
20
|
-
jGcRupL1iCVoIzM0GCDWLun7saaf5VVcvP+sVtyNXfPkY8bKJOpuqllhw5k5rPVN
|
|
21
|
-
weGlia0MQpORXUARIpMcmWLhKn/JsB17FX82dGCupxvplqg=
|
|
22
|
-
-----END CERTIFICATE-----
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
|
2
|
+
MIIDrzCCApegAwIBAgIUXXbhuBoBZCoq5bApAVsDWUlkQUQwDQYJKoZIhvcNAQEL
|
|
3
|
+
BQAwZzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVN0YXRlMQ0wCwYDVQQHDARDaXR5
|
|
4
|
+
MRAwDgYDVQQKDAdDb21wYW55MRMwEQYDVQQLDApEZXBhcnRtZW50MRIwEAYDVQQD
|
|
5
|
+
DAlsb2NhbGhvc3QwHhcNMjQwOTExMTczNjM4WhcNMjUwOTExMTczNjM4WjBnMQsw
|
|
6
|
+
CQYDVQQGEwJVUzEOMAwGA1UECAwFU3RhdGUxDTALBgNVBAcMBENpdHkxEDAOBgNV
|
|
7
|
+
BAoMB0NvbXBhbnkxEzARBgNVBAsMCkRlcGFydG1lbnQxEjAQBgNVBAMMCWxvY2Fs
|
|
8
|
+
aG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL6n0tUkyDrZI0T6
|
|
9
|
+
go1iHizwm93utOKYX/9zH9AbCh3swVNQk32KaDZCndMWxM97JLAEh03erfLRdlty
|
|
10
|
+
qYz5LRiCN2Fpr2jiCAR2Bgog8BaLq5CNQhwIkEmW4cRMAfx/FP4gjmxr8e8qUt6s
|
|
11
|
+
FPsQMVj+AayRAH97MRGUBSfDcpYjNHwGF3OO8TZzhKgS1/Nh2hqlRcu+A284JunH
|
|
12
|
+
Bo/YQZz3VaVGfsscq9mUu4bXGRJM4v4bWdxNv3Ju1zq1uKcckb8t1qNG/w00jnTV
|
|
13
|
+
X9METbB4Un5BRK87uZmh3gf5WlDxc9i5fLbEPe1SYUy+A/8SvY0dfsjqfqwlBcVR
|
|
14
|
+
NnSTyR0CAwEAAaNTMFEwHQYDVR0OBBYEFAVP2/S6BkCiMF9LAIts9Xso1chmMB8G
|
|
15
|
+
A1UdIwQYMBaAFAVP2/S6BkCiMF9LAIts9Xso1chmMA8GA1UdEwEB/wQFMAMBAf8w
|
|
16
|
+
DQYJKoZIhvcNAQELBQADggEBAEOMC2WmDb3LTQX93n9Frf0wycFcw6oqhnxG6JAu
|
|
17
|
+
TPWq82BW/wkjDpvhAE1N+2vWg8fONhxI411pdwxDNjODxVwUOM0Xec1h/iPDQnwY
|
|
18
|
+
TQy0Qr5/gu1Wssxhlgq6MtRL8qt8BmASoCrKHQjhVRBweXtIsXFbn5RWSlkmRCLg
|
|
19
|
+
396NwcLs713Ce01ZkpoJcra5hgfqdnD3C/mxHRY9dGpgihRqBO25ZQHPYUtkjP7G
|
|
20
|
+
jGcRupL1iCVoIzM0GCDWLun7saaf5VVcvP+sVtyNXfPkY8bKJOpuqllhw5k5rPVN
|
|
21
|
+
weGlia0MQpORXUARIpMcmWLhKn/JsB17FX82dGCupxvplqg=
|
|
22
|
+
-----END CERTIFICATE-----
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
-----BEGIN PRIVATE KEY-----
|
|
2
|
-
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+p9LVJMg62SNE
|
|
3
|
-
+oKNYh4s8Jvd7rTimF//cx/QGwod7MFTUJN9img2Qp3TFsTPeySwBIdN3q3y0XZb
|
|
4
|
-
cqmM+S0Ygjdhaa9o4ggEdgYKIPAWi6uQjUIcCJBJluHETAH8fxT+II5sa/HvKlLe
|
|
5
|
-
rBT7EDFY/gGskQB/ezERlAUnw3KWIzR8BhdzjvE2c4SoEtfzYdoapUXLvgNvOCbp
|
|
6
|
-
xwaP2EGc91WlRn7LHKvZlLuG1xkSTOL+G1ncTb9ybtc6tbinHJG/LdajRv8NNI50
|
|
7
|
-
1V/TBE2weFJ+QUSvO7mZod4H+VpQ8XPYuXy2xD3tUmFMvgP/Er2NHX7I6n6sJQXF
|
|
8
|
-
UTZ0k8kdAgMBAAECggEABKCnLEqhwrsaSsAEov2sLm2pCT7hGUgW7TWnb1IqSzKm
|
|
9
|
-
OJyRwxZoB1UgZosjCMdifkefdYNMccKl+EjbfUZfbImQlY01CqGRDaaqgkMHAM0W
|
|
10
|
-
dqiiRgyEXNZ/ZIsIJOkV73S6PQuofVeBWAVEo+YvN6VARI0acX2u4bakvDCkW3Xn
|
|
11
|
-
5uzYimgIcdPmI6pFOlyNwITGkHEAZGMHM8A42Dv2+JFu2+z/AFQWDer8A2NwB3In
|
|
12
|
-
kbf/XPwcCE0nC5aHn1FCJG109PhG1+Odn4+rPkxjFLaaqkVwTTxxig/kbO9oAdYQ
|
|
13
|
-
uDPG+aYvg058nbvUxaauLp5NLJfxyua78e/ceDQ/oQKBgQD2qCqskH1x4OpKHjTS
|
|
14
|
-
jtSpJZvgtS6l/qmxrFFoj12OsQ1/qGz9nBpDhJJ8r7MA8Cuzc+DWamz6jBx7Lw7d
|
|
15
|
-
WgD8YBrZtr5hZew/ZPA8tlAQFG5qUxIKppF6CQ7QXjomUOLHcRNnH3Fkgupuw0mp
|
|
16
|
-
uMPI1Oh+h1Lkr+WQlOo1w6vOzQKBgQDF4JyPx/R496fHjlLYX74UzERtwoJKqQ7B
|
|
17
|
-
6cDGVt4wOHhCZoLN6effPyGjkwJDSGL5Qr8UMWlia+qpTdk6T1TuZzOYk5ApXfNl
|
|
18
|
-
tZyN9mFk+Wp0nvoXFS20TnDjhpftlYngbKeFMhHByqU+eqQNj0CDwlk+rxLU/jT9
|
|
19
|
-
UBsKRbRDkQKBgBIyd+uBQW/8Wuya6+S42uGbv7NFSqq+bgCIqPzgztMvJsLLRzcy
|
|
20
|
-
pBFlH3WJdNhV37N+khDfiyi024kPALa95CK6aGC1hbgjz9khdkPUY3W8PCUl+cfF
|
|
21
|
-
YCgzsN8YhIu9He3+3qKWBESZD/iZ+b5GvlL7uidTjn8GpxYSlnDe/bblAoGAdu8l
|
|
22
|
-
Syp1H8xDNSevVcxeNKP+MTarF3L7osP8EXqe+77FUavJzThdHQsWDfpLbuNwUb+z
|
|
23
|
-
l9CHNhgFKJPZEDoko1K2aWuwR5znsedx3MYNDiL3wHbZfMxG90v6gFcitDOgdpr4
|
|
24
|
-
KY/JqoBByAbw2hGTRl6nQ4z5NbpBYUwnpIn26nECgYBuM0IJKkMb8Za0BnZ4B1dM
|
|
25
|
-
m0iRItnapsz6rSx3BO9t9jAO/40e6vLcRsjTh1dE8JOmlf7CdoyZ5w38owPXOFa3
|
|
26
|
-
7R26Nr1TLTG1vSctwB1AplCYmudgT5uK1uNelvR1P8JiYeABxyM4aBB70xMAUdlX
|
|
27
|
-
X2yYI5qYFwI3DDgkb3m1FA==
|
|
28
|
-
-----END PRIVATE KEY-----
|
|
1
|
+
-----BEGIN PRIVATE KEY-----
|
|
2
|
+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+p9LVJMg62SNE
|
|
3
|
+
+oKNYh4s8Jvd7rTimF//cx/QGwod7MFTUJN9img2Qp3TFsTPeySwBIdN3q3y0XZb
|
|
4
|
+
cqmM+S0Ygjdhaa9o4ggEdgYKIPAWi6uQjUIcCJBJluHETAH8fxT+II5sa/HvKlLe
|
|
5
|
+
rBT7EDFY/gGskQB/ezERlAUnw3KWIzR8BhdzjvE2c4SoEtfzYdoapUXLvgNvOCbp
|
|
6
|
+
xwaP2EGc91WlRn7LHKvZlLuG1xkSTOL+G1ncTb9ybtc6tbinHJG/LdajRv8NNI50
|
|
7
|
+
1V/TBE2weFJ+QUSvO7mZod4H+VpQ8XPYuXy2xD3tUmFMvgP/Er2NHX7I6n6sJQXF
|
|
8
|
+
UTZ0k8kdAgMBAAECggEABKCnLEqhwrsaSsAEov2sLm2pCT7hGUgW7TWnb1IqSzKm
|
|
9
|
+
OJyRwxZoB1UgZosjCMdifkefdYNMccKl+EjbfUZfbImQlY01CqGRDaaqgkMHAM0W
|
|
10
|
+
dqiiRgyEXNZ/ZIsIJOkV73S6PQuofVeBWAVEo+YvN6VARI0acX2u4bakvDCkW3Xn
|
|
11
|
+
5uzYimgIcdPmI6pFOlyNwITGkHEAZGMHM8A42Dv2+JFu2+z/AFQWDer8A2NwB3In
|
|
12
|
+
kbf/XPwcCE0nC5aHn1FCJG109PhG1+Odn4+rPkxjFLaaqkVwTTxxig/kbO9oAdYQ
|
|
13
|
+
uDPG+aYvg058nbvUxaauLp5NLJfxyua78e/ceDQ/oQKBgQD2qCqskH1x4OpKHjTS
|
|
14
|
+
jtSpJZvgtS6l/qmxrFFoj12OsQ1/qGz9nBpDhJJ8r7MA8Cuzc+DWamz6jBx7Lw7d
|
|
15
|
+
WgD8YBrZtr5hZew/ZPA8tlAQFG5qUxIKppF6CQ7QXjomUOLHcRNnH3Fkgupuw0mp
|
|
16
|
+
uMPI1Oh+h1Lkr+WQlOo1w6vOzQKBgQDF4JyPx/R496fHjlLYX74UzERtwoJKqQ7B
|
|
17
|
+
6cDGVt4wOHhCZoLN6effPyGjkwJDSGL5Qr8UMWlia+qpTdk6T1TuZzOYk5ApXfNl
|
|
18
|
+
tZyN9mFk+Wp0nvoXFS20TnDjhpftlYngbKeFMhHByqU+eqQNj0CDwlk+rxLU/jT9
|
|
19
|
+
UBsKRbRDkQKBgBIyd+uBQW/8Wuya6+S42uGbv7NFSqq+bgCIqPzgztMvJsLLRzcy
|
|
20
|
+
pBFlH3WJdNhV37N+khDfiyi024kPALa95CK6aGC1hbgjz9khdkPUY3W8PCUl+cfF
|
|
21
|
+
YCgzsN8YhIu9He3+3qKWBESZD/iZ+b5GvlL7uidTjn8GpxYSlnDe/bblAoGAdu8l
|
|
22
|
+
Syp1H8xDNSevVcxeNKP+MTarF3L7osP8EXqe+77FUavJzThdHQsWDfpLbuNwUb+z
|
|
23
|
+
l9CHNhgFKJPZEDoko1K2aWuwR5znsedx3MYNDiL3wHbZfMxG90v6gFcitDOgdpr4
|
|
24
|
+
KY/JqoBByAbw2hGTRl6nQ4z5NbpBYUwnpIn26nECgYBuM0IJKkMb8Za0BnZ4B1dM
|
|
25
|
+
m0iRItnapsz6rSx3BO9t9jAO/40e6vLcRsjTh1dE8JOmlf7CdoyZ5w38owPXOFa3
|
|
26
|
+
7R26Nr1TLTG1vSctwB1AplCYmudgT5uK1uNelvR1P8JiYeABxyM4aBB70xMAUdlX
|
|
27
|
+
X2yYI5qYFwI3DDgkb3m1FA==
|
|
28
|
+
-----END PRIVATE KEY-----
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
worker_processes 1;
|
|
2
|
-
|
|
3
|
-
events {
|
|
4
|
-
worker_connections 1024;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
http {
|
|
8
|
-
include mime.types;
|
|
9
|
-
default_type application/octet-stream;
|
|
10
|
-
sendfile on;
|
|
11
|
-
keepalive_timeout 65;
|
|
12
|
-
|
|
13
|
-
upstream frontend {
|
|
14
|
-
server host.docker.internal:5010;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
upstream backend {
|
|
18
|
-
server host.docker.internal:5009;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
# Redirect HTTP to HTTPS
|
|
22
|
-
server {
|
|
23
|
-
listen 8080;
|
|
24
|
-
server_name localhost;
|
|
25
|
-
|
|
26
|
-
# Redirect all HTTP requests to HTTPS
|
|
27
|
-
return 301 https://$host$request_uri;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
# HTTPS server
|
|
31
|
-
server {
|
|
32
|
-
listen 443 ssl;
|
|
33
|
-
server_name localhost;
|
|
34
|
-
|
|
35
|
-
# SSL certificate and key paths
|
|
36
|
-
ssl_certificate /etc/nginx/certs/localhost.crt;
|
|
37
|
-
ssl_certificate_key /etc/nginx/certs/localhost.key;
|
|
38
|
-
|
|
39
|
-
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
|
40
|
-
ssl_ciphers HIGH:!aNULL:!MD5;
|
|
41
|
-
|
|
42
|
-
proxy_buffer_size 128k;
|
|
43
|
-
proxy_buffers 4 256k;
|
|
44
|
-
proxy_busy_buffers_size 256k;
|
|
45
|
-
|
|
46
|
-
# Location for API requests
|
|
47
|
-
location /api {
|
|
48
|
-
proxy_pass http://backend;
|
|
49
|
-
proxy_set_header Host $host;
|
|
50
|
-
proxy_set_header X-Real-IP $remote_addr;
|
|
51
|
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
52
|
-
proxy_set_header X-Forwarded-Proto $scheme;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
# Location for frontend requests
|
|
56
|
-
location / {
|
|
57
|
-
proxy_pass http://frontend;
|
|
58
|
-
proxy_set_header Host $host;
|
|
59
|
-
proxy_set_header X-Real-IP $remote_addr;
|
|
60
|
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
61
|
-
proxy_set_header X-Forwarded-Proto $scheme;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
# Error pages
|
|
65
|
-
error_page 500 502 503 504 /50x.html;
|
|
66
|
-
location = /50x.html {
|
|
67
|
-
root html;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
include servers/*;
|
|
72
|
-
}
|
|
1
|
+
worker_processes 1;
|
|
2
|
+
|
|
3
|
+
events {
|
|
4
|
+
worker_connections 1024;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
http {
|
|
8
|
+
include mime.types;
|
|
9
|
+
default_type application/octet-stream;
|
|
10
|
+
sendfile on;
|
|
11
|
+
keepalive_timeout 65;
|
|
12
|
+
|
|
13
|
+
upstream frontend {
|
|
14
|
+
server host.docker.internal:5010;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
upstream backend {
|
|
18
|
+
server host.docker.internal:5009;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
# Redirect HTTP to HTTPS
|
|
22
|
+
server {
|
|
23
|
+
listen 8080;
|
|
24
|
+
server_name localhost;
|
|
25
|
+
|
|
26
|
+
# Redirect all HTTP requests to HTTPS
|
|
27
|
+
return 301 https://$host$request_uri;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
# HTTPS server
|
|
31
|
+
server {
|
|
32
|
+
listen 443 ssl;
|
|
33
|
+
server_name localhost;
|
|
34
|
+
|
|
35
|
+
# SSL certificate and key paths
|
|
36
|
+
ssl_certificate /etc/nginx/certs/localhost.crt;
|
|
37
|
+
ssl_certificate_key /etc/nginx/certs/localhost.key;
|
|
38
|
+
|
|
39
|
+
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
|
40
|
+
ssl_ciphers HIGH:!aNULL:!MD5;
|
|
41
|
+
|
|
42
|
+
proxy_buffer_size 128k;
|
|
43
|
+
proxy_buffers 4 256k;
|
|
44
|
+
proxy_busy_buffers_size 256k;
|
|
45
|
+
|
|
46
|
+
# Location for API requests
|
|
47
|
+
location /api {
|
|
48
|
+
proxy_pass http://backend;
|
|
49
|
+
proxy_set_header Host $host;
|
|
50
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
51
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
52
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
# Location for frontend requests
|
|
56
|
+
location / {
|
|
57
|
+
proxy_pass http://frontend;
|
|
58
|
+
proxy_set_header Host $host;
|
|
59
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
60
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
61
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
# Error pages
|
|
65
|
+
error_page 500 502 503 504 /50x.html;
|
|
66
|
+
location = /50x.html {
|
|
67
|
+
root html;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
include servers/*;
|
|
72
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
const churchManager = require("../utils/churchManager");
|
|
2
|
-
module.exports = async function (req, res, next) {
|
|
3
|
-
try {
|
|
4
|
-
const host = req.headers.host;
|
|
5
|
-
const domain = host.split(":")[0];
|
|
6
|
-
const churchDb = await churchManager.getChurchDbConnectionByDomain(domain);
|
|
7
|
-
const commonDb = await churchManager.getCommonDbConnection();
|
|
8
|
-
const churchId = await churchManager.getChurchIdByDomain(domain);
|
|
9
|
-
req.commonDb = commonDb;
|
|
10
|
-
req.churchDb = churchDb;
|
|
11
|
-
req.churchId = churchId;
|
|
12
|
-
next();
|
|
13
|
-
} catch (error) {
|
|
14
|
-
return res.status(400).send(error.message);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
1
|
+
const churchManager = require("../utils/churchManager");
|
|
2
|
+
module.exports = async function (req, res, next) {
|
|
3
|
+
try {
|
|
4
|
+
const host = req.headers.host;
|
|
5
|
+
const domain = host.split(":")[0];
|
|
6
|
+
const churchDb = await churchManager.getChurchDbConnectionByDomain(domain);
|
|
7
|
+
const commonDb = await churchManager.getCommonDbConnection();
|
|
8
|
+
const churchId = await churchManager.getChurchIdByDomain(domain);
|
|
9
|
+
req.commonDb = commonDb;
|
|
10
|
+
req.churchDb = churchDb;
|
|
11
|
+
req.churchId = churchId;
|
|
12
|
+
next();
|
|
13
|
+
} catch (error) {
|
|
14
|
+
return res.status(400).send(error.message);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = {
|
|
3
|
-
up: async (queryInterface, DataTypes) => {
|
|
4
|
-
await queryInterface.createTable(
|
|
5
|
-
"Province",
|
|
6
|
-
{
|
|
7
|
-
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
|
|
8
|
-
country: { type: DataTypes.STRING },
|
|
9
|
-
code: { type: DataTypes.STRING },
|
|
10
|
-
name: { type: DataTypes.STRING },
|
|
11
|
-
status: { type: DataTypes.BOOLEAN, defaultValue: true },
|
|
12
|
-
createdAt: {
|
|
13
|
-
type: DataTypes.DATE,
|
|
14
|
-
defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
|
|
15
|
-
},
|
|
16
|
-
updatedAt: {
|
|
17
|
-
type: DataTypes.DATE,
|
|
18
|
-
defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
{ timestamps: false }
|
|
22
|
-
);
|
|
23
|
-
},
|
|
24
|
-
down: async (queryInterface) => {
|
|
25
|
-
await queryInterface.dropTable("Province");
|
|
26
|
-
},
|
|
27
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
module.exports = {
|
|
3
|
+
up: async (queryInterface, DataTypes) => {
|
|
4
|
+
await queryInterface.createTable(
|
|
5
|
+
"Province",
|
|
6
|
+
{
|
|
7
|
+
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
|
|
8
|
+
country: { type: DataTypes.STRING },
|
|
9
|
+
code: { type: DataTypes.STRING },
|
|
10
|
+
name: { type: DataTypes.STRING },
|
|
11
|
+
status: { type: DataTypes.BOOLEAN, defaultValue: true },
|
|
12
|
+
createdAt: {
|
|
13
|
+
type: DataTypes.DATE,
|
|
14
|
+
defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
|
|
15
|
+
},
|
|
16
|
+
updatedAt: {
|
|
17
|
+
type: DataTypes.DATE,
|
|
18
|
+
defaultValue: DataTypes.literal("CURRENT_TIMESTAMP"),
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{ timestamps: false }
|
|
22
|
+
);
|
|
23
|
+
},
|
|
24
|
+
down: async (queryInterface) => {
|
|
25
|
+
await queryInterface.dropTable("Province");
|
|
26
|
+
},
|
|
27
|
+
};
|