@dyrected/core 2.5.53 → 2.5.55
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/package.json +1 -1
- package/dist/__tests__/admin-auth.test.d.ts +0 -2
- package/dist/__tests__/admin-auth.test.d.ts.map +0 -1
- package/dist/__tests__/admin-auth.test.js +0 -440
- package/dist/__tests__/admin-auth.test.js.map +0 -1
- package/dist/__tests__/app.test.d.ts +0 -2
- package/dist/__tests__/app.test.d.ts.map +0 -1
- package/dist/__tests__/app.test.js +0 -27
- package/dist/__tests__/app.test.js.map +0 -1
- package/dist/__tests__/config.test.d.ts +0 -2
- package/dist/__tests__/config.test.d.ts.map +0 -1
- package/dist/__tests__/config.test.js +0 -91
- package/dist/__tests__/config.test.js.map +0 -1
- package/dist/__tests__/deleteMany.test.d.ts +0 -2
- package/dist/__tests__/deleteMany.test.d.ts.map +0 -1
- package/dist/__tests__/deleteMany.test.js +0 -75
- package/dist/__tests__/deleteMany.test.js.map +0 -1
- package/dist/__tests__/depth.test.d.ts +0 -2
- package/dist/__tests__/depth.test.d.ts.map +0 -1
- package/dist/__tests__/depth.test.js +0 -81
- package/dist/__tests__/depth.test.js.map +0 -1
- package/dist/__tests__/dynamic-options.test.d.ts +0 -2
- package/dist/__tests__/dynamic-options.test.d.ts.map +0 -1
- package/dist/__tests__/dynamic-options.test.js +0 -132
- package/dist/__tests__/dynamic-options.test.js.map +0 -1
- package/dist/__tests__/email.service.test.d.ts +0 -2
- package/dist/__tests__/email.service.test.d.ts.map +0 -1
- package/dist/__tests__/email.service.test.js +0 -46
- package/dist/__tests__/email.service.test.js.map +0 -1
- package/dist/__tests__/field-inference.test-types.d.ts +0 -24
- package/dist/__tests__/field-inference.test-types.d.ts.map +0 -1
- package/dist/__tests__/field-inference.test-types.js +0 -87
- package/dist/__tests__/field-inference.test-types.js.map +0 -1
- package/dist/__tests__/fixtures/editorial-workflow.d.ts +0 -9
- package/dist/__tests__/fixtures/editorial-workflow.d.ts.map +0 -1
- package/dist/__tests__/fixtures/editorial-workflow.js +0 -12
- package/dist/__tests__/fixtures/editorial-workflow.js.map +0 -1
- package/dist/__tests__/hooks.test.d.ts +0 -2
- package/dist/__tests__/hooks.test.d.ts.map +0 -1
- package/dist/__tests__/hooks.test.js +0 -320
- package/dist/__tests__/hooks.test.js.map +0 -1
- package/dist/__tests__/mocks.d.ts +0 -74
- package/dist/__tests__/mocks.d.ts.map +0 -1
- package/dist/__tests__/mocks.js +0 -159
- package/dist/__tests__/mocks.js.map +0 -1
- package/dist/__tests__/openapi.test.d.ts +0 -2
- package/dist/__tests__/openapi.test.d.ts.map +0 -1
- package/dist/__tests__/openapi.test.js +0 -95
- package/dist/__tests__/openapi.test.js.map +0 -1
- package/dist/__tests__/parse-sort.test.d.ts +0 -2
- package/dist/__tests__/parse-sort.test.d.ts.map +0 -1
- package/dist/__tests__/parse-sort.test.js +0 -24
- package/dist/__tests__/parse-sort.test.js.map +0 -1
- package/dist/__tests__/preferences.test.d.ts +0 -2
- package/dist/__tests__/preferences.test.d.ts.map +0 -1
- package/dist/__tests__/preferences.test.js +0 -168
- package/dist/__tests__/preferences.test.js.map +0 -1
- package/dist/__tests__/router.test.d.ts +0 -2
- package/dist/__tests__/router.test.d.ts.map +0 -1
- package/dist/__tests__/router.test.js +0 -52
- package/dist/__tests__/router.test.js.map +0 -1
- package/dist/__tests__/where.test.d.ts +0 -2
- package/dist/__tests__/where.test.d.ts.map +0 -1
- package/dist/__tests__/where.test.js +0 -105
- package/dist/__tests__/where.test.js.map +0 -1
- package/dist/__tests__/workflow.test.d.ts +0 -2
- package/dist/__tests__/workflow.test.d.ts.map +0 -1
- package/dist/__tests__/workflow.test.js +0 -497
- package/dist/__tests__/workflow.test.js.map +0 -1
- package/dist/app-B2tg7Djj.d.cts +0 -1575
- package/dist/app-B2tg7Djj.d.ts +0 -1575
- package/dist/app-BElen1tP.d.cts +0 -1690
- package/dist/app-BElen1tP.d.ts +0 -1690
- package/dist/app-BOrsS7Tz.d.cts +0 -1771
- package/dist/app-BOrsS7Tz.d.ts +0 -1771
- package/dist/app-Bh4_Opv0.d.cts +0 -1522
- package/dist/app-Bh4_Opv0.d.ts +0 -1522
- package/dist/app-BibuoHQG.d.cts +0 -1764
- package/dist/app-BibuoHQG.d.ts +0 -1764
- package/dist/app-Bv9gaDAN.d.cts +0 -561
- package/dist/app-Bv9gaDAN.d.ts +0 -561
- package/dist/app-BvG3bRc8.d.cts +0 -419
- package/dist/app-BvG3bRc8.d.ts +0 -419
- package/dist/app-C-HgyliB.d.cts +0 -1694
- package/dist/app-C-HgyliB.d.ts +0 -1694
- package/dist/app-C3B9N1KR.d.cts +0 -1522
- package/dist/app-C3B9N1KR.d.ts +0 -1522
- package/dist/app-Cc2mG3zi.d.cts +0 -373
- package/dist/app-Cc2mG3zi.d.ts +0 -373
- package/dist/app-Ctfmo2Re.d.cts +0 -1692
- package/dist/app-Ctfmo2Re.d.ts +0 -1692
- package/dist/app-D0ffogDd.d.cts +0 -1690
- package/dist/app-D0ffogDd.d.ts +0 -1690
- package/dist/app-D2uR47gK.d.cts +0 -1690
- package/dist/app-D2uR47gK.d.ts +0 -1690
- package/dist/app-DDJJa0ep.d.cts +0 -1621
- package/dist/app-DDJJa0ep.d.ts +0 -1621
- package/dist/app-DO1s9YW1.d.cts +0 -1621
- package/dist/app-DO1s9YW1.d.ts +0 -1621
- package/dist/app-DTP3-9PJ.d.cts +0 -561
- package/dist/app-DTP3-9PJ.d.ts +0 -561
- package/dist/app-DZt5nslu.d.cts +0 -374
- package/dist/app-DZt5nslu.d.ts +0 -377
- package/dist/app-DbKDGYTI.d.cts +0 -566
- package/dist/app-DbKDGYTI.d.ts +0 -566
- package/dist/app-Dk3SzV1a.d.cts +0 -374
- package/dist/app-Dk3SzV1a.d.ts +0 -374
- package/dist/app-DnX9mNsh.d.cts +0 -374
- package/dist/app-DnX9mNsh.d.ts +0 -374
- package/dist/app-DqRO-CMi.d.cts +0 -1457
- package/dist/app-DqRO-CMi.d.ts +0 -1457
- package/dist/app-DvaFpOtj.d.cts +0 -398
- package/dist/app-DvaFpOtj.d.ts +0 -398
- package/dist/app-FGzip4XM.d.cts +0 -1563
- package/dist/app-FGzip4XM.d.ts +0 -1563
- package/dist/app-KApbf4XL.d.cts +0 -362
- package/dist/app-KApbf4XL.d.ts +0 -362
- package/dist/app-T0alZAE0.d.cts +0 -383
- package/dist/app-T0alZAE0.d.ts +0 -383
- package/dist/app-aW2FMuYM.d.cts +0 -1759
- package/dist/app-aW2FMuYM.d.ts +0 -1759
- package/dist/app-config-2vF6W56z.d.cts +0 -1335
- package/dist/app-config-2vF6W56z.d.ts +0 -1335
- package/dist/app-config-3XBnu9Xz.d.cts +0 -1379
- package/dist/app-config-3XBnu9Xz.d.ts +0 -1379
- package/dist/app-config-BLMX-9MN.d.cts +0 -1045
- package/dist/app-config-BLMX-9MN.d.ts +0 -1045
- package/dist/app-config-CaEQH0Kb.d.cts +0 -1383
- package/dist/app-config-CaEQH0Kb.d.ts +0 -1383
- package/dist/app-config-DLK6bCaP.d.cts +0 -1390
- package/dist/app-config-DLK6bCaP.d.ts +0 -1390
- package/dist/app-config-oOarB6Fw.d.cts +0 -1411
- package/dist/app-config-oOarB6Fw.d.ts +0 -1411
- package/dist/app-oQt5-9MU.d.cts +0 -1560
- package/dist/app-oQt5-9MU.d.ts +0 -1560
- package/dist/app-rZj1VFer.d.cts +0 -1621
- package/dist/app-rZj1VFer.d.ts +0 -1621
- package/dist/app-wo82JRHl.d.cts +0 -445
- package/dist/app-wo82JRHl.d.ts +0 -445
- package/dist/app.d.ts +0 -21
- package/dist/app.d.ts.map +0 -1
- package/dist/app.js +0 -56
- package/dist/app.js.map +0 -1
- package/dist/auth/jexl.d.ts +0 -10
- package/dist/auth/jexl.d.ts.map +0 -1
- package/dist/auth/jexl.js +0 -22
- package/dist/auth/jexl.js.map +0 -1
- package/dist/auth/password.d.ts +0 -10
- package/dist/auth/password.d.ts.map +0 -1
- package/dist/auth/password.js +0 -28
- package/dist/auth/password.js.map +0 -1
- package/dist/auth/token.d.ts +0 -22
- package/dist/auth/token.d.ts.map +0 -1
- package/dist/auth/token.js +0 -40
- package/dist/auth/token.js.map +0 -1
- package/dist/chunk-22JTWD74.js +0 -1784
- package/dist/chunk-23URSKPI.js +0 -2371
- package/dist/chunk-2JMA3M5S.js +0 -2475
- package/dist/chunk-3FZEUK36.js +0 -2470
- package/dist/chunk-3VUH2MNW.js +0 -1903
- package/dist/chunk-44O2LDPT.js +0 -1513
- package/dist/chunk-45JDQDA2.js +0 -1899
- package/dist/chunk-4C4L6SD2.js +0 -1524
- package/dist/chunk-4EDMZAM5.js +0 -2692
- package/dist/chunk-52T4RCFU.js +0 -1972
- package/dist/chunk-6ZXEGKT6.js +0 -619
- package/dist/chunk-7GGHK75W.js +0 -1835
- package/dist/chunk-ALNQINX7.js +0 -2496
- package/dist/chunk-B6KDKYXB.js +0 -2502
- package/dist/chunk-BEONZV6M.js +0 -1951
- package/dist/chunk-C4GEQ5RP.js +0 -1993
- package/dist/chunk-CQDVPMEU.js +0 -613
- package/dist/chunk-DOJHZ7XN.js +0 -2394
- package/dist/chunk-EH7G3LLL.js +0 -2065
- package/dist/chunk-EXXOPW3I.js +0 -2483
- package/dist/chunk-F4ZC6TXR.js +0 -2065
- package/dist/chunk-FCXE5CVC.js +0 -1528
- package/dist/chunk-FDQYPPG3.js +0 -2698
- package/dist/chunk-FURYJ254.mjs +0 -33
- package/dist/chunk-G2QQLBHW.js +0 -24
- package/dist/chunk-GM4WW6IE.js +0 -66
- package/dist/chunk-GZODLJ3C.js +0 -1861
- package/dist/chunk-IIY3E7Q7.js +0 -1996
- package/dist/chunk-JJN4J5NS.js +0 -2069
- package/dist/chunk-MRUHCNDM.js +0 -1940
- package/dist/chunk-NKDX67AW.js +0 -2698
- package/dist/chunk-NYUB4AHZ.js +0 -1951
- package/dist/chunk-OD4SLW7H.js +0 -1930
- package/dist/chunk-OE5MH3NB.js +0 -2070
- package/dist/chunk-PH36WQYS.js +0 -1875
- package/dist/chunk-PKNFV7KE.js +0 -2469
- package/dist/chunk-SUGK7UYL.js +0 -311
- package/dist/chunk-TIJHR54M.js +0 -1879
- package/dist/chunk-TUUHGLB5.js +0 -2609
- package/dist/chunk-UBTRANFX.js +0 -2476
- package/dist/chunk-VJWUG2XK.js +0 -1951
- package/dist/chunk-W6KURRMW.js +0 -2471
- package/dist/chunk-Y4AYI52W.js +0 -631
- package/dist/chunk-YDOBB7MY.js +0 -1457
- package/dist/chunk-YNJ3YC4N.js +0 -2483
- package/dist/chunk-ZFAOBRHT.js +0 -2709
- package/dist/controllers/admin-auth.controller.d.ts +0 -68
- package/dist/controllers/admin-auth.controller.d.ts.map +0 -1
- package/dist/controllers/admin-auth.controller.js +0 -414
- package/dist/controllers/admin-auth.controller.js.map +0 -1
- package/dist/controllers/auth.controller.d.ts +0 -125
- package/dist/controllers/auth.controller.d.ts.map +0 -1
- package/dist/controllers/auth.controller.js +0 -323
- package/dist/controllers/auth.controller.js.map +0 -1
- package/dist/controllers/collection.controller.d.ts +0 -157
- package/dist/controllers/collection.controller.d.ts.map +0 -1
- package/dist/controllers/collection.controller.js +0 -779
- package/dist/controllers/collection.controller.js.map +0 -1
- package/dist/controllers/global.controller.d.ts +0 -17
- package/dist/controllers/global.controller.d.ts.map +0 -1
- package/dist/controllers/global.controller.js +0 -132
- package/dist/controllers/global.controller.js.map +0 -1
- package/dist/controllers/media.controller.d.ts +0 -38
- package/dist/controllers/media.controller.d.ts.map +0 -1
- package/dist/controllers/media.controller.js +0 -162
- package/dist/controllers/media.controller.js.map +0 -1
- package/dist/controllers/preview.controller.d.ts +0 -37
- package/dist/controllers/preview.controller.d.ts.map +0 -1
- package/dist/controllers/preview.controller.js +0 -48
- package/dist/controllers/preview.controller.js.map +0 -1
- package/dist/index-BKYugiYp.d.cts +0 -1988
- package/dist/index-BKYugiYp.d.ts +0 -1988
- package/dist/index-BSWCiAen.d.cts +0 -1983
- package/dist/index-BSWCiAen.d.ts +0 -1983
- package/dist/index-BfLDb3b0.d.cts +0 -1467
- package/dist/index-BfLDb3b0.d.ts +0 -1467
- package/dist/index-Bi4sX_eC.d.cts +0 -1491
- package/dist/index-Bi4sX_eC.d.ts +0 -1491
- package/dist/index-Bp7PDOYG.d.cts +0 -1750
- package/dist/index-Bp7PDOYG.d.ts +0 -1750
- package/dist/index-ByXooLy-.d.cts +0 -1762
- package/dist/index-ByXooLy-.d.ts +0 -1762
- package/dist/index-C9Vp1DCT.d.cts +0 -1563
- package/dist/index-C9Vp1DCT.d.ts +0 -1563
- package/dist/index-CFezd8p1.d.cts +0 -1986
- package/dist/index-CFezd8p1.d.ts +0 -1986
- package/dist/index-CdQwnbfh.d.cts +0 -1889
- package/dist/index-CdQwnbfh.d.ts +0 -1889
- package/dist/index-D38_E0gf.d.cts +0 -336
- package/dist/index-D38_E0gf.d.ts +0 -336
- package/dist/index-DR2z1rrf.d.cts +0 -1503
- package/dist/index-DR2z1rrf.d.ts +0 -1503
- package/dist/index-DTrpTru7.d.cts +0 -1881
- package/dist/index-DTrpTru7.d.ts +0 -1881
- package/dist/index-DfAmTZXk.d.cts +0 -1749
- package/dist/index-DfAmTZXk.d.ts +0 -1749
- package/dist/index-DfkPT4NR.d.cts +0 -1584
- package/dist/index-DfkPT4NR.d.ts +0 -1584
- package/dist/index-DzUlE5Hc.d.cts +0 -1751
- package/dist/index-DzUlE5Hc.d.ts +0 -1751
- package/dist/index-M_m6dXZV.d.cts +0 -1889
- package/dist/index-M_m6dXZV.d.ts +0 -1889
- package/dist/index-RylhgOwj.d.cts +0 -340
- package/dist/index-RylhgOwj.d.ts +0 -340
- package/dist/index-qhLus8ZO.d.cts +0 -1881
- package/dist/index-qhLus8ZO.d.ts +0 -1881
- package/dist/index-xB1lMg79.d.cts +0 -1456
- package/dist/index-xB1lMg79.d.ts +0 -1456
- package/dist/index.d.mts +0 -417
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -1974
- package/dist/middleware/auth.d.ts +0 -18
- package/dist/middleware/auth.d.ts.map +0 -1
- package/dist/middleware/auth.js +0 -45
- package/dist/middleware/auth.js.map +0 -1
- package/dist/password-ACI2YUGZ.js +0 -8
- package/dist/router.d.ts +0 -8
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -625
- package/dist/router.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/services/audit.service.d.ts +0 -23
- package/dist/services/audit.service.d.ts.map +0 -1
- package/dist/services/audit.service.js +0 -28
- package/dist/services/audit.service.js.map +0 -1
- package/dist/services/defaults.service.d.ts +0 -8
- package/dist/services/defaults.service.d.ts.map +0 -1
- package/dist/services/defaults.service.js +0 -55
- package/dist/services/defaults.service.js.map +0 -1
- package/dist/services/email-template.d.ts +0 -46
- package/dist/services/email-template.d.ts.map +0 -1
- package/dist/services/email-template.js +0 -88
- package/dist/services/email-template.js.map +0 -1
- package/dist/services/email.service.d.ts +0 -33
- package/dist/services/email.service.d.ts.map +0 -1
- package/dist/services/email.service.js +0 -96
- package/dist/services/email.service.js.map +0 -1
- package/dist/services/media.service.d.ts +0 -20
- package/dist/services/media.service.d.ts.map +0 -1
- package/dist/services/media.service.js +0 -49
- package/dist/services/media.service.js.map +0 -1
- package/dist/services/population.service.d.ts +0 -20
- package/dist/services/population.service.d.ts.map +0 -1
- package/dist/services/population.service.js +0 -194
- package/dist/services/population.service.js.map +0 -1
- package/dist/token-7QG5DBME.mjs +0 -10
- package/dist/types/access.d.ts +0 -38
- package/dist/types/access.d.ts.map +0 -1
- package/dist/types/access.js +0 -2
- package/dist/types/access.js.map +0 -1
- package/dist/types/adapters.d.ts +0 -146
- package/dist/types/adapters.d.ts.map +0 -1
- package/dist/types/adapters.js +0 -2
- package/dist/types/adapters.js.map +0 -1
- package/dist/types/admin-auth.d.ts +0 -132
- package/dist/types/admin-auth.d.ts.map +0 -1
- package/dist/types/admin-auth.js +0 -2
- package/dist/types/admin-auth.js.map +0 -1
- package/dist/types/admin.d.ts +0 -65
- package/dist/types/admin.d.ts.map +0 -1
- package/dist/types/admin.js +0 -2
- package/dist/types/admin.js.map +0 -1
- package/dist/types/app-config.d.ts +0 -143
- package/dist/types/app-config.d.ts.map +0 -1
- package/dist/types/app-config.js +0 -2
- package/dist/types/app-config.js.map +0 -1
- package/dist/types/documents.d.ts +0 -65
- package/dist/types/documents.d.ts.map +0 -1
- package/dist/types/documents.js +0 -2
- package/dist/types/documents.js.map +0 -1
- package/dist/types/hooks.d.ts +0 -122
- package/dist/types/hooks.d.ts.map +0 -1
- package/dist/types/hooks.js +0 -2
- package/dist/types/hooks.js.map +0 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -13
- package/dist/types/index.js.map +0 -1
- package/dist/types/request.d.ts +0 -42
- package/dist/types/request.d.ts.map +0 -1
- package/dist/types/request.js +0 -2
- package/dist/types/request.js.map +0 -1
- package/dist/types/schema-config.d.ts +0 -303
- package/dist/types/schema-config.d.ts.map +0 -1
- package/dist/types/schema-config.js +0 -2
- package/dist/types/schema-config.js.map +0 -1
- package/dist/types/schema-core.d.ts +0 -294
- package/dist/types/schema-core.d.ts.map +0 -1
- package/dist/types/schema-core.js +0 -2
- package/dist/types/schema-core.js.map +0 -1
- package/dist/types/schema-inference.d.ts +0 -73
- package/dist/types/schema-inference.d.ts.map +0 -1
- package/dist/types/schema-inference.js +0 -2
- package/dist/types/schema-inference.js.map +0 -1
- package/dist/types/workflows.d.ts +0 -84
- package/dist/types/workflows.d.ts.map +0 -1
- package/dist/types/workflows.js +0 -7
- package/dist/types/workflows.js.map +0 -1
- package/dist/utils/admin-auth.d.ts +0 -5
- package/dist/utils/admin-auth.d.ts.map +0 -1
- package/dist/utils/admin-auth.js +0 -39
- package/dist/utils/admin-auth.js.map +0 -1
- package/dist/utils/config.d.ts +0 -8
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -238
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/hooks.d.ts +0 -41
- package/dist/utils/hooks.d.ts.map +0 -1
- package/dist/utils/hooks.js +0 -173
- package/dist/utils/hooks.js.map +0 -1
- package/dist/utils/openapi.d.ts +0 -6
- package/dist/utils/openapi.d.ts.map +0 -1
- package/dist/utils/openapi.js +0 -842
- package/dist/utils/openapi.js.map +0 -1
- package/dist/utils/parse-sort.d.ts +0 -7
- package/dist/utils/parse-sort.d.ts.map +0 -1
- package/dist/utils/parse-sort.js +0 -23
- package/dist/utils/parse-sort.js.map +0 -1
- package/dist/utils/parse-where.d.ts +0 -63
- package/dist/utils/parse-where.d.ts.map +0 -1
- package/dist/utils/parse-where.js +0 -196
- package/dist/utils/parse-where.js.map +0 -1
- package/dist/utils/readonly-db.d.ts +0 -9
- package/dist/utils/readonly-db.d.ts.map +0 -1
- package/dist/utils/readonly-db.js +0 -21
- package/dist/utils/readonly-db.js.map +0 -1
- package/dist/utils/setup-prompt.d.ts +0 -11
- package/dist/utils/setup-prompt.d.ts.map +0 -1
- package/dist/utils/setup-prompt.js +0 -863
- package/dist/utils/setup-prompt.js.map +0 -1
- package/dist/utils/swagger.d.ts +0 -11
- package/dist/utils/swagger.d.ts.map +0 -1
- package/dist/utils/swagger.js +0 -62
- package/dist/utils/swagger.js.map +0 -1
- package/dist/utils/upload-validation.d.ts +0 -23
- package/dist/utils/upload-validation.d.ts.map +0 -1
- package/dist/utils/upload-validation.js +0 -44
- package/dist/utils/upload-validation.js.map +0 -1
- package/dist/utils/where-sanitizer.d.ts +0 -10
- package/dist/utils/where-sanitizer.d.ts.map +0 -1
- package/dist/utils/where-sanitizer.js +0 -67
- package/dist/utils/where-sanitizer.js.map +0 -1
- package/dist/where-sanitizer-7Q4JXMX6.js +0 -57
- package/dist/where-sanitizer-DQIWTQZW.js +0 -50
- package/dist/workflows.d.ts +0 -54
- package/dist/workflows.d.ts.map +0 -1
- package/dist/workflows.js +0 -282
- package/dist/workflows.js.map +0 -1
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { DefaultsService } from './defaults.service.js';
|
|
2
|
-
import jexl from 'jexl';
|
|
3
|
-
export class PopulationService {
|
|
4
|
-
db;
|
|
5
|
-
collections;
|
|
6
|
-
constructor(db, collections) {
|
|
7
|
-
this.db = db;
|
|
8
|
-
this.collections = collections;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Recursively populate relationship fields in a document or array of documents.
|
|
12
|
-
*/
|
|
13
|
-
async populate(args) {
|
|
14
|
-
const { data, fields, currentDepth = 0, maxDepth = 10 } = args;
|
|
15
|
-
if (currentDepth >= maxDepth || !data) {
|
|
16
|
-
return data;
|
|
17
|
-
}
|
|
18
|
-
if (Array.isArray(data)) {
|
|
19
|
-
return Promise.all(data.map(item => this.populate({ ...args, data: item })));
|
|
20
|
-
}
|
|
21
|
-
const populatedDoc = { ...data };
|
|
22
|
-
for (const field of fields) {
|
|
23
|
-
// Handle Join Fields - only populate at top level (depth 0) to prevent infinite recursion
|
|
24
|
-
if (field.type === 'join' && field.collection && field.on && currentDepth === 0) {
|
|
25
|
-
const targetCollection = this.collections.find(c => c.slug === field.collection);
|
|
26
|
-
if (targetCollection) {
|
|
27
|
-
const docId = populatedDoc.id;
|
|
28
|
-
if (docId) {
|
|
29
|
-
const where = { [field.on]: { equals: docId } };
|
|
30
|
-
const joinLimit = field.limit ?? 10;
|
|
31
|
-
const result = await this.db.find({
|
|
32
|
-
collection: field.collection,
|
|
33
|
-
where,
|
|
34
|
-
limit: joinLimit,
|
|
35
|
-
});
|
|
36
|
-
// Apply defaults and populate the joined documents (depth 1, so joins inside are skipped)
|
|
37
|
-
const populatedDocs = await this.populate({
|
|
38
|
-
data: result.docs.map(doc => DefaultsService.apply(targetCollection.fields, doc)),
|
|
39
|
-
fields: targetCollection.fields,
|
|
40
|
-
currentDepth: 1,
|
|
41
|
-
maxDepth,
|
|
42
|
-
});
|
|
43
|
-
populatedDoc[field.name] = {
|
|
44
|
-
docs: populatedDocs,
|
|
45
|
-
hasNextPage: result.page * result.limit < result.total,
|
|
46
|
-
totalDocs: result.total,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
if (field.type === 'row' && field.fields) {
|
|
53
|
-
const rowPopulated = await this.populate({ data, fields: field.fields, currentDepth, maxDepth });
|
|
54
|
-
Object.assign(populatedDoc, rowPopulated);
|
|
55
|
-
continue;
|
|
56
|
-
}
|
|
57
|
-
if (!field.name)
|
|
58
|
-
continue;
|
|
59
|
-
const value = populatedDoc[field.name];
|
|
60
|
-
// Handle Relationship Fields
|
|
61
|
-
if (field.type === 'relationship' && field.relationTo && value) {
|
|
62
|
-
const relatedCollection = this.collections.find(c => c.slug === field.relationTo);
|
|
63
|
-
if (!relatedCollection)
|
|
64
|
-
continue;
|
|
65
|
-
if (Array.isArray(value)) {
|
|
66
|
-
// Multi-relationship
|
|
67
|
-
populatedDoc[field.name] = await Promise.all(value.map(async (id) => {
|
|
68
|
-
if (!id)
|
|
69
|
-
return id;
|
|
70
|
-
let doc = id;
|
|
71
|
-
if (typeof id === 'string') {
|
|
72
|
-
doc = await this.db.findOne({ collection: field.relationTo, id });
|
|
73
|
-
}
|
|
74
|
-
if (!doc || typeof doc !== 'object')
|
|
75
|
-
return id;
|
|
76
|
-
const docWithDefaults = DefaultsService.apply(relatedCollection.fields, doc);
|
|
77
|
-
return this.populate({
|
|
78
|
-
data: docWithDefaults,
|
|
79
|
-
fields: relatedCollection.fields,
|
|
80
|
-
currentDepth: currentDepth + 1,
|
|
81
|
-
maxDepth,
|
|
82
|
-
});
|
|
83
|
-
}));
|
|
84
|
-
}
|
|
85
|
-
else if (value) {
|
|
86
|
-
// Single relationship
|
|
87
|
-
let doc = value;
|
|
88
|
-
if (typeof value === 'string') {
|
|
89
|
-
doc = await this.db.findOne({ collection: field.relationTo, id: value });
|
|
90
|
-
}
|
|
91
|
-
if (doc && typeof doc === 'object') {
|
|
92
|
-
const docWithDefaults = DefaultsService.apply(relatedCollection.fields, doc);
|
|
93
|
-
populatedDoc[field.name] = await this.populate({
|
|
94
|
-
data: docWithDefaults,
|
|
95
|
-
fields: relatedCollection.fields,
|
|
96
|
-
currentDepth: currentDepth + 1,
|
|
97
|
-
maxDepth,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
// Handle URL Fields with internal relationships
|
|
103
|
-
if (field.type === 'url' && value && typeof value === 'object' && value.type === 'internal' && value.relationTo && value.value) {
|
|
104
|
-
const relatedCollection = this.collections.find(c => c.slug === value.relationTo);
|
|
105
|
-
if (relatedCollection) {
|
|
106
|
-
const doc = await this.db.findOne({ collection: value.relationTo, id: value.value });
|
|
107
|
-
if (doc && typeof doc === 'object') {
|
|
108
|
-
const docWithDefaults = DefaultsService.apply(relatedCollection.fields, doc);
|
|
109
|
-
const populatedDocValue = await this.populate({
|
|
110
|
-
data: docWithDefaults,
|
|
111
|
-
fields: relatedCollection.fields,
|
|
112
|
-
currentDepth: currentDepth + 1,
|
|
113
|
-
maxDepth,
|
|
114
|
-
});
|
|
115
|
-
const identifier = docWithDefaults.slug || docWithDefaults.id;
|
|
116
|
-
let resolvedUrl = `/collections/${value.relationTo}/${identifier}`;
|
|
117
|
-
const previewUrlPattern = relatedCollection.admin?.previewUrl || relatedCollection.admin?.urlPattern;
|
|
118
|
-
if (previewUrlPattern) {
|
|
119
|
-
if (typeof previewUrlPattern === 'function') {
|
|
120
|
-
try {
|
|
121
|
-
resolvedUrl = previewUrlPattern(docWithDefaults, { locale: 'en' }) || resolvedUrl;
|
|
122
|
-
}
|
|
123
|
-
catch { }
|
|
124
|
-
}
|
|
125
|
-
else if (typeof previewUrlPattern === 'string') {
|
|
126
|
-
if (previewUrlPattern.includes('{{')) {
|
|
127
|
-
resolvedUrl = previewUrlPattern.replace(/{{(.*?)}}/g, (_, key) => String(docWithDefaults[key.trim()] || ''));
|
|
128
|
-
}
|
|
129
|
-
else if (previewUrlPattern.includes('+') || previewUrlPattern.includes('?') || previewUrlPattern.includes('==') || previewUrlPattern.includes('siteUrl')) {
|
|
130
|
-
try {
|
|
131
|
-
resolvedUrl = jexl.evalSync(previewUrlPattern, docWithDefaults);
|
|
132
|
-
}
|
|
133
|
-
catch (err) {
|
|
134
|
-
resolvedUrl = previewUrlPattern.replace(/:([a-zA-Z0-9_]+)/g, (_, key) => String(docWithDefaults[key] || ''));
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
resolvedUrl = previewUrlPattern.replace(/:([a-zA-Z0-9_]+)/g, (_, key) => String(docWithDefaults[key] || ''));
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
populatedDoc[field.name] = {
|
|
143
|
-
...value,
|
|
144
|
-
url: resolvedUrl,
|
|
145
|
-
doc: populatedDocValue,
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
// Handle Nested Fields (Arrays/Objects)
|
|
151
|
-
if ((field.type === 'array' || field.type === 'object') && field.fields && value) {
|
|
152
|
-
populatedDoc[field.name] = await this.populate({
|
|
153
|
-
data: value,
|
|
154
|
-
fields: field.fields,
|
|
155
|
-
currentDepth, // Nested fields don't consume depth, only relationships do
|
|
156
|
-
maxDepth,
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
// Handle Blocks
|
|
160
|
-
if (field.type === 'blocks' && field.blocks && Array.isArray(value)) {
|
|
161
|
-
populatedDoc[field.name] = await Promise.all(value.map(async (blockData) => {
|
|
162
|
-
const blockConfig = field.blocks.find(b => b.slug === blockData.blockType);
|
|
163
|
-
if (!blockConfig)
|
|
164
|
-
return blockData;
|
|
165
|
-
return this.populate({
|
|
166
|
-
data: blockData,
|
|
167
|
-
fields: blockConfig.fields,
|
|
168
|
-
currentDepth,
|
|
169
|
-
maxDepth,
|
|
170
|
-
});
|
|
171
|
-
}));
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return populatedDoc;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Helper to populate a PaginatedResult
|
|
178
|
-
*/
|
|
179
|
-
async populateResult(result, fields, maxDepth) {
|
|
180
|
-
if (maxDepth <= 0)
|
|
181
|
-
return result;
|
|
182
|
-
const populatedDocs = await this.populate({
|
|
183
|
-
data: result.docs,
|
|
184
|
-
fields,
|
|
185
|
-
currentDepth: 0,
|
|
186
|
-
maxDepth
|
|
187
|
-
});
|
|
188
|
-
return {
|
|
189
|
-
...result,
|
|
190
|
-
docs: populatedDocs
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
//# sourceMappingURL=population.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"population.service.js","sourceRoot":"","sources":["../../src/services/population.service.ts"],"names":[],"mappings":"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"}
|
package/dist/token-7QG5DBME.mjs
DELETED
package/dist/types/access.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { AuthenticatedUser, HookRequestContext } from "./request.js";
|
|
2
|
-
/**
|
|
3
|
-
* A function that determines whether the current user can perform an operation.
|
|
4
|
-
*
|
|
5
|
-
* Return `true` to allow, `false` to deny.
|
|
6
|
-
* Return a `where`-style object to allow access only to matching documents
|
|
7
|
-
* (useful for multi-tenant setups where users can only see their own data).
|
|
8
|
-
*
|
|
9
|
-
* Can also be expressed as a Jexl expression **string** for simple role checks
|
|
10
|
-
* that need to be serialised (e.g. stored in the database or sent to the Admin UI).
|
|
11
|
-
*
|
|
12
|
-
* @template TDoc The shape of the collection's document.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* // Simple role check
|
|
16
|
-
* access: {
|
|
17
|
-
* delete: ({ user }) => user?.roles?.includes('admin') ?? false,
|
|
18
|
-
* }
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* // Row-level: users can only read their own documents
|
|
22
|
-
* access: {
|
|
23
|
-
* read: ({ user }) => ({ owner: { equals: user?.sub } }),
|
|
24
|
-
* }
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Jexl string — evaluated server-side
|
|
28
|
-
* access: {
|
|
29
|
-
* update: "user.roles contains 'editor'",
|
|
30
|
-
* }
|
|
31
|
-
*/
|
|
32
|
-
export type AccessFunction<TDoc extends object = Record<string, unknown>> = (args: {
|
|
33
|
-
user: AuthenticatedUser | undefined;
|
|
34
|
-
doc?: TDoc;
|
|
35
|
-
data?: Partial<TDoc>;
|
|
36
|
-
req: HookRequestContext;
|
|
37
|
-
}) => boolean | Record<string, unknown> | Promise<boolean | Record<string, unknown>>;
|
|
38
|
-
//# sourceMappingURL=access.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../src/types/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;IACjF,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,GAAG,EAAE,kBAAkB,CAAC;CACzB,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC"}
|
package/dist/types/access.js
DELETED
package/dist/types/access.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/types/access.ts"],"names":[],"mappings":""}
|
package/dist/types/adapters.d.ts
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import type { BaseDocument, FileData, PaginatedResult } from "./documents.js";
|
|
2
|
-
import type { CollectionConfig, GlobalConfig } from "./schema-config.js";
|
|
3
|
-
import type { UploadConfig } from "./schema-core.js";
|
|
4
|
-
/**
|
|
5
|
-
* The interface every database adapter must implement.
|
|
6
|
-
*
|
|
7
|
-
* Dyrected ships adapters for PostgreSQL, MySQL, SQLite, and MongoDB.
|
|
8
|
-
* Implement this interface to connect any other database.
|
|
9
|
-
*/
|
|
10
|
-
export interface DatabaseAdapter {
|
|
11
|
-
/** Find a paginated list of documents in a collection. */
|
|
12
|
-
find(args: {
|
|
13
|
-
collection: string;
|
|
14
|
-
where?: Record<string, unknown>;
|
|
15
|
-
limit?: number;
|
|
16
|
-
page?: number;
|
|
17
|
-
sort?: string;
|
|
18
|
-
}): Promise<PaginatedResult>;
|
|
19
|
-
/** Find a single document by its ID. Returns `null` if not found. */
|
|
20
|
-
findOne(args: {
|
|
21
|
-
collection: string;
|
|
22
|
-
id: string;
|
|
23
|
-
}): Promise<BaseDocument | null>;
|
|
24
|
-
/** Insert a new document and return it with its generated `id`. */
|
|
25
|
-
create(args: {
|
|
26
|
-
collection: string;
|
|
27
|
-
data: Record<string, unknown>;
|
|
28
|
-
}): Promise<BaseDocument>;
|
|
29
|
-
/** Update a document by ID and return the updated document. */
|
|
30
|
-
update(args: {
|
|
31
|
-
collection: string;
|
|
32
|
-
id: string;
|
|
33
|
-
data: Record<string, unknown>;
|
|
34
|
-
}): Promise<BaseDocument>;
|
|
35
|
-
/** Delete a document by ID. Return value is intentionally untyped — callers do not use it. */
|
|
36
|
-
delete(args: {
|
|
37
|
-
collection: string;
|
|
38
|
-
id: string;
|
|
39
|
-
}): Promise<unknown>;
|
|
40
|
-
/** Fetch the singleton document for a global. Returns an empty object if not yet initialised. */
|
|
41
|
-
getGlobal(args: {
|
|
42
|
-
slug: string;
|
|
43
|
-
}): Promise<Record<string, unknown>>;
|
|
44
|
-
/** Create or replace the singleton document for a global. */
|
|
45
|
-
updateGlobal(args: {
|
|
46
|
-
slug: string;
|
|
47
|
-
data: Record<string, unknown>;
|
|
48
|
-
}): Promise<Record<string, unknown>>;
|
|
49
|
-
/**
|
|
50
|
-
* Sync the database schema with the current collection and global configs.
|
|
51
|
-
* Called on startup to create tables/collections that don't exist yet.
|
|
52
|
-
* Not all adapters implement this (e.g. MongoDB is schema-less).
|
|
53
|
-
*/
|
|
54
|
-
sync?(collections: CollectionConfig[], globals: GlobalConfig[]): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Execute a raw SQL query or database command.
|
|
57
|
-
* Optional — not all adapters support raw access.
|
|
58
|
-
*/
|
|
59
|
-
execute?(query: string, params?: unknown[]): Promise<unknown>;
|
|
60
|
-
/**
|
|
61
|
-
* Run all adapter operations in `callback` as one atomic transaction.
|
|
62
|
-
* Shipped adapters implement this; workflow transitions require it.
|
|
63
|
-
*/
|
|
64
|
-
transaction?<T>(callback: (db: DatabaseAdapter) => Promise<T>): Promise<T>;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Read-only view of the database adapter. Exposes only `find`, `findOne`,
|
|
68
|
-
* and `getGlobal` — no write operations.
|
|
69
|
-
*
|
|
70
|
-
* Passed to `beforeChange`, `beforeDelete`, `beforeRead`, `afterRead`,
|
|
71
|
-
* and field-level hooks. Write operations are available in `afterChange`
|
|
72
|
-
* and `afterDelete` hooks where the full {@link DatabaseAdapter} is provided.
|
|
73
|
-
*/
|
|
74
|
-
export type ReadonlyDatabaseAdapter = Pick<DatabaseAdapter, "find" | "findOne" | "getGlobal">;
|
|
75
|
-
/**
|
|
76
|
-
* The interface every storage adapter must implement.
|
|
77
|
-
*
|
|
78
|
-
* Dyrected ships adapters for local disk, S3, Cloudflare R2, Cloudinary, and
|
|
79
|
-
* Backblaze B2. Implement this interface to use any other storage provider.
|
|
80
|
-
*/
|
|
81
|
-
export interface StorageAdapter {
|
|
82
|
-
/**
|
|
83
|
-
* Upload a file and return its metadata (URL, dimensions, etc.).
|
|
84
|
-
* The `prefix` is a path prefix used for multi-tenant setups.
|
|
85
|
-
*/
|
|
86
|
-
upload(args: {
|
|
87
|
-
filename: string;
|
|
88
|
-
buffer: Uint8Array;
|
|
89
|
-
mimeType: string;
|
|
90
|
-
prefix?: string;
|
|
91
|
-
}): Promise<FileData>;
|
|
92
|
-
/** Delete a file by its stored filename. */
|
|
93
|
-
delete(args: {
|
|
94
|
-
filename: string;
|
|
95
|
-
}): Promise<void>;
|
|
96
|
-
/** Return the public URL for a stored file. */
|
|
97
|
-
getURL(args: {
|
|
98
|
-
filename: string;
|
|
99
|
-
}): string;
|
|
100
|
-
/**
|
|
101
|
-
* Retrieve the file's raw bytes and MIME type for serving via the API.
|
|
102
|
-
* Only needed by adapters that serve files through the Dyrected API
|
|
103
|
-
* (e.g. `LocalStorage`). Cloud adapters return `null` here and rely on
|
|
104
|
-
* direct CDN URLs instead.
|
|
105
|
-
*/
|
|
106
|
-
resolve?(args: {
|
|
107
|
-
filename: string;
|
|
108
|
-
}): Promise<{
|
|
109
|
-
buffer: Uint8Array;
|
|
110
|
-
mimeType: string;
|
|
111
|
-
} | null>;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Processes uploaded images — generates metadata (dimensions, BlurHash) and
|
|
115
|
-
* produces resized variants defined in `UploadConfig.imageSizes`.
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* import { SharpImageService } from '@dyrected/image-sharp'
|
|
119
|
-
* defineConfig({ image: new SharpImageService(), ... })
|
|
120
|
-
*/
|
|
121
|
-
export interface ImageService {
|
|
122
|
-
process(args: {
|
|
123
|
-
buffer: Uint8Array;
|
|
124
|
-
mimeType: string;
|
|
125
|
-
config?: boolean | UploadConfig;
|
|
126
|
-
focalPoint?: {
|
|
127
|
-
x: number;
|
|
128
|
-
y: number;
|
|
129
|
-
};
|
|
130
|
-
}): Promise<{
|
|
131
|
-
metadata: {
|
|
132
|
-
width?: number;
|
|
133
|
-
height?: number;
|
|
134
|
-
/** Base64-encoded BlurHash for progressive loading. */
|
|
135
|
-
blurhash?: string;
|
|
136
|
-
};
|
|
137
|
-
/** Generated image sizes keyed by their `name`. */
|
|
138
|
-
sizes?: Record<string, {
|
|
139
|
-
buffer: Uint8Array;
|
|
140
|
-
width: number;
|
|
141
|
-
height: number;
|
|
142
|
-
filename: string;
|
|
143
|
-
}>;
|
|
144
|
-
}>;
|
|
145
|
-
}
|
|
146
|
-
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/types/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/types/adapters.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/types/adapters.ts"],"names":[],"mappings":""}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import type { HookRequestContext } from "./request.js";
|
|
2
|
-
export interface AdminAuthMember {
|
|
3
|
-
id: string;
|
|
4
|
-
email: string;
|
|
5
|
-
name?: string;
|
|
6
|
-
roles: string[];
|
|
7
|
-
siteAccess?: string[];
|
|
8
|
-
status?: "active" | "pending";
|
|
9
|
-
[key: string]: any;
|
|
10
|
-
}
|
|
11
|
-
export type AdminAuthProvisioningMode = "jit_only" | "jit_plus_membership_management" | "preprovisioned_only";
|
|
12
|
-
export interface AdminAuthClaimMapping {
|
|
13
|
-
sub?: string;
|
|
14
|
-
email?: string;
|
|
15
|
-
name?: string;
|
|
16
|
-
roles?: string;
|
|
17
|
-
groups?: string;
|
|
18
|
-
siteIds?: string;
|
|
19
|
-
workspaceIds?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface AdminAuthResolvedIdentity {
|
|
22
|
-
sub: string;
|
|
23
|
-
email?: string;
|
|
24
|
-
name?: string;
|
|
25
|
-
roles?: string[];
|
|
26
|
-
groups?: string[];
|
|
27
|
-
siteIds?: string[];
|
|
28
|
-
workspaceIds?: string[];
|
|
29
|
-
rawClaims?: Record<string, unknown>;
|
|
30
|
-
}
|
|
31
|
-
export interface AdminAuthAccessResolution {
|
|
32
|
-
allowed: boolean;
|
|
33
|
-
roles?: string[];
|
|
34
|
-
data?: Record<string, unknown>;
|
|
35
|
-
}
|
|
36
|
-
export interface AdminAuthResolveAccessArgs {
|
|
37
|
-
identity: AdminAuthResolvedIdentity;
|
|
38
|
-
providerId: string;
|
|
39
|
-
siteId?: string;
|
|
40
|
-
workspaceId?: string;
|
|
41
|
-
req: {
|
|
42
|
-
method: string;
|
|
43
|
-
path: string;
|
|
44
|
-
url: string;
|
|
45
|
-
headers: Record<string, string | undefined>;
|
|
46
|
-
};
|
|
47
|
-
user: Record<string, unknown> | null;
|
|
48
|
-
}
|
|
49
|
-
export interface AdminAuthProviderMembersConfig {
|
|
50
|
-
list?: (args: {
|
|
51
|
-
limit?: number;
|
|
52
|
-
page?: number;
|
|
53
|
-
sort?: string;
|
|
54
|
-
where?: Record<string, any>;
|
|
55
|
-
req: HookRequestContext;
|
|
56
|
-
}) => Promise<{
|
|
57
|
-
docs: AdminAuthMember[];
|
|
58
|
-
totalDocs: number;
|
|
59
|
-
limit: number;
|
|
60
|
-
page: number;
|
|
61
|
-
totalPages: number;
|
|
62
|
-
hasNextPage: boolean;
|
|
63
|
-
hasPrevPage: boolean;
|
|
64
|
-
}>;
|
|
65
|
-
get?: (args: {
|
|
66
|
-
externalSubject: string;
|
|
67
|
-
req: HookRequestContext;
|
|
68
|
-
}) => Promise<AdminAuthMember | null>;
|
|
69
|
-
create?: (args: {
|
|
70
|
-
data: Record<string, any>;
|
|
71
|
-
req: HookRequestContext;
|
|
72
|
-
}) => Promise<AdminAuthMember>;
|
|
73
|
-
update?: (args: {
|
|
74
|
-
externalSubject: string;
|
|
75
|
-
data: Record<string, any>;
|
|
76
|
-
req: HookRequestContext;
|
|
77
|
-
}) => Promise<AdminAuthMember>;
|
|
78
|
-
delete?: (args: {
|
|
79
|
-
externalSubject: string;
|
|
80
|
-
req: HookRequestContext;
|
|
81
|
-
}) => Promise<void>;
|
|
82
|
-
}
|
|
83
|
-
export interface BaseAdminAuthProvider {
|
|
84
|
-
id: string;
|
|
85
|
-
type: "oidc" | "custom" | "cloud";
|
|
86
|
-
displayName?: string;
|
|
87
|
-
autoRedirect?: boolean;
|
|
88
|
-
allowJitProvisioning?: boolean;
|
|
89
|
-
claimMapping?: AdminAuthClaimMapping;
|
|
90
|
-
members?: AdminAuthProviderMembersConfig;
|
|
91
|
-
}
|
|
92
|
-
export interface OIDCAdminAuthProvider extends BaseAdminAuthProvider {
|
|
93
|
-
type: "oidc";
|
|
94
|
-
issuer: string;
|
|
95
|
-
clientId: string;
|
|
96
|
-
clientSecret: string;
|
|
97
|
-
redirectUri?: string;
|
|
98
|
-
scopes?: string[];
|
|
99
|
-
authorizationEndpoint?: string;
|
|
100
|
-
tokenEndpoint?: string;
|
|
101
|
-
userInfoEndpoint?: string;
|
|
102
|
-
}
|
|
103
|
-
export interface CustomAdminAuthProvider extends BaseAdminAuthProvider {
|
|
104
|
-
type: "custom" | "cloud";
|
|
105
|
-
startUrl?: string;
|
|
106
|
-
issuer?: string;
|
|
107
|
-
audience?: string;
|
|
108
|
-
secret?: string;
|
|
109
|
-
jwksUri?: string;
|
|
110
|
-
tokenParam?: string;
|
|
111
|
-
}
|
|
112
|
-
export type AdminAuthProvider = OIDCAdminAuthProvider | CustomAdminAuthProvider;
|
|
113
|
-
export interface PublicAdminAuthProvider {
|
|
114
|
-
id: string;
|
|
115
|
-
type: AdminAuthProvider["type"];
|
|
116
|
-
displayName: string;
|
|
117
|
-
autoRedirect?: boolean;
|
|
118
|
-
}
|
|
119
|
-
export interface PublicAdminAuthConfig {
|
|
120
|
-
mode: "local" | "external";
|
|
121
|
-
collectionSlug?: string;
|
|
122
|
-
provisioningMode?: AdminAuthProvisioningMode;
|
|
123
|
-
providers: PublicAdminAuthProvider[];
|
|
124
|
-
}
|
|
125
|
-
export interface AdminAuthConfig {
|
|
126
|
-
mode: "local" | "external";
|
|
127
|
-
collectionSlug?: string;
|
|
128
|
-
provisioningMode?: AdminAuthProvisioningMode;
|
|
129
|
-
providers: AdminAuthProvider[];
|
|
130
|
-
resolveAccess?: (args: AdminAuthResolveAccessArgs) => Promise<AdminAuthAccessResolution> | AdminAuthAccessResolution;
|
|
131
|
-
}
|
|
132
|
-
//# sourceMappingURL=admin-auth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../src/types/admin-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/types/admin-auth.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../src/types/admin-auth.ts"],"names":[],"mappings":""}
|
package/dist/types/admin.d.ts
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { icons as lucideIcons } from "lucide-react";
|
|
2
|
-
/** A valid icon component name from the Lucide icon set bundled with Dyrected Admin. */
|
|
3
|
-
export type AdminIconName = keyof typeof lucideIcons;
|
|
4
|
-
/** Ordered custom component keys rendered around the built-in Admin dashboard. */
|
|
5
|
-
export interface AdminDashboardComponentSlots {
|
|
6
|
-
beforeDashboard?: string[];
|
|
7
|
-
afterDashboard?: string[];
|
|
8
|
-
}
|
|
9
|
-
/** Ordered custom component keys rendered around a collection's list content. */
|
|
10
|
-
export interface CollectionListComponentSlots {
|
|
11
|
-
beforeList?: string[];
|
|
12
|
-
beforeListTable?: string[];
|
|
13
|
-
afterListTable?: string[];
|
|
14
|
-
afterList?: string[];
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Branding and metadata options for the Dyrected Admin UI.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* admin: {
|
|
21
|
-
* branding: {
|
|
22
|
-
* logo: '/logo.svg',
|
|
23
|
-
* primaryColor: '#6366f1',
|
|
24
|
-
* },
|
|
25
|
-
* meta: {
|
|
26
|
-
* titleSuffix: '- My App',
|
|
27
|
-
* },
|
|
28
|
-
* }
|
|
29
|
-
*/
|
|
30
|
-
export interface AdminConfig {
|
|
31
|
-
/** Custom component slots around the built-in dashboard. */
|
|
32
|
-
components?: AdminDashboardComponentSlots;
|
|
33
|
-
branding?: {
|
|
34
|
-
/** Full logo image shown in the expanded sidebar. URL or imported image asset. */
|
|
35
|
-
logo?: string;
|
|
36
|
-
/** Compact logo mark used in the collapsed sidebar state. */
|
|
37
|
-
logoMark?: string;
|
|
38
|
-
/** Text alternative or addition to the logo image. */
|
|
39
|
-
logoText?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Primary accent colour as any CSS colour value.
|
|
42
|
-
* @example '#6366f1'
|
|
43
|
-
* @example 'hsl(240 50% 60%)'
|
|
44
|
-
*/
|
|
45
|
-
primaryColor?: string;
|
|
46
|
-
/** Browser tab favicon URL. */
|
|
47
|
-
favicon?: string;
|
|
48
|
-
/** Font family for body and UI text. Must be loaded separately. */
|
|
49
|
-
fontSans?: string;
|
|
50
|
-
/** Font family for headings. Must be loaded separately. */
|
|
51
|
-
fontSerif?: string;
|
|
52
|
-
};
|
|
53
|
-
meta?: {
|
|
54
|
-
/**
|
|
55
|
-
* String appended to every Admin page's `<title>`.
|
|
56
|
-
* @default '- Dyrected'
|
|
57
|
-
*/
|
|
58
|
-
titleSuffix?: string;
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* The canonical/base URL of the frontend website for links and iframe live previews.
|
|
62
|
-
*/
|
|
63
|
-
siteUrl?: string;
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/types/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,WAAW,CAAC;AAErD,kFAAkF;AAClF,MAAM,WAAW,4BAA4B;IAC3C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,iFAAiF;AACjF,MAAM,WAAW,4BAA4B;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,QAAQ,CAAC,EAAE;QACT,kFAAkF;QAClF,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,6DAA6D;QAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,sDAAsD;QACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;;;WAIG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,+BAA+B;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,mEAAmE;QACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,2DAA2D;QAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,CAAC,EAAE;QACL;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/types/admin.js
DELETED
package/dist/types/admin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/types/admin.ts"],"names":[],"mappings":""}
|