@storyous/mongodb 1.7.4 → 1.7.6-beta.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/lib/global-bundle.pem +156 -28
- package/lib/migrations/runMigrations.ts +1 -1
- package/lib/mongoClient.ts +9 -1
- package/package.json +2 -3
- package/lib/appData/index.d.ts +0 -12
- package/lib/appData/index.js +0 -40
- package/lib/concurrentTask.d.ts +0 -9
- package/lib/concurrentTask.js +0 -20
- package/lib/fixtures.d.ts +0 -5
- package/lib/fixtures.js +0 -28
- package/lib/getCollection.d.ts +0 -3
- package/lib/getCollection.js +0 -9
- package/lib/getMongoConfig.d.ts +0 -6
- package/lib/getMongoConfig.js +0 -86
- package/lib/getMongoLocker.d.ts +0 -10
- package/lib/getMongoLocker.js +0 -53
- package/lib/index.d.ts +0 -15
- package/lib/migrations/Migration.d.ts +0 -6
- package/lib/migrations/Migration.js +0 -22
- package/lib/migrations/MigrationsStore.d.ts +0 -13
- package/lib/migrations/MigrationsStore.js +0 -65
- package/lib/migrations/runMigrations.d.ts +0 -12
- package/lib/migrations/runMigrations.js +0 -50
- package/lib/migrations/template.d.ts +0 -3
- package/lib/migrations/template.js +0 -11
- package/lib/mongoClient.d.ts +0 -8
- package/lib/mongoClient.js +0 -18
- package/lib/mongoErrorCodes.d.ts +0 -6
- package/lib/mongoErrorCodes.js +0 -11
- package/lib/mongoLocker.d.ts +0 -3
- package/lib/mongoLocker.js +0 -17
- package/lib/withTransaction.d.ts +0 -3
- package/lib/withTransaction.js +0 -21
package/lib/global-bundle.pem
CHANGED
|
@@ -841,6 +841,30 @@ vl46Ve5Tv/FlkyYr1RTVjETmg7lb16a8J0At14iLtpZWmwmuv4agss/1iBVMXfFk
|
|
|
841
841
|
Hing
|
|
842
842
|
-----END CERTIFICATE-----
|
|
843
843
|
-----BEGIN CERTIFICATE-----
|
|
844
|
+
MIID/zCCAuegAwIBAgIRAI+asxQA/MB1cGyyrC0MPpkwDQYJKoZIhvcNAQELBQAw
|
|
845
|
+
gZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ
|
|
846
|
+
bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn
|
|
847
|
+
QW1hem9uIFJEUyBjYS13ZXN0LTEgUm9vdCBDQSBSU0EyMDQ4IEcxMRAwDgYDVQQH
|
|
848
|
+
DAdTZWF0dGxlMCAXDTIzMDkxMzIwMjEzNFoYDzIwNjMwOTEzMjEyMTMzWjCBlzEL
|
|
849
|
+
MAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x
|
|
850
|
+
EzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6
|
|
851
|
+
b24gUkRTIGNhLXdlc3QtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNVBAcMB1Nl
|
|
852
|
+
YXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMHvQITTZcfl2O
|
|
853
|
+
yfzRIAPKwzzlc8eXWdXef7VUsbezg3lm9RC+vArO4JuAzta/aLw1D94wPSRm9JXX
|
|
854
|
+
NkP3obO6Ql80/0doooU6BAPceD0xmEWC4aCFT/5KWsD6Sy2/Rjwq3NKBTwzxLwYK
|
|
855
|
+
GqVsBp8AdrzDTmdRETC+Dg2czEo32mTDAA1uMgqrz6xxeTYroj8NTSTp6jfE6C0n
|
|
856
|
+
YgzYmVQCEIjHqI49j7k3jfT3P2skCVKGJwQzoZnerFacKzXsDB18uIqU7NaMc2cX
|
|
857
|
+
kOd0gRqpyKOzAHU2m5/S4jw4UHdkoI3E7nkayuen8ZPKH2YqWtTXUrXGhSTT34nX
|
|
858
|
+
yiFgu+vTAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHzz1NTd
|
|
859
|
+
TOm9zAv4d8l6XCFKSdJfMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC
|
|
860
|
+
AQEAodBvd0cvXQYhFBef2evnuI9XA+AC/Q9P1nYtbp5MPA4aFhy5v9rjW8wwJX14
|
|
861
|
+
l+ltd2o3tz8PFDBZ1NX2ooiWVlZthQxKn1/xDVKsTXHbYUXItPQ3jI5IscB5IML8
|
|
862
|
+
oCzAbkoLXsSPNOVFP5P4l4cZEMqHGRnBag7hLJZvmvzZSBnz+ioC2jpjVluF8kDX
|
|
863
|
+
fQGNjqPECik68CqbSV0SaQ0cgEoYTDjwON5ZLBeS8sxR2abE/gsj4VFYl5w/uEBd
|
|
864
|
+
w3Tt9uGfIy+wd2tNj6isGC6PcbPMjA31jd+ifs2yNzigqkcYTTWFtnvh4a8xiecm
|
|
865
|
+
GHu2EgH0Jqzz500N7L3uQdPkdg==
|
|
866
|
+
-----END CERTIFICATE-----
|
|
867
|
+
-----BEGIN CERTIFICATE-----
|
|
844
868
|
MIIECTCCAvGgAwIBAgIRANxgyBbnxgTEOpDul2ZnC0UwDQYJKoZIhvcNAQELBQAw
|
|
845
869
|
gZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ
|
|
846
870
|
bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws
|
|
@@ -1353,6 +1377,41 @@ tP8FTfz5UR37HUn26nXE0puj6S/Ffj4oJgIwXI7s2c26tFQeqzq6u3lrNJHp5jC9
|
|
|
1353
1377
|
Uxlo/hEJOLoDj5jnpxo8dMAtCNoQPaHdfL0P
|
|
1354
1378
|
-----END CERTIFICATE-----
|
|
1355
1379
|
-----BEGIN CERTIFICATE-----
|
|
1380
|
+
MIIF/jCCA+agAwIBAgIQEM1pS+bWfBJeu/6j1yIIFzANBgkqhkiG9w0BAQwFADCB
|
|
1381
|
+
lzELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu
|
|
1382
|
+
Yy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdB
|
|
1383
|
+
bWF6b24gUkRTIGNhLXdlc3QtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNVBAcM
|
|
1384
|
+
B1NlYXR0bGUwIBcNMjMwOTE5MjIwMTM5WhgPMjEyMzA5MTkyMzAxMzlaMIGXMQsw
|
|
1385
|
+
CQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjET
|
|
1386
|
+
MBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMDAuBgNVBAMMJ0FtYXpv
|
|
1387
|
+
biBSRFMgY2Etd2VzdC0xIFJvb3QgQ0EgUlNBNDA5NiBHMTEQMA4GA1UEBwwHU2Vh
|
|
1388
|
+
dHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Pyp8p5z6HnlGB
|
|
1389
|
+
daOj78gZ3ABufxnBFiu5NdFiGoMrS+eY//xxr2iKbnynJAzjmn5A6VKMNxtbuYIZ
|
|
1390
|
+
WKAzDb/HrWlIYD2w7ZVBXpylfPhiz3jLNsl03WdPNnEruCcivhY2QMewEVtzjPU0
|
|
1391
|
+
ofdbZlO2KpF3biv1gjPuIuE7AUyQAbWnWTlrzETAVWLboJJRRqxASSkFUHNLXod7
|
|
1392
|
+
ow02FwlAhcnCp9gSe1SKRDrpvvEvYQBAFB7owfnoQzOGDdd87RGyYfyuW8aFI2Z0
|
|
1393
|
+
LHNvsA0dTafO4Rh986c72kDL7ijICQdr5OTgZR2OnuESLk1DSK4xYJ4fA6jb5dJ5
|
|
1394
|
+
+xsI6tCPykWCW98aO/pha35OsrVNifL/5cH5pdv/ecgQGdffJB+Vdj6f/ZMwR6s/
|
|
1395
|
+
Rm37cQ9l3tU8eu/qpzsFjLq1ZUzDaVDWgMW9t49+q/zjhdmbPOabZDao7nHXrVRw
|
|
1396
|
+
rwPHWCmEY4OmH6ikEKQW3AChFjOdSg4me/J0Jr5l5jKggLPHWbNLRO8qTTK6N8qk
|
|
1397
|
+
ui3aJDi+XQfsTPARXIw4UFErArNImTsoZVyqfX7I4shp0qZbEhP6kRAbfPljw5kW
|
|
1398
|
+
Yat7ZlXqDanjsreqbLTaOU10P0rC0/4Ctv5cLSKCrzRLWtpXxhKa2wJTQ74G6fAZ
|
|
1399
|
+
1oUA79qg3F8nyM+ZzDsfNI854+PNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w
|
|
1400
|
+
HQYDVR0OBBYEFLRWiDabEQZNkzEPUCr1ZVJV6xpwMA4GA1UdDwEB/wQEAwIBhjAN
|
|
1401
|
+
BgkqhkiG9w0BAQwFAAOCAgEATkVVzkkGBjEtLGDtERi+fSpIV0MxwAsA4PAeBBmb
|
|
1402
|
+
myxo90jz6kWkKM1Wm4BkZM8/mq5VbxPef1kxHfb5CHksCL6SgG5KujfIvht+KT2a
|
|
1403
|
+
MRJB+III3CbcTy0HtwCX5AlPIbXWydhQFoJTW/OkpecUWoyFM6SqYeYZx1itJpxl
|
|
1404
|
+
sXshLjYOvw+QgvxRsDxqUfkcaC/N2yhu/30Zo2P8msJfAFry2UmA/TBrWOQKVQxl
|
|
1405
|
+
Ee/yWgp4U/bC/GZnjWnWDTwkRFGQtI4wjxbVuX6V4FTLCT7kIoHBhG+zOSduJRn3
|
|
1406
|
+
Axej7gkEXEVc/PAnwp/kSJ/b0/JONLWdjGUFkyiMn1yJlhJ2sg39vepBN5r6yVYU
|
|
1407
|
+
nJWoZAuupRpoIKfmC3/cZanXqYbYl4yxzX/PMB4kAACfdxGxLawjnnBjSzaWokXs
|
|
1408
|
+
YVh2TjWpUMwLOi0RB2mtPUjHdDLKtjOTZ1zHZnR/wVp9BmVI1BXYnz5PAqU5XqeD
|
|
1409
|
+
EmanyaAuFCeyol1EtbQhgtysThQ+vwYAXMm2iKzJxq0hik8wyG8X55FhnGEOGV3u
|
|
1410
|
+
xxq7odd3/8BXkc3dGdBPQtH+k5glaQyPnAsLVAIUvyzTmy58saL+nJnQY4mmRrwV
|
|
1411
|
+
1jJA7nnkaklI/L5fvfCg0W+TMinCOAGd+GQ4hK2SAsJLtcqiBgPf2wJHO8wiwUh9
|
|
1412
|
+
Luw=
|
|
1413
|
+
-----END CERTIFICATE-----
|
|
1414
|
+
-----BEGIN CERTIFICATE-----
|
|
1356
1415
|
MIICrjCCAjWgAwIBAgIQGKVv+5VuzEZEBzJ+bVfx2zAKBggqhkjOPQQDAzCBlzEL
|
|
1357
1416
|
MAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x
|
|
1358
1417
|
EzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTAwLgYDVQQDDCdBbWF6
|
|
@@ -1615,6 +1674,23 @@ bApIWAvCYVjGndbK9byyMq1nyj0TUzB8oJZQooaR3MMjHTmADuVBylWzkRMxbKPl
|
|
|
1615
1674
|
ICF35uSis/7ZlsftODUe8wtpkQ==
|
|
1616
1675
|
-----END CERTIFICATE-----
|
|
1617
1676
|
-----BEGIN CERTIFICATE-----
|
|
1677
|
+
MIICrjCCAjOgAwIBAgIQS7vMpOTVq2Jw457NdZ2ffjAKBggqhkjOPQQDAzCBljEL
|
|
1678
|
+
MAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x
|
|
1679
|
+
EzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMS8wLQYDVQQDDCZBbWF6
|
|
1680
|
+
b24gUkRTIGNhLXdlc3QtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwHU2Vh
|
|
1681
|
+
dHRsZTAgFw0yMzA5MTkyMjExNDNaGA8yMTIzMDkxOTIzMTE0M1owgZYxCzAJBgNV
|
|
1682
|
+
BAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYD
|
|
1683
|
+
VQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1hem9uIFJE
|
|
1684
|
+
UyBjYS13ZXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1NlYXR0bGUw
|
|
1685
|
+
djAQBgcqhkjOPQIBBgUrgQQAIgNiAARdgGSs/F2lpWKqS1ZpcmatFED1JurmNbXG
|
|
1686
|
+
Sqhv1A/geHrKCS15MPwjtnfZiujYKY4fNkCCUseoGDwkC4281nwkokvnfWR1/cXy
|
|
1687
|
+
LxfACoXNxsI4b+37CezSUBl48/5p1/OjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
|
1688
|
+
VR0OBBYEFFhLokGBuJGwKJhZcYSYKyZIitJtMA4GA1UdDwEB/wQEAwIBhjAKBggq
|
|
1689
|
+
hkjOPQQDAwNpADBmAjEA8aQQlzJRHbqFsRY4O3u/cN0T8dzjcqnYn4NV1w+jvhzt
|
|
1690
|
+
QPJLB+ggGyQhoFR6G2UrAjEA0be8OP5MWXD8d01KKbo5Dpy6TwukF5qoJmkFJKS3
|
|
1691
|
+
bKfEMvFWxXoV06HNZFWdI80u
|
|
1692
|
+
-----END CERTIFICATE-----
|
|
1693
|
+
-----BEGIN CERTIFICATE-----
|
|
1618
1694
|
MIIF/zCCA+egAwIBAgIRAPvvd+MCcp8E36lHziv0xhMwDQYJKoZIhvcNAQEMBQAw
|
|
1619
1695
|
gZcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ
|
|
1620
1696
|
bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEwMC4GA1UEAwwn
|
|
@@ -1702,6 +1778,41 @@ F/Vv/wyWSTGdobxBL6iArQNVXz0Gr4dvPAIwd0rsoa6R0x5mtvhdRPtM37FYrbHJ
|
|
|
1702
1778
|
pbV+OMusQqcSLseunLBoCHenvJW0QOCQ8EDY
|
|
1703
1779
|
-----END CERTIFICATE-----
|
|
1704
1780
|
-----BEGIN CERTIFICATE-----
|
|
1781
|
+
MIIGBTCCA+2gAwIBAgIRAO9dVdiLTEGO8kjUFExJmgowDQYJKoZIhvcNAQEMBQAw
|
|
1782
|
+
gZoxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ
|
|
1783
|
+
bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEzMDEGA1UEAwwq
|
|
1784
|
+
QW1hem9uIFJEUyBpbC1jZW50cmFsLTEgUm9vdCBDQSBSU0E0MDk2IEcxMRAwDgYD
|
|
1785
|
+
VQQHDAdTZWF0dGxlMCAXDTIyMTIwMjIwMjYwOFoYDzIxMjIxMjAyMjEyNjA4WjCB
|
|
1786
|
+
mjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu
|
|
1787
|
+
Yy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB
|
|
1788
|
+
bWF6b24gUkRTIGlsLWNlbnRyYWwtMSBSb290IENBIFJTQTQwOTYgRzExEDAOBgNV
|
|
1789
|
+
BAcMB1NlYXR0bGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDkVHmJ
|
|
1790
|
+
bUc8CNDGBcgPmXHSHj5dS1PDnnpk3doCu6pahyYXW8tqAOmOqsDuNz48exY7YVy4
|
|
1791
|
+
u9I9OPBeTYB9ZUKwxq+1ZNLsr1cwVz5DdOyDREVFOjlU4rvw0eTgzhP5yw/d+Ai/
|
|
1792
|
+
+WmPebZG0irwPKN2f60W/KJ45UNtR+30MT8ugfnPuSHWjjV+dqCOCp/mj8nOCckn
|
|
1793
|
+
k8GoREwjuTFJMKInpQUC0BaVVX6LiIdgtoLY4wdx00EqNBuROoRTAvrked0jvm7J
|
|
1794
|
+
UI39CSYxhNZJ9F6LdESZXjI4u2apfNQeSoy6WptxFHr+kh2yss1B2KT6lbwGjwWm
|
|
1795
|
+
l9HODk9kbBNSy2NeewAms36q+p8wSLPavL28IRfK0UaBAiN1hr2a/2RDGCwOJmw6
|
|
1796
|
+
5erRC5IIX5kCStyXPEGhVPp18EvMuBd37eLIxjZBBO8AIDf4Ue8QmxSeZH0cT204
|
|
1797
|
+
3/Bd6XR6+Up9iMTxkHr1URcL1AR8Zd62lg/lbEfxePNMK9mQGxKP8eTMG5AjtW9G
|
|
1798
|
+
TatEoRclgE0wZQalXHmKpBNshyYdGqQZhzL1MxCxWzfHNgZkTKIsdzxrjnP7RiBR
|
|
1799
|
+
jdRH0YhXn6Y906QfLwMCaufwfQ5J8+nj/tu7nG138kSxsu6VUkhnQJhUcUsxuHD/
|
|
1800
|
+
NnBx0KGVEldtZiZf7ccgtRVp1lA0OrVtq3ZLMQIDAQABo0IwQDAPBgNVHRMBAf8E
|
|
1801
|
+
BTADAQH/MB0GA1UdDgQWBBQ2WC3p8rWeE2N0S4Om01KsNLpk/jAOBgNVHQ8BAf8E
|
|
1802
|
+
BAMCAYYwDQYJKoZIhvcNAQEMBQADggIBAFFEVDt45Obr6Ax9E4RMgsKjj4QjMFB9
|
|
1803
|
+
wHev1jL7hezl/ULrHuWxjIusaIZEIcKfn+v2aWtqOq13P3ht7jV5KsV29CmFuCdQ
|
|
1804
|
+
q3PWiAXVs+hnMskTOmGMDnptqd6/UuSIha8mlOKKAvnmRQJvfX9hIfb/b/mVyKWD
|
|
1805
|
+
uvTTmcy3cOTJY5ZIWGyzuvmcqA0YNcb7rkJt/iaLq4RX3/ofq4y4w36hefbcvj++
|
|
1806
|
+
pXHOmXk3dAej3y6SMBOUcGMyCJcCluRPNYKDTLn+fitcPxPC3JG7fI5bxQ0D6Hpa
|
|
1807
|
+
qbyGBQu96sfahQyMc+//H8EYlo4b0vPeS5RFFXJS/VBf0AyNT4vVc7H17Q6KjeNp
|
|
1808
|
+
wEARqsIa7UalHx9MnxrQ/LSTTxiC8qmDkIFuQtw8iQMN0SoL5S0eCZNRD31awgaY
|
|
1809
|
+
y1PvY8JMN549ugIUjOXnown/OxharLW1evWUraU5rArq3JfeFpPXl4K/u10T5SCL
|
|
1810
|
+
iJRoxFilGPMFE3hvnmbi5rEy8wRUn7TpLb4I4s/CB/lT2qZTPqvQHwxKCnMm9BKF
|
|
1811
|
+
NHb4rLL5dCvUi5NJ6fQ/exOoGdOVSfT7jqFeq2TtNunERSz9vpriweliB6iIe1Al
|
|
1812
|
+
Thj8aEs1GqA764rLVGA+vUe18NhjJm9EemrdIzjSQFy/NdbN/DMaHqEzJogWloAI
|
|
1813
|
+
izQWYnCS19TJ
|
|
1814
|
+
-----END CERTIFICATE-----
|
|
1815
|
+
-----BEGIN CERTIFICATE-----
|
|
1705
1816
|
MIICvTCCAkOgAwIBAgIQCIY7E/bFvFN2lK9Kckb0dTAKBggqhkjOPQQDAzCBnjEL
|
|
1706
1817
|
MAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x
|
|
1707
1818
|
EzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTcwNQYDVQQDDC5BbWF6
|
|
@@ -1878,6 +1989,30 @@ k8x6/wvtw7wht0/DOqz1li7baSsMazqxx+jDdSr1h9xML416Q4loFCLgqQhil8Jq
|
|
|
1878
1989
|
Em4Hy3A=
|
|
1879
1990
|
-----END CERTIFICATE-----
|
|
1880
1991
|
-----BEGIN CERTIFICATE-----
|
|
1992
|
+
MIIEBDCCAuygAwIBAgIQFn6AJ+uxaPDpNVx7174CpjANBgkqhkiG9w0BAQsFADCB
|
|
1993
|
+
mjELMAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIElu
|
|
1994
|
+
Yy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTMwMQYDVQQDDCpB
|
|
1995
|
+
bWF6b24gUkRTIGlsLWNlbnRyYWwtMSBSb290IENBIFJTQTIwNDggRzExEDAOBgNV
|
|
1996
|
+
BAcMB1NlYXR0bGUwIBcNMjIxMjAyMjAxNDA4WhgPMjA2MjEyMDIyMTE0MDhaMIGa
|
|
1997
|
+
MQswCQYDVQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5j
|
|
1998
|
+
LjETMBEGA1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExMzAxBgNVBAMMKkFt
|
|
1999
|
+
YXpvbiBSRFMgaWwtY2VudHJhbC0xIFJvb3QgQ0EgUlNBMjA0OCBHMTEQMA4GA1UE
|
|
2000
|
+
BwwHU2VhdHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2xGTSJ
|
|
2001
|
+
fXorki/dkkTqdLyv4U1neeFYEyUCPN/HJ7ZloNwhj8RBrHYhZ4qtvUAvN+rs8fUm
|
|
2002
|
+
L0wmaL69ye61S+CSfDzNwBDGwOzUm/cc1NEJOHCm8XA0unBNBvpJTjsFk2LQ+rz8
|
|
2003
|
+
oU0lVV4mjnfGektrTDeADonO1adJvUTYmF6v1wMnykSkp8AnW9EG/6nwcAJuAJ7d
|
|
2004
|
+
BfaLThm6lfxPdsBNG81DLKi2me2TLQ4yl+vgRKJi2fJWwA77NaDqQuD5upRIcQwt
|
|
2005
|
+
5noJt2kFFmeiro98ZMMRaDTHAHhJfWkwkw5f2QNIww7T4r85IwbQCgJVRo4m4ZTC
|
|
2006
|
+
W/1eiEccU2407mECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU
|
|
2007
|
+
DNhVvGHzKXv0Yh6asK0apP9jJlUwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB
|
|
2008
|
+
CwUAA4IBAQCoEVTUY/rF9Zrlpb1Y1hptEguw0i2pCLakcmv3YNj6thsubbGeGx8Z
|
|
2009
|
+
RjUA/gPKirpoae2HU1y64WEu7akwr6pdTRtXXjbe9NReT6OW/0xAwceSXCOiStqS
|
|
2010
|
+
cMsWWTGg6BA3uHqad5clqITjDZr1baQ8X8en4SXRBxXyhJXbOkB60HOQeFR9CNeh
|
|
2011
|
+
pJdrWLeNYXwU0Z59juqdVMGwvDAYdugWUhW2rhafVUXszfRA5c8Izc+E31kq90aY
|
|
2012
|
+
LmxFXUHUfG0eQOmxmg+Z/nG7yLUdHIFA3id8MRh22hye3KvRdQ7ZVGFni0hG2vQQ
|
|
2013
|
+
Q01AvD/rhzyjg0czzJKLK9U/RttwdMaV
|
|
2014
|
+
-----END CERTIFICATE-----
|
|
2015
|
+
-----BEGIN CERTIFICATE-----
|
|
1881
2016
|
MIIGBTCCA+2gAwIBAgIRAJfKe4Zh4aWNt3bv6ZjQwogwDQYJKoZIhvcNAQEMBQAw
|
|
1882
2017
|
gZoxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ
|
|
1883
2018
|
bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEzMDEGA1UEAwwq
|
|
@@ -2076,6 +2211,23 @@ Pyy25SzFSmNalWoQd9wZVc/Cps2ldxhcttM+WLkFNzprd0VJa8qTz8vYtHP0ouDN
|
|
|
2076
2211
|
nWS0
|
|
2077
2212
|
-----END CERTIFICATE-----
|
|
2078
2213
|
-----BEGIN CERTIFICATE-----
|
|
2214
|
+
MIICtDCCAjmgAwIBAgIQKKqVZvk6NsLET+uYv5myCzAKBggqhkjOPQQDAzCBmTEL
|
|
2215
|
+
MAkGA1UEBhMCVVMxIjAgBgNVBAoMGUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4x
|
|
2216
|
+
EzARBgNVBAsMCkFtYXpvbiBSRFMxCzAJBgNVBAgMAldBMTIwMAYDVQQDDClBbWF6
|
|
2217
|
+
b24gUkRTIGlsLWNlbnRyYWwtMSBSb290IENBIEVDQzM4NCBHMTEQMA4GA1UEBwwH
|
|
2218
|
+
U2VhdHRsZTAgFw0yMjEyMDIyMDMyMjBaGA8yMTIyMTIwMjIxMzIyMFowgZkxCzAJ
|
|
2219
|
+
BgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMw
|
|
2220
|
+
EQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEyMDAGA1UEAwwpQW1hem9u
|
|
2221
|
+
IFJEUyBpbC1jZW50cmFsLTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl
|
|
2222
|
+
YXR0bGUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASYwfvj8BmvLAP6UkNQ4X4dXBB/
|
|
2223
|
+
webBO7swW+8HnFN2DAu+Cn/lpcDpu+dys1JmkVX435lrCH3oZjol0kCDIM1lF4Cv
|
|
2224
|
+
+78yoY1Jr/YMat22E4iz4AZd9q0NToS7+ZA0r2yjQjBAMA8GA1UdEwEB/wQFMAMB
|
|
2225
|
+
Af8wHQYDVR0OBBYEFO/8Py16qPr7J2GWpvxlTMB+op7XMA4GA1UdDwEB/wQEAwIB
|
|
2226
|
+
hjAKBggqhkjOPQQDAwNpADBmAjEAwk+rg788+u8JL6sdix7l57WTo8E/M+o3TO5x
|
|
2227
|
+
uRuPdShrBFm4ArGR2PPs4zCQuKgqAjEAi0TA3PVqAxKpoz+Ps8/054p9WTgDfBFZ
|
|
2228
|
+
i/lm2yTaPs0xjY6FNWoy7fsVw5oEKxOn
|
|
2229
|
+
-----END CERTIFICATE-----
|
|
2230
|
+
-----BEGIN CERTIFICATE-----
|
|
2079
2231
|
MIIGCTCCA/GgAwIBAgIRAOY7gfcBZgR2tqfBzMbFQCUwDQYJKoZIhvcNAQEMBQAw
|
|
2080
2232
|
gZwxCzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJ
|
|
2081
2233
|
bmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTE1MDMGA1UEAwws
|
|
@@ -2602,13 +2754,7 @@ JHb+6jM9tDbQLDFnYjDWpq4VpLPZhb7xPNh9gnYYTPKG4avG421EblAHqzy9D2pN
|
|
|
2602
2754
|
kZlHtya19OUxZ/cSGci4MlOySzqzbGwUqGxEIDlY8I39VMwXaYQ8uXUN4G780VcL
|
|
2603
2755
|
u46FeyRGxZGz2n3hMc805WAA1V5uir87vuirTvoSVREET97HVRGVVNJJ/FM6GXr1
|
|
2604
2756
|
VKtptybbo81nefYJg9KBysxAa2Ao2x2ry/2ZxwhS6VZ6v1+90bpZA1BIYFEDXXn/
|
|
2605
|
-
|
|
2606
|
-
JPeqyoTtc3m06QhLf68ccSxO4l8Hmq9kLSHO7UXgtdjfRVaffngopTNk8qK7bIb7
|
|
2607
|
-
LrgkqhiQw/PRCZjUdyXL153/fUcsj9nFNe25gM4vcFYwH6c5trd2tUl31NTi1MfG
|
|
2608
|
-
Mgp3d2dqxQBIYANkEjtBDMy3SqQLIo9EymqmVP8xx2A/gCBgaxvMAsI6FSWRoC7+
|
|
2609
|
-
hqJ8XH4mFnXSHKtYMe6WPY+/XZgtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8w
|
|
2610
|
-
HQYDVR0OBBYEFIkXqTnllT/VJnI2NqipA4XV8rh1MA4GA1UdDwEB/wQEAwIBhjAN
|
|
2611
|
-
BgkqhkiG9w0BAQwFAAOCAgEAKjSle8eenGeHgT8pltWCw/HzWyQruVKhfYIBfKJd
|
|
2757
|
+
dW0e8eenGeHgT8pltWCw/HzWyQruVKhfYIBfKJd
|
|
2612
2758
|
MhV4EnH5BK7LxBIvpXGsFUrb0ThzSw0fn0zoA9jBs3i/Sj6KyeZ9qUF6b8ycDXd+
|
|
2613
2759
|
wHonmJiQ7nk7UuMefaYAfs06vosgl1rI7eBHC0itexIQmKh0aX+821l4GEgEoSMf
|
|
2614
2760
|
loMFTLXv2w36fPHHCsZ67ODldgcZbKNnpCTX0YrCwEYO3Pz/L398btiRcWGrewrK
|
|
@@ -2670,16 +2816,7 @@ BwwHU2VhdHRsZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeTsD/u
|
|
|
2670
2816
|
NO2GpIh6bZaO76GzSv4cnimcv9n/sQSYXsGbPD+bAtnN/RvNW1avt4C0q0/ghgF1
|
|
2671
2817
|
VFS8JihIrgPYIArAmDtGNEdl5PUrdi9y6QGggbRfidMDdxlRdZBe1C18ZdgERSEv
|
|
2672
2818
|
UgSTPRlVczONG5qcQkUGCH83MMqL5MKQiby/Br5ZyPq6rxQMwRnQ7tROuElzyYzL
|
|
2673
|
-
|
|
2674
|
-
l97ToadGYa4VVERuTaNZxQwrld4mvzpyKuirqZltOqg0eoy8VUsaRPL3dc5aChR0
|
|
2675
|
-
dSrBgRYmSAClcR2/2ZCWpXemikwgt031Dsc0A/+TmVurrsqszwbr0e5xqMow9LzO
|
|
2676
|
-
MI/JtLd0VFtoOkL/7GG2tN8a+7gnLFxpv+AQ0DH5n4k/BY/IyS+H1erqSJhOTQ11
|
|
2677
|
-
vDOFTM5YplB9hWV9fp5PRs54ILlHTlZLpWGs3I2BrJwzRtg/rOlvsosqcge9ryai
|
|
2678
|
-
AKm2j+JBg5wJ19R8oxRy8cfrNTftZePpISaLTyV2B16w/GsSjqixjTQe9LRN2DHk
|
|
2679
|
-
cC+HPqYyzW2a3pUVyTGHhW6a7YsPBs9yzt6hAgMBAAGjQjBAMA8GA1UdEwEB/wQF
|
|
2680
|
-
MAMBAf8wHQYDVR0OBBYEFIqA8QkOs2cSirOpCuKuOh9VDfJfMA4GA1UdDwEB/wQE
|
|
2681
|
-
AwIBhjANBgkqhkiG9w0BAQwFAAOCAgEAOUI90mEIsa+vNJku0iUwdBMnHiO4gm7E
|
|
2682
|
-
5JloP7JG0xUr7d0hypDorMM3zVDAL+aZRHsq8n934Cywj7qEp1304UF6538ByGdz
|
|
2819
|
+
7d6kAL+aZRHsq8n934Cywj7qEp1304UF6538ByGdz
|
|
2683
2820
|
tkfacJsUSYfdlNJE9KbA4T+U+7SNhj9jvePpVjdQbhgzxITE9f8CxY/eM40yluJJ
|
|
2684
2821
|
PhbaWvOiRagzo74wttlcDerzLT6Y/JrVpWhnB7IY8HvzK+BwAdaCsBUPC3HF+kth
|
|
2685
2822
|
CIqLq7J3YArTToejWZAp5OOI6DLPM1MEudyoejL02w0jq0CChmZ5i55ElEMnapRX
|
|
@@ -2744,9 +2881,7 @@ MIICrjCCAjSgAwIBAgIRAL9SdzVPcpq7GOpvdGoM80IwCgYIKoZIzj0EAwMwgZYx
|
|
|
2744
2881
|
CzAJBgNVBAYTAlVTMSIwIAYDVQQKDBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMu
|
|
2745
2882
|
MRMwEQYDVQQLDApBbWF6b24gUkRTMQswCQYDVQQIDAJXQTEvMC0GA1UEAwwmQW1h
|
|
2746
2883
|
em9uIFJEUyBldS13ZXN0LTEgUm9vdCBDQSBFQ0MzODQgRzExEDAOBgNVBAcMB1Nl
|
|
2747
|
-
|
|
2748
|
-
VQQGEwJVUzEiMCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEG
|
|
2749
|
-
A1UECwwKQW1hem9uIFJEUzELMAkGA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS
|
|
2884
|
+
GA1UECAwCV0ExLzAtBgNVBAMMJkFtYXpvbiBS
|
|
2750
2885
|
RFMgZXUtd2VzdC0xIFJvb3QgQ0EgRUNDMzg0IEcxMRAwDgYDVQQHDAdTZWF0dGxl
|
|
2751
2886
|
MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJWDgXebvwjR+Ce+hxKOLbnsfN5W5dOlP
|
|
2752
2887
|
Zn8kwWnD+SLkU81Eac/BDJsXGrMk6jFD1vg16PEkoSevsuYWlC8xR6FmT6F6pmeh
|
|
@@ -2776,14 +2911,7 @@ JaAOUofBfsDsk4X4SUFE7xJa1FZAiu2lqB/E+y7jnWOvFRalzxVJ2Y+D/ZfUfrnK
|
|
|
2776
2911
|
4pfKtyD1C6ni1celrZrAwLrJ3PoXPSg4aJKh8+CHex477SRsGj8KP19FG8r0P5AG
|
|
2777
2912
|
8lS1V+enFCNvT5KqEBpDZ/Y5SQAhAYFUX+zH4/n4ql0l/emS+x23kSRrF+yMkB9q
|
|
2778
2913
|
lhC/fMk6Pi3tICBjrDQ8XAxv56hfud9w6+/ljYB2uQ1iUYtlE3JdIiuE+3ws26O8
|
|
2779
|
-
i7PLMD9zQmo
|
|
2780
|
-
MAMBAf8wHQYDVR0OBBYEFBFot08ipEL9ZUXCG4lagmF53C0/MA4GA1UdDwEB/wQE
|
|
2781
|
-
AwIBhjANBgkqhkiG9w0BAQwFAAOCAgEAi2mcZi6cpaeqJ10xzMY0F3L2eOKYnlEQ
|
|
2782
|
-
h6QyhmNKCUF05q5u+cok5KtznzqMwy7TFOZtbVHl8uUX+xvgq/MQCxqFAnuStBXm
|
|
2783
|
-
gr2dg1h509ZwvTdk7TDxGdftvPCfnPNJBFbMSq4CZtNcOFBg9Rj8c3Yj+Qvwd56V
|
|
2784
|
-
zWs65BUkDNJrXmxdvhJZjUkMa9vi/oFN+M84xXeZTaC5YDYNZZeW9706QqDbAVES
|
|
2785
|
-
5ulvKLavB8waLI/lhRBK5/k0YykCMl0A8Togt8D1QsQ0eWWbIM8/HYJMPVFhJ8Wj
|
|
2786
|
-
vT1p/YVeDA3Bo1iKDOttgC5vILf5Rw1ZEeDxjf/r8A7VS13D3OLjBmc31zxRTs3n
|
|
2914
|
+
i7PLMD9zQmo+\r8A7VS13D3OLjBmc31zxRTs3n
|
|
2787
2915
|
XvHKP9MieQHn9GE44tEYPjK3/yC6BDFzCBlvccYHmqGb+jvDEXEBXKzimdC9mcDl
|
|
2788
2916
|
f4BBQWGJBH5jkbU9p6iti19L/zHhz7qU6UJWbxY40w92L9jS9Utljh4A0LCTjlnR
|
|
2789
2917
|
NQUgjnGC6K+jkw8hj0LTC5Ip87oqoT9w7Av5EJ3VJ4hcnmNMXJJ1DkWYdnytcGpO
|
|
@@ -22,7 +22,7 @@ export default async function runMigrations (
|
|
|
22
22
|
{
|
|
23
23
|
stateStore: new MigrationsStore(logger, directory, safeMigration),
|
|
24
24
|
migrationsDirectory: directory,
|
|
25
|
-
filterFunction: (file: string) => file.endsWith('.js')
|
|
25
|
+
filterFunction: (file: string) => file.endsWith('.js'),
|
|
26
26
|
},
|
|
27
27
|
(err: Error | null, set: MigrationSet) => {
|
|
28
28
|
if (err) {
|
package/lib/mongoClient.ts
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
1
2
|
import { defaultsDeep } from 'lodash';
|
|
2
3
|
import { MongoClient, MongoClientOptions, ObjectId } from 'mongodb';
|
|
3
4
|
|
|
4
5
|
export type Key = string | number | ObjectId;
|
|
5
6
|
|
|
7
|
+
const ca = fs.readFileSync('global-bundle.pem');
|
|
8
|
+
|
|
6
9
|
const mongoClient = {
|
|
7
10
|
_client: <MongoClient|null> null,
|
|
8
11
|
|
|
9
12
|
init (mongodbUrl: string, mongoOptions?: MongoClientOptions) {
|
|
10
13
|
this._client = new MongoClient(
|
|
11
14
|
mongodbUrl,
|
|
12
|
-
|
|
15
|
+
{
|
|
16
|
+
...defaultsDeep(mongoOptions),
|
|
17
|
+
ssl: true,
|
|
18
|
+
sslValidate: true,
|
|
19
|
+
sslCA: ca,
|
|
20
|
+
},
|
|
13
21
|
);
|
|
14
22
|
},
|
|
15
23
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storyous/mongodb",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.6-beta.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://github.com/Storyous/mono-utils#readme",
|
|
6
6
|
"license": "ISC",
|
|
@@ -45,6 +45,5 @@
|
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"mongodb": ">=4 <5"
|
|
48
|
-
}
|
|
49
|
-
"gitHead": "f586f8774f5c26053046350df48f901ff7f98914"
|
|
48
|
+
}
|
|
50
49
|
}
|
package/lib/appData/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Collection, InsertOneResult, WithId } from 'mongodb';
|
|
2
|
-
import { Key } from '../mongoClient';
|
|
3
|
-
declare const appData: {
|
|
4
|
-
readonly _collection: Collection<any>;
|
|
5
|
-
_failReads: number;
|
|
6
|
-
ensureDocumentExists(document: {
|
|
7
|
-
_id: Key;
|
|
8
|
-
}): Promise<Document | InsertOneResult | null>;
|
|
9
|
-
updateDocument(_id: Key, update: Object, upsert?: boolean): Promise<WithId<any | null>>;
|
|
10
|
-
getDocument(_id: Key): Promise<WithId<any | null>>;
|
|
11
|
-
};
|
|
12
|
-
export default appData;
|
package/lib/appData/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const getCollection_1 = __importDefault(require("../getCollection"));
|
|
7
|
-
const mongoDuplicateKeyErrorCodes = [11000, 11001];
|
|
8
|
-
const appData = {
|
|
9
|
-
get _collection() {
|
|
10
|
-
return (0, getCollection_1.default)('appData');
|
|
11
|
-
},
|
|
12
|
-
_failReads: 0,
|
|
13
|
-
ensureDocumentExists(document) {
|
|
14
|
-
return this._collection
|
|
15
|
-
.insertOne(document)
|
|
16
|
-
.catch((err) => (new Promise((resolve, reject) => {
|
|
17
|
-
if (!mongoDuplicateKeyErrorCodes.includes(err.code)) {
|
|
18
|
-
reject(err);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
resolve(null);
|
|
22
|
-
})));
|
|
23
|
-
},
|
|
24
|
-
updateDocument(_id, update, upsert = false) {
|
|
25
|
-
const query = { _id };
|
|
26
|
-
const options = {
|
|
27
|
-
returnOriginal: false,
|
|
28
|
-
upsert,
|
|
29
|
-
};
|
|
30
|
-
return this._collection
|
|
31
|
-
.findOneAndUpdate(query, update, options)
|
|
32
|
-
.then((result) => result.value);
|
|
33
|
-
},
|
|
34
|
-
getDocument(_id) {
|
|
35
|
-
const query = { _id };
|
|
36
|
-
return this._collection.findOne(query);
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
exports.default = appData;
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHFFQUE2QztBQUc3QyxNQUFNLDJCQUEyQixHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBRW5ELE1BQU0sT0FBTyxHQUFHO0lBRVosSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFBLHVCQUFhLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVUsRUFBRSxDQUFDO0lBRWIsb0JBQW9CLENBQUUsUUFBc0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixTQUFTLENBQUMsUUFBZSxDQUFDO2FBQzFCLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FDakIsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFWixPQUFPO2FBQ1Y7WUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELGNBQWMsQ0FBRSxHQUFRLEVBQUUsTUFBYyxFQUFFLFNBQWtCLEtBQUs7UUFDN0QsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRztZQUNaLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLE1BQU07U0FDVCxDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsV0FBVzthQUNsQixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQzthQUN4QyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVyxDQUFFLEdBQVE7UUFDakIsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUN0QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FFSixDQUFDO0FBRUYsa0JBQWUsT0FBTyxDQUFDIn0=
|
package/lib/concurrentTask.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* noLaterThan = In what time by now should be the latest attempt executed
|
|
3
|
-
* startAttemptsDelay = Starting attempts delay
|
|
4
|
-
*/
|
|
5
|
-
declare const concurrentTask: <T>(task: () => Promise<T>, { noLaterThan, startAttemptsDelay }?: {
|
|
6
|
-
noLaterThan?: number | undefined;
|
|
7
|
-
startAttemptsDelay?: number | undefined;
|
|
8
|
-
}) => Promise<any>;
|
|
9
|
-
export default concurrentTask;
|
package/lib/concurrentTask.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const errors_1 = require("@storyous/errors");
|
|
4
|
-
const attemptRecursive = async (task, startAttemptsDelay, latestTime, callNumber) => (task().catch(async (err) => {
|
|
5
|
-
if (errors_1.AppError.isConcurrentRequestError(err)) {
|
|
6
|
-
const nextCallDelay = startAttemptsDelay * (callNumber ** 2);
|
|
7
|
-
if ((Date.now() + nextCallDelay) < latestTime) {
|
|
8
|
-
await new Promise((resolve) => { setTimeout(resolve, nextCallDelay); });
|
|
9
|
-
return attemptRecursive(task, startAttemptsDelay, latestTime, ++callNumber);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
throw err;
|
|
13
|
-
}));
|
|
14
|
-
/**
|
|
15
|
-
* noLaterThan = In what time by now should be the latest attempt executed
|
|
16
|
-
* startAttemptsDelay = Starting attempts delay
|
|
17
|
-
*/
|
|
18
|
-
const concurrentTask = async (task, { noLaterThan = 2000, startAttemptsDelay = 50 } = {}) => (attemptRecursive(task, startAttemptsDelay, Date.now() + noLaterThan, 1));
|
|
19
|
-
exports.default = concurrentTask;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY3VycmVudFRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb25jdXJyZW50VGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUE0QztBQUU1QyxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFDMUIsSUFBc0IsRUFDdEIsa0JBQTBCLEVBQzFCLFVBQWtCLEVBQ2xCLFVBQWtCLEVBQ04sRUFBRSxDQUFDLENBQ2YsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFVLEVBQUUsRUFBRTtJQUM5QixJQUFJLGlCQUFRLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDeEMsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLEdBQUcsQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxhQUFhLENBQUMsR0FBRyxVQUFVLEVBQUU7WUFDM0MsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQy9FO0tBQ0o7SUFFRCxNQUFNLEdBQUcsQ0FBQztBQUNkLENBQUMsQ0FBQyxDQUNMLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQU0sSUFBc0IsRUFBRSxFQUFFLFdBQVcsR0FBRyxJQUFJLEVBQUUsa0JBQWtCLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUMvRyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FDMUUsQ0FBQztBQUVGLGtCQUFlLGNBQWMsQ0FBQyJ9
|
package/lib/fixtures.d.ts
DELETED
package/lib/fixtures.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const lodash_1 = require("lodash");
|
|
4
|
-
const fixtures = {
|
|
5
|
-
ensureInCollection(_fixtures, collection) {
|
|
6
|
-
const fixtureIds = [];
|
|
7
|
-
const objectMap = {};
|
|
8
|
-
_fixtures.forEach((object) => {
|
|
9
|
-
fixtureIds.push(object._id);
|
|
10
|
-
objectMap[object._id.toString()] = object;
|
|
11
|
-
});
|
|
12
|
-
return collection.find({ _id: { $in: fixtureIds } })
|
|
13
|
-
.toArray()
|
|
14
|
-
.then((existing) => {
|
|
15
|
-
existing.forEach((object) => {
|
|
16
|
-
const stringId = object._id.toString();
|
|
17
|
-
delete objectMap[stringId];
|
|
18
|
-
});
|
|
19
|
-
const filteredObjects = (0, lodash_1.toArray)(objectMap);
|
|
20
|
-
if (filteredObjects.length) {
|
|
21
|
-
return collection.insertMany(filteredObjects);
|
|
22
|
-
}
|
|
23
|
-
return Promise.resolve(null);
|
|
24
|
-
});
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
exports.default = fixtures;
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJmaXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFpQztBQUdqQyxNQUFNLFFBQVEsR0FBRztJQUNiLGtCQUFrQixDQUFFLFNBQXFCLEVBQUUsVUFBc0I7UUFDN0QsTUFBTSxVQUFVLEdBQWUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sU0FBUyxHQUE2QixFQUFFLENBQUM7UUFFL0MsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3pCLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNsQixFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUMvQjthQUNJLE9BQU8sRUFBRTthQUNULElBQUksQ0FDRCxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ1QsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUN4QixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sZUFBZSxHQUFlLElBQUEsZ0JBQU8sRUFBQyxTQUFTLENBQUMsQ0FBQztZQUV2RCxJQUFJLGVBQWUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQzthQUNqRDtZQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNmLENBQUM7Q0FDSixDQUFDO0FBRUYsa0JBQWUsUUFBUSxDQUFDIn0=
|
package/lib/getCollection.d.ts
DELETED
package/lib/getCollection.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const mongoClient_1 = __importDefault(require("./mongoClient"));
|
|
7
|
-
exports.default = (name) => mongoClient_1.default
|
|
8
|
-
.getClient().db().collection(name);
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdldENvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxnRUFBd0M7QUFFeEMsa0JBQWUsQ0FBZ0MsSUFBWSxFQUFpQixFQUFFLENBQUMscUJBQVc7S0FDckYsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDIn0=
|
package/lib/getMongoConfig.d.ts
DELETED
package/lib/getMongoConfig.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const path = __importStar(require("path"));
|
|
27
|
-
const getEnv = (prefix, variable, defaultValue = null) => {
|
|
28
|
-
const value = process.env[`${prefix}_${variable}`];
|
|
29
|
-
if (value === undefined && defaultValue !== null) {
|
|
30
|
-
return defaultValue;
|
|
31
|
-
}
|
|
32
|
-
if (value === undefined) {
|
|
33
|
-
throw new Error(`Environment variable "${prefix}_${variable}" missing.`);
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
36
|
-
};
|
|
37
|
-
exports.default = (envPrefix = 'DOCUMENTDB', mongoOptions = {}, documentDbOptions = {}) => {
|
|
38
|
-
const uri = getEnv(envPrefix, 'URI', '');
|
|
39
|
-
if (uri) {
|
|
40
|
-
return {
|
|
41
|
-
mongodbUrl: uri,
|
|
42
|
-
mongoOptions,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const engine = getEnv(envPrefix, 'ENGINE');
|
|
46
|
-
const protocol = getEnv(envPrefix, 'PROTOCOL', 'mongodb');
|
|
47
|
-
const endpoint = getEnv(envPrefix, 'ENDPOINT');
|
|
48
|
-
const port = getEnv(envPrefix, 'PORT', '');
|
|
49
|
-
const username = getEnv(envPrefix, 'USERNAME');
|
|
50
|
-
const password = getEnv(envPrefix, 'PASSWORD');
|
|
51
|
-
const database = getEnv(envPrefix, 'DATABASE', '');
|
|
52
|
-
const query = getEnv(envPrefix, 'QUERY', '');
|
|
53
|
-
const fullPort = port !== '' ? `:${port}` : '';
|
|
54
|
-
const fullDatabase = database !== '' ? `/${database}` : '';
|
|
55
|
-
const fullQuery = query !== '' ? `?${query}` : '';
|
|
56
|
-
if (engine === 'mongodb') {
|
|
57
|
-
return {
|
|
58
|
-
mongodbUrl: `${protocol}://${username}:${password}@${endpoint}${fullPort}${fullDatabase}${fullQuery}`,
|
|
59
|
-
mongoOptions,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
if (engine === 'documentdb') {
|
|
63
|
-
return {
|
|
64
|
-
mongodbUrl: `${protocol}://${endpoint}${fullPort}${fullDatabase}${fullQuery}`,
|
|
65
|
-
mongoOptions: {
|
|
66
|
-
tlsCAFile: path.resolve(__dirname, 'global-bundle.pem'),
|
|
67
|
-
tls: true,
|
|
68
|
-
auth: {
|
|
69
|
-
username,
|
|
70
|
-
password,
|
|
71
|
-
},
|
|
72
|
-
replicaSet: 'rs0',
|
|
73
|
-
retryWrites: false,
|
|
74
|
-
connectTimeoutMS: 5000,
|
|
75
|
-
maxIdleTimeMS: 5000,
|
|
76
|
-
socketTimeoutMS: 5000,
|
|
77
|
-
waitQueueTimeoutMS: 5000,
|
|
78
|
-
wtimeoutMS: 5000,
|
|
79
|
-
serverSelectionTimeoutMS: 5000,
|
|
80
|
-
...documentDbOptions,
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
throw new Error(`Invalid ${envPrefix}_ENGINE value "${engine}", values "mongodb" or "documentdb" allowed.`);
|
|
85
|
-
};
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TW9uZ29Db25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRNb25nb0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBTzdCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBYyxFQUFFLFFBQWdCLEVBQUUsZUFBNEIsSUFBSSxFQUFVLEVBQUU7SUFDMUYsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1FBQzlDLE9BQU8sWUFBWSxDQUFDO0tBQ3ZCO0lBRUQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLE1BQU0sSUFBSSxRQUFRLFlBQVksQ0FBQyxDQUFDO0tBQzVFO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsa0JBQWUsQ0FDWCxZQUFvQixZQUFZLEVBQ2hDLFlBQVksR0FBRyxFQUFFLEVBQ2pCLGlCQUFpQixHQUFHLEVBQUUsRUFDaEIsRUFBRTtJQUNSLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLElBQUksR0FBRyxFQUFFO1FBQ0wsT0FBTztZQUNILFVBQVUsRUFBRSxHQUFHO1lBQ2YsWUFBWTtTQUNmLENBQUM7S0FDTDtJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDM0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDL0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbkQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFN0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9DLE1BQU0sWUFBWSxHQUFHLFFBQVEsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRCxNQUFNLFNBQVMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFbEQsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3RCLE9BQU87WUFDSCxVQUFVLEVBQUUsR0FBRyxRQUFRLE1BQU0sUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFlBQVksR0FBRyxTQUFTLEVBQUU7WUFDckcsWUFBWTtTQUNmLENBQUM7S0FDTDtJQUVELElBQUksTUFBTSxLQUFLLFlBQVksRUFBRTtRQUN6QixPQUFPO1lBQ0gsVUFBVSxFQUFFLEdBQUcsUUFBUSxNQUFNLFFBQVEsR0FBRyxRQUFRLEdBQUcsWUFBWSxHQUFHLFNBQVMsRUFBRTtZQUM3RSxZQUFZLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLG1CQUFtQixDQUFDO2dCQUN2RCxHQUFHLEVBQUUsSUFBSTtnQkFDVCxJQUFJLEVBQUU7b0JBQ0YsUUFBUTtvQkFDUixRQUFRO2lCQUNYO2dCQUNELFVBQVUsRUFBRSxLQUFLO2dCQUNqQixXQUFXLEVBQUUsS0FBSztnQkFDbEIsZ0JBQWdCLEVBQUUsSUFBSTtnQkFDdEIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLGVBQWUsRUFBRSxJQUFJO2dCQUNyQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsd0JBQXdCLEVBQUUsSUFBSTtnQkFDOUIsR0FBRyxpQkFBaUI7YUFDdkI7U0FDSixDQUFDO0tBQ0w7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsU0FBUyxrQkFBa0IsTUFBTSw4Q0FBOEMsQ0FBQyxDQUFDO0FBQ2hILENBQUMsQ0FBQyJ9
|
package/lib/getMongoLocker.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Collection } from 'mongodb';
|
|
2
|
-
import { Key } from './mongoClient';
|
|
3
|
-
export declare type LockCallback<T> = () => Promise<T>;
|
|
4
|
-
export declare type LockerOptions = {
|
|
5
|
-
noLaterThan?: number;
|
|
6
|
-
startAttemptsDelay?: number;
|
|
7
|
-
expireIn?: number;
|
|
8
|
-
};
|
|
9
|
-
declare const _default: (collection: Collection) => Promise<(<T>(key: Key, callback: LockCallback<T>, { noLaterThan, startAttemptsDelay, expireIn }?: LockerOptions) => Promise<T>)>;
|
|
10
|
-
export default _default;
|
package/lib/getMongoLocker.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const errors_1 = require("@storyous/errors");
|
|
7
|
-
const mongodb_1 = require("mongodb");
|
|
8
|
-
const concurrentTask_1 = __importDefault(require("./concurrentTask"));
|
|
9
|
-
const mongoErrorCodes_1 = __importDefault(require("./mongoErrorCodes"));
|
|
10
|
-
const _removeDeprecatedIndex = async (collection) => {
|
|
11
|
-
const collectionStats = await collection.stats();
|
|
12
|
-
if (collectionStats.indexDetails?.acquiredAt_1) {
|
|
13
|
-
await collection.dropIndex('acquiredAt_1');
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
exports.default = async (collection) => {
|
|
17
|
-
await _removeDeprecatedIndex(collection);
|
|
18
|
-
await collection.createIndex({ expiresAt: 1 }, { expireAfterSeconds: 0 });
|
|
19
|
-
return async (key, callback, { noLaterThan = 1000, startAttemptsDelay = 50, expireIn = 120000 } = {}) => {
|
|
20
|
-
const lockId = new mongodb_1.ObjectId();
|
|
21
|
-
const releaseLock = () => collection.deleteOne({ _id: key, lockId });
|
|
22
|
-
const acquireLock = async () => {
|
|
23
|
-
try {
|
|
24
|
-
const now = new Date();
|
|
25
|
-
/**
|
|
26
|
-
* 3 possible situations
|
|
27
|
-
* a) There is no lock -> upsert will create the document
|
|
28
|
-
* b) There is an expired lock -> expiresAt: { $lte: now } will match and the document will be replaced
|
|
29
|
-
* c) There is an unexpired lock -> expiresAt: { $lte: now } will not match,
|
|
30
|
-
* database will try to insert the new one, but it will fail on duplicate key (_id) error
|
|
31
|
-
*/
|
|
32
|
-
await collection.replaceOne({ _id: key, expiresAt: { $lte: now } },
|
|
33
|
-
// replaceOne will use the _id from filter parameter when inserting new document
|
|
34
|
-
{ lockId, expiresAt: new Date(now.getTime() + expireIn) }, { upsert: true });
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
if (mongoErrorCodes_1.default.DUPLICATE_KEY.includes(err.code)) {
|
|
38
|
-
throw errors_1.AppError.concurrentRequest('The lock is already acquired.');
|
|
39
|
-
}
|
|
40
|
-
await releaseLock(); // the lock could be possible acquired
|
|
41
|
-
throw err;
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
await (0, concurrentTask_1.default)(acquireLock, { noLaterThan, startAttemptsDelay });
|
|
45
|
-
try {
|
|
46
|
-
return await callback();
|
|
47
|
-
}
|
|
48
|
-
finally {
|
|
49
|
-
await releaseLock();
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0TW9uZ29Mb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnZXRNb25nb0xvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUE0QztBQUM1QyxxQ0FBK0M7QUFDL0Msc0VBQThDO0FBRTlDLHdFQUFnRDtBQVVoRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssRUFBRSxVQUFzQixFQUFFLEVBQUU7SUFDNUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakQsSUFBSSxlQUFlLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRTtRQUM1QyxNQUFNLFVBQVUsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDOUM7QUFDTCxDQUFDLENBQUM7QUFFRixrQkFBZSxLQUFLLEVBQUUsVUFBc0IsRUFBRSxFQUFFO0lBRTVDLE1BQU0sc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUxRSxPQUFPLEtBQUssRUFDUixHQUFRLEVBQ1IsUUFBeUIsRUFDekIsRUFBRSxXQUFXLEdBQUcsSUFBSSxFQUFFLGtCQUFrQixHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsTUFBTSxLQUFvQixFQUFFLEVBQzVFLEVBQUU7UUFFWixNQUFNLE1BQU0sR0FBRyxJQUFJLGtCQUFRLEVBQUUsQ0FBQztRQUU5QixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLE1BQU0sV0FBVyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQzNCLElBQUk7Z0JBQ0EsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkI7Ozs7OzttQkFNRztnQkFDSCxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQ3ZCLEVBQUUsR0FBRyxFQUFFLEdBQVUsRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQzdDLGdGQUFnRjtnQkFDaEYsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxFQUN6RCxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FDbkIsQ0FBQzthQUNMO1lBQUMsT0FBTyxHQUFPLEVBQUU7Z0JBQ2QsSUFBSSx5QkFBZSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNsRCxNQUFNLGlCQUFRLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztpQkFDckU7Z0JBQ0QsTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDLHNDQUFzQztnQkFDM0QsTUFBTSxHQUFHLENBQUM7YUFDYjtRQUNMLENBQUMsQ0FBQztRQUVGLE1BQU0sSUFBQSx3QkFBYyxFQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUM7UUFFdkUsSUFBSTtZQUNBLE9BQU8sTUFBTSxRQUFRLEVBQUUsQ0FBQztTQUUzQjtnQkFBUztZQUNOLE1BQU0sV0FBVyxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDLENBQUMifQ==
|
package/lib/index.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Decimal128 as MongoDecimal, ObjectId } from 'mongodb';
|
|
2
|
-
import appData from './appData';
|
|
3
|
-
import concurrentTask from './concurrentTask';
|
|
4
|
-
import fixtures from './fixtures';
|
|
5
|
-
import getCollection from './getCollection';
|
|
6
|
-
import getMongoConfig from './getMongoConfig';
|
|
7
|
-
import getMongoLocker, { LockCallback, LockerOptions } from './getMongoLocker';
|
|
8
|
-
import Migration from './migrations/Migration';
|
|
9
|
-
import MigrationsStore from './migrations/MigrationsStore';
|
|
10
|
-
import runMigrations from './migrations/runMigrations';
|
|
11
|
-
import mongoClient from './mongoClient';
|
|
12
|
-
import mongoErrorCodes from './mongoErrorCodes';
|
|
13
|
-
import mongoLocker from './mongoLocker';
|
|
14
|
-
import withTransaction from './withTransaction';
|
|
15
|
-
export { appData, fixtures, getCollection, getMongoConfig, getMongoLocker, LockCallback, LockerOptions, Migration, MigrationsStore, mongoClient, mongoLocker, runMigrations, withTransaction, ObjectId, MongoDecimal, mongoErrorCodes, concurrentTask, };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class Migration {
|
|
4
|
-
constructor(description, up, down = () => null) {
|
|
5
|
-
this.description = description;
|
|
6
|
-
// NOTE 'up' and 'down' has to be as properties because of 'migrate' package
|
|
7
|
-
this.up = (next) => {
|
|
8
|
-
(async () => {
|
|
9
|
-
await up();
|
|
10
|
-
next();
|
|
11
|
-
})().catch(next);
|
|
12
|
-
};
|
|
13
|
-
this.down = (next) => {
|
|
14
|
-
(async () => {
|
|
15
|
-
await down();
|
|
16
|
-
next();
|
|
17
|
-
})().catch(next);
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.default = Migration;
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTWlncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBcUIsU0FBUztJQVExQixZQUFhLFdBQW1CLEVBQUUsRUFBWSxFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJO1FBQzdELElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLDRFQUE0RTtRQUM1RSxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBa0IsRUFBRSxFQUFFO1lBQzdCLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDWCxJQUFJLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7WUFDL0IsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDUixNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNiLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNKO0FBMUJELDRCQTBCQyJ9
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { CallbackError, Migration } from 'migrate';
|
|
2
|
-
import { Logger } from 'winston';
|
|
3
|
-
export default class MigrationsStore {
|
|
4
|
-
private _logger;
|
|
5
|
-
private _safeMigration;
|
|
6
|
-
constructor(_logger: Logger, path: string, _safeMigration: boolean);
|
|
7
|
-
save(set: Object, cb: CallbackError): void;
|
|
8
|
-
load(cb: (err: any, store: {
|
|
9
|
-
lastRun?: string;
|
|
10
|
-
migrations: Pick<Migration, 'title' | 'description' | 'timestamp'>[];
|
|
11
|
-
}) => void): void;
|
|
12
|
-
private _checkValidMigrations;
|
|
13
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const lodash_1 = require("lodash");
|
|
7
|
-
const appData_1 = __importDefault(require("../appData"));
|
|
8
|
-
const DOCUMENT_ID = 'migrations';
|
|
9
|
-
const safeMigrationMsg = 'safeMigration is true, we do not allow empty migrations to be saved. '
|
|
10
|
-
+ 'If this is new project, feel free to enable it';
|
|
11
|
-
class MigrationsStore {
|
|
12
|
-
// eslint-disable-next-line no-empty-function
|
|
13
|
-
constructor(_logger, path, _safeMigration) {
|
|
14
|
-
this._logger = _logger;
|
|
15
|
-
this._safeMigration = _safeMigration;
|
|
16
|
-
}
|
|
17
|
-
save(set, cb) {
|
|
18
|
-
try {
|
|
19
|
-
this._logger.info('Migration SET', set);
|
|
20
|
-
const objToUpdate = (0, lodash_1.pick)(set, ['lastRun', 'migrations']);
|
|
21
|
-
if (this._safeMigration) {
|
|
22
|
-
this._checkValidMigrations(objToUpdate);
|
|
23
|
-
const numOfValidMigrations = objToUpdate.migrations
|
|
24
|
-
.reduce((prev, cur) => (cur.timestamp ? prev + 1 : prev), 0);
|
|
25
|
-
// If all migrations are renewed=without timestamp (beside the first one that is trying to be applied)
|
|
26
|
-
// There can be something wrong
|
|
27
|
-
if (objToUpdate.migrations.length >= 3 && numOfValidMigrations <= 1) {
|
|
28
|
-
this._logger.error(safeMigrationMsg);
|
|
29
|
-
throw new Error(safeMigrationMsg);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
appData_1.default.updateDocument(DOCUMENT_ID, { $set: objToUpdate }, true)
|
|
33
|
-
.then(() => { cb(null); })
|
|
34
|
-
.catch(cb);
|
|
35
|
-
}
|
|
36
|
-
catch (err) {
|
|
37
|
-
cb(err);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
load(cb) {
|
|
41
|
-
appData_1.default.getDocument(DOCUMENT_ID)
|
|
42
|
-
.then((state) => {
|
|
43
|
-
if (this._safeMigration) {
|
|
44
|
-
this._checkValidMigrations(state);
|
|
45
|
-
}
|
|
46
|
-
cb(null, state || {
|
|
47
|
-
lastRun: null,
|
|
48
|
-
migrations: [],
|
|
49
|
-
});
|
|
50
|
-
})
|
|
51
|
-
.catch((err) => {
|
|
52
|
-
cb(err, { migrations: [] });
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
_checkValidMigrations(objWithMigrations) {
|
|
56
|
-
if (!objWithMigrations
|
|
57
|
-
|| (0, lodash_1.isEmpty)(objWithMigrations.migrations)
|
|
58
|
-
|| !(0, lodash_1.isArray)(objWithMigrations.migrations)) {
|
|
59
|
-
this._logger.error(safeMigrationMsg);
|
|
60
|
-
throw new Error(safeMigrationMsg);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
exports.default = MigrationsStore;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uc1N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiTWlncmF0aW9uc1N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQWdEO0FBR2hELHlEQUFpQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7QUFFakMsTUFBTSxnQkFBZ0IsR0FBRyx1RUFBdUU7TUFDMUYsZ0RBQWdELENBQUM7QUFFdkQsTUFBcUIsZUFBZTtJQUNoQyw2Q0FBNkM7SUFDN0MsWUFBcUIsT0FBZSxFQUFFLElBQVksRUFBVSxjQUF1QjtRQUE5RCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQXdCLG1CQUFjLEdBQWQsY0FBYyxDQUFTO0lBQ25GLENBQUM7SUFFTSxJQUFJLENBQUUsR0FBVyxFQUFFLEVBQWlCO1FBQ3ZDLElBQUk7WUFDQSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDeEMsTUFBTSxXQUFXLEdBQVEsSUFBQSxhQUFJLEVBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDOUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBRXhDLE1BQU0sb0JBQW9CLEdBQUcsV0FBVyxDQUFDLFVBQVU7cUJBQzlDLE1BQU0sQ0FBQyxDQUFDLElBQVksRUFBRSxHQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUU5RixzR0FBc0c7Z0JBQ3RHLCtCQUErQjtnQkFDL0IsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksb0JBQW9CLElBQUksQ0FBQyxFQUFFO29CQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUVyQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ3JDO2FBQ0o7WUFFRCxpQkFBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDO2lCQUMzRCxJQUFJLENBQ0QsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN0QjtpQkFDQSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbEI7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNWLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNYO0lBQ0wsQ0FBQztJQUVNLElBQUksQ0FDUCxFQU1TO1FBRVQsaUJBQU8sQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDO2FBQzNCLElBQUksQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3JDO1lBRUQsRUFBRSxDQUNFLElBQUksRUFBRSxLQUFLLElBQUk7Z0JBQ1gsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsVUFBVSxFQUFFLEVBQUU7YUFDakIsQ0FDSixDQUFDO1FBQ04sQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDWCxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8scUJBQXFCLENBQUUsaUJBQThDO1FBQ3pFLElBQ0ksQ0FBQyxpQkFBaUI7ZUFDZixJQUFBLGdCQUFPLEVBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2VBQ3JDLENBQUMsSUFBQSxnQkFBTyxFQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztDQUNKO0FBdEVELGtDQXNFQyJ9
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Logger } from 'winston';
|
|
2
|
-
/**
|
|
3
|
-
* In case of fail - logs the result and returns rejected promise
|
|
4
|
-
* @param {Logger} logger Logger
|
|
5
|
-
* @param {string} directory Path to directory where migrations are
|
|
6
|
-
* @param {boolean} continueOnError If app crashes on error or continue
|
|
7
|
-
* @param {boolean} safeMigration Do not allow to rewrite all migrations with empty array
|
|
8
|
-
*/
|
|
9
|
-
export default function runMigrations(logger: Logger, directory: string, { continueOnError, safeMigration, }: {
|
|
10
|
-
continueOnError?: boolean | undefined;
|
|
11
|
-
safeMigration?: boolean | undefined;
|
|
12
|
-
}): Promise<void>;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const migrate_1 = require("migrate");
|
|
7
|
-
const MigrationsStore_1 = __importDefault(require("./MigrationsStore"));
|
|
8
|
-
/**
|
|
9
|
-
* In case of fail - logs the result and returns rejected promise
|
|
10
|
-
* @param {Logger} logger Logger
|
|
11
|
-
* @param {string} directory Path to directory where migrations are
|
|
12
|
-
* @param {boolean} continueOnError If app crashes on error or continue
|
|
13
|
-
* @param {boolean} safeMigration Do not allow to rewrite all migrations with empty array
|
|
14
|
-
*/
|
|
15
|
-
async function runMigrations(logger, directory, { continueOnError = false, safeMigration = true, }) {
|
|
16
|
-
return new Promise((resolve, reject) => {
|
|
17
|
-
(0, migrate_1.load)({
|
|
18
|
-
stateStore: new MigrationsStore_1.default(logger, directory, safeMigration),
|
|
19
|
-
migrationsDirectory: directory,
|
|
20
|
-
filterFunction: (file) => file.endsWith('.js') || file.endsWith('.ts'),
|
|
21
|
-
}, (err, set) => {
|
|
22
|
-
if (err) {
|
|
23
|
-
logger.error('Migrations did not run due to error', err);
|
|
24
|
-
reject(err);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
set.on('warning', (msg) => {
|
|
28
|
-
logger.warn('warning', msg);
|
|
29
|
-
});
|
|
30
|
-
set.on('migration', (migration, direction) => {
|
|
31
|
-
logger.info(`Running ${direction} migration`, { title: migration.title });
|
|
32
|
-
});
|
|
33
|
-
set.up((error) => {
|
|
34
|
-
if (error) {
|
|
35
|
-
logger.error('A migration ended with error', error);
|
|
36
|
-
if (!continueOnError) {
|
|
37
|
-
reject(error);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
logger.info('Migrations successfully ran');
|
|
43
|
-
}
|
|
44
|
-
resolve();
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
exports.default = runMigrations;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuTWlncmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bk1pZ3JhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxQ0FBNkM7QUFFN0Msd0VBQWdEO0FBRWhEOzs7Ozs7R0FNRztBQUNZLEtBQUssVUFBVSxhQUFhLENBQ3ZDLE1BQWMsRUFDZCxTQUFpQixFQUNqQixFQUNJLGVBQWUsR0FBRyxLQUFLLEVBQ3ZCLGFBQWEsR0FBRyxJQUFJLEdBQ3ZCO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUN6QyxJQUFBLGNBQUksRUFDQTtZQUNJLFVBQVUsRUFBRSxJQUFJLHlCQUFlLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLENBQUM7WUFDakUsbUJBQW1CLEVBQUUsU0FBUztZQUM5QixjQUFjLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7U0FDakYsRUFDRCxDQUFDLEdBQWlCLEVBQUUsR0FBaUIsRUFBRSxFQUFFO1lBQ3JDLElBQUksR0FBRyxFQUFFO2dCQUNMLE1BQU0sQ0FBQyxLQUFLLENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDWixPQUFPO2FBQ1Y7WUFFRCxHQUFHLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO2dCQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztZQUVILEdBQUcsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBYyxFQUFFLFNBQWlCLEVBQUUsRUFBRTtnQkFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLFNBQVMsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLENBQUMsQ0FBQyxDQUFDO1lBRUgsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO2dCQUNyQixJQUFJLEtBQUssRUFBRTtvQkFDUCxNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUNwRCxJQUFJLENBQUMsZUFBZSxFQUFFO3dCQUNsQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ2QsT0FBTztxQkFDVjtpQkFDSjtxQkFBTTtvQkFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUM7aUJBQzlDO2dCQUVELE9BQU8sRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQTdDRCxnQ0E2Q0MifQ==
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
const getCollection_1 = __importDefault(require("../getCollection"));
|
|
6
|
-
const Migration_1 = __importDefault(require("./Migration"));
|
|
7
|
-
module.exports = new Migration_1.default('[ADD DESCRIPTION HERE]', async () => {
|
|
8
|
-
// add logic here
|
|
9
|
-
await (0, getCollection_1.default)('exampleCollection');
|
|
10
|
-
});
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZW1wbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEscUVBQTZDO0FBQzdDLDREQUFvQztBQUVwQyxpQkFBUyxJQUFJLG1CQUFTLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxJQUFJLEVBQUU7SUFDeEQsaUJBQWlCO0lBQ2pCLE1BQU0sSUFBQSx1QkFBYSxFQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMifQ==
|
package/lib/mongoClient.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { MongoClient, MongoClientOptions, ObjectId } from 'mongodb';
|
|
2
|
-
export declare type Key = string | number | ObjectId;
|
|
3
|
-
declare const mongoClient: {
|
|
4
|
-
_client: MongoClient | null;
|
|
5
|
-
init(mongodbUrl: string, mongoOptions?: MongoClientOptions | undefined): void;
|
|
6
|
-
getClient(): MongoClient;
|
|
7
|
-
};
|
|
8
|
-
export default mongoClient;
|
package/lib/mongoClient.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const lodash_1 = require("lodash");
|
|
4
|
-
const mongodb_1 = require("mongodb");
|
|
5
|
-
const mongoClient = {
|
|
6
|
-
_client: null,
|
|
7
|
-
init(mongodbUrl, mongoOptions) {
|
|
8
|
-
this._client = new mongodb_1.MongoClient(mongodbUrl, (0, lodash_1.defaultsDeep)(mongoOptions));
|
|
9
|
-
},
|
|
10
|
-
getClient() {
|
|
11
|
-
if (this._client) {
|
|
12
|
-
return this._client;
|
|
13
|
-
}
|
|
14
|
-
throw new Error('MongoDb must be initialized before use.');
|
|
15
|
-
},
|
|
16
|
-
};
|
|
17
|
-
exports.default = mongoClient;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29DbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtb25nb0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG1DQUFzQztBQUN0QyxxQ0FBb0U7QUFJcEUsTUFBTSxXQUFXLEdBQUc7SUFDaEIsT0FBTyxFQUFxQixJQUFJO0lBRWhDLElBQUksQ0FBRSxVQUFrQixFQUFFLFlBQWlDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxxQkFBVyxDQUMxQixVQUFVLEVBQ1YsSUFBQSxxQkFBWSxFQUFDLFlBQVksQ0FBQyxDQUM3QixDQUFDO0lBQ04sQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDdkI7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNKLENBQUM7QUFFRixrQkFBZSxXQUFXLENBQUMifQ==
|
package/lib/mongoErrorCodes.d.ts
DELETED
package/lib/mongoErrorCodes.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const DUPLICATE_KEY_INSERT = 11000;
|
|
4
|
-
const DUPLICATE_KEY_UPDATE = 11001;
|
|
5
|
-
const mongoErrorCodes = {
|
|
6
|
-
DUPLICATE_KEY_INSERT,
|
|
7
|
-
DUPLICATE_KEY_UPDATE,
|
|
8
|
-
DUPLICATE_KEY: [DUPLICATE_KEY_INSERT, DUPLICATE_KEY_UPDATE],
|
|
9
|
-
};
|
|
10
|
-
exports.default = mongoErrorCodes;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29FcnJvckNvZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibW9uZ29FcnJvckNvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUM7QUFDbkMsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUM7QUFFbkMsTUFBTSxlQUFlLEdBQUc7SUFDcEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixhQUFhLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQztDQUM5RCxDQUFDO0FBRUYsa0JBQWUsZUFBZSxDQUFDIn0=
|
package/lib/mongoLocker.d.ts
DELETED
package/lib/mongoLocker.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const getCollection_1 = __importDefault(require("./getCollection"));
|
|
7
|
-
const getMongoLocker_1 = __importDefault(require("./getMongoLocker"));
|
|
8
|
-
let lockerPromise;
|
|
9
|
-
async function default_1(key, callback, options = {}) {
|
|
10
|
-
if (!lockerPromise) {
|
|
11
|
-
lockerPromise = (0, getMongoLocker_1.default)((0, getCollection_1.default)('appLocks'));
|
|
12
|
-
}
|
|
13
|
-
const locker = await lockerPromise;
|
|
14
|
-
return locker(key, callback, options);
|
|
15
|
-
}
|
|
16
|
-
exports.default = default_1;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZ29Mb2NrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtb25nb0xvY2tlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9FQUE0QztBQUM1QyxzRUFBK0U7QUFHL0UsSUFBSSxhQUFnRCxDQUFDO0FBRXRDLEtBQUssb0JBQWUsR0FBUSxFQUFFLFFBQXlCLEVBQUUsVUFBeUIsRUFBRTtJQUMvRixJQUFJLENBQUMsYUFBYSxFQUFFO1FBQ2hCLGFBQWEsR0FBRyxJQUFBLHdCQUFjLEVBQUMsSUFBQSx1QkFBYSxFQUFNLFVBQVUsQ0FBQyxDQUFDLENBQUM7S0FDbEU7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGFBQWEsQ0FBQztJQUVuQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFSRCw0QkFRQyJ9
|
package/lib/withTransaction.d.ts
DELETED
package/lib/withTransaction.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const mongoClient_1 = __importDefault(require("./mongoClient"));
|
|
7
|
-
exports.default = async (callback, options) => {
|
|
8
|
-
const session = mongoClient_1.default.getClient().startSession();
|
|
9
|
-
try {
|
|
10
|
-
let result;
|
|
11
|
-
await session.withTransaction(async () => {
|
|
12
|
-
result = await callback(session);
|
|
13
|
-
}, options);
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
return result;
|
|
16
|
-
}
|
|
17
|
-
finally {
|
|
18
|
-
await session.endSession();
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFRyYW5zYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2l0aFRyYW5zYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsZ0VBQXdDO0FBRXhDLGtCQUFlLEtBQUssRUFDaEIsUUFBZ0QsRUFDaEQsT0FBNEIsRUFDbEIsRUFBRTtJQUVaLE1BQU0sT0FBTyxHQUFHLHFCQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFdkQsSUFBSTtRQUNBLElBQUksTUFBUyxDQUFDO1FBRWQsTUFBTSxPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3JDLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFWixhQUFhO1FBQ2IsT0FBTyxNQUFNLENBQUM7S0FFakI7WUFBUztRQUNOLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBQzlCO0FBQ0wsQ0FBQyxDQUFDIn0=
|