@digitaldefiance/node-express-suite 4.22.2 → 4.23.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/README.md +173 -407
- package/package.json +1 -5
- package/src/__tests__/fixtures/index.d.ts +1 -1
- package/src/__tests__/fixtures/index.d.ts.map +1 -1
- package/src/__tests__/fixtures/index.js +1 -2
- package/src/__tests__/fixtures/index.js.map +1 -1
- package/src/__tests__/helpers/index.d.ts +1 -3
- package/src/__tests__/helpers/index.d.ts.map +1 -1
- package/src/__tests__/helpers/index.js +1 -4
- package/src/__tests__/helpers/index.js.map +1 -1
- package/src/__tests__/index.d.ts.map +1 -1
- package/src/__tests__/index.js +1 -0
- package/src/__tests__/index.js.map +1 -1
- package/src/application.d.ts +8 -11
- package/src/application.d.ts.map +1 -1
- package/src/application.js +8 -17
- package/src/application.js.map +1 -1
- package/src/branded-responses/branded-api-responses.d.ts +10 -2
- package/src/branded-responses/branded-api-responses.d.ts.map +1 -1
- package/src/branded-responses/branded-api-responses.js +5 -0
- package/src/branded-responses/branded-api-responses.js.map +1 -1
- package/src/branded-responses/serializers.d.ts +4 -1
- package/src/branded-responses/serializers.d.ts.map +1 -1
- package/src/builders/index.d.ts +1 -1
- package/src/builders/index.d.ts.map +1 -1
- package/src/builders/index.js +1 -2
- package/src/builders/index.js.map +1 -1
- package/src/controllers/base.d.ts +5 -18
- package/src/controllers/base.d.ts.map +1 -1
- package/src/controllers/base.js +7 -62
- package/src/controllers/base.js.map +1 -1
- package/src/controllers/index.d.ts +1 -1
- package/src/controllers/index.d.ts.map +1 -1
- package/src/controllers/index.js +2 -1
- package/src/controllers/index.js.map +1 -1
- package/src/controllers/openapi.d.ts +3 -3
- package/src/controllers/openapi.d.ts.map +1 -1
- package/src/controllers/openapi.js.map +1 -1
- package/src/enumerations/index.d.ts +0 -2
- package/src/enumerations/index.d.ts.map +1 -1
- package/src/enumerations/index.js +0 -2
- package/src/enumerations/index.js.map +1 -1
- package/src/environment.d.ts +4 -3
- package/src/environment.d.ts.map +1 -1
- package/src/environment.js +3 -1
- package/src/environment.js.map +1 -1
- package/src/errors/index.d.ts +0 -3
- package/src/errors/index.d.ts.map +1 -1
- package/src/errors/index.js +0 -3
- package/src/errors/index.js.map +1 -1
- package/src/index.d.ts +1 -8
- package/src/index.d.ts.map +1 -1
- package/src/index.js +1 -11
- package/src/index.js.map +1 -1
- package/src/interfaces/controller-config.d.ts +1 -2
- package/src/interfaces/controller-config.d.ts.map +1 -1
- package/src/interfaces/document-store.d.ts +3 -2
- package/src/interfaces/document-store.d.ts.map +1 -1
- package/src/interfaces/document-store.js +3 -3
- package/src/interfaces/document-store.js.map +1 -1
- package/src/interfaces/documents/base.d.ts +24 -0
- package/src/interfaces/documents/base.d.ts.map +1 -0
- package/src/interfaces/documents/base.js +13 -0
- package/src/interfaces/documents/base.js.map +1 -0
- package/src/interfaces/documents/email-token.d.ts +15 -0
- package/src/interfaces/documents/email-token.d.ts.map +1 -0
- package/src/interfaces/documents/email-token.js +7 -0
- package/src/interfaces/{models → documents}/email-token.js.map +1 -1
- package/src/interfaces/documents/index.d.ts +25 -0
- package/src/interfaces/documents/index.d.ts.map +1 -0
- package/src/interfaces/documents/index.js +20 -0
- package/src/interfaces/documents/index.js.map +1 -0
- package/src/interfaces/documents/mnemonic.d.ts +15 -0
- package/src/interfaces/documents/mnemonic.d.ts.map +1 -0
- package/src/interfaces/documents/mnemonic.js +7 -0
- package/src/interfaces/{models → documents}/mnemonic.js.map +1 -1
- package/src/interfaces/documents/role.d.ts +15 -0
- package/src/interfaces/documents/role.d.ts.map +1 -0
- package/src/interfaces/documents/role.js +7 -0
- package/src/interfaces/{models → documents}/role.js.map +1 -1
- package/src/interfaces/documents/used-direct-login-token.d.ts +15 -0
- package/src/interfaces/documents/used-direct-login-token.d.ts.map +1 -0
- package/src/interfaces/documents/used-direct-login-token.js +7 -0
- package/src/interfaces/{models → documents}/used-direct-login-token.js.map +1 -1
- package/src/interfaces/documents/user-role.d.ts +15 -0
- package/src/interfaces/documents/user-role.d.ts.map +1 -0
- package/src/interfaces/documents/user-role.js +7 -0
- package/src/interfaces/{models → documents}/user-role.js.map +1 -1
- package/src/interfaces/documents/user.d.ts +16 -0
- package/src/interfaces/documents/user.d.ts.map +1 -0
- package/src/interfaces/documents/user.js +7 -0
- package/src/interfaces/{models → documents}/user.js.map +1 -1
- package/src/interfaces/environment.d.ts +3 -2
- package/src/interfaces/environment.d.ts.map +1 -1
- package/src/interfaces/index.d.ts +3 -10
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +3 -10
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/jwt-service.d.ts +27 -0
- package/src/interfaces/jwt-service.d.ts.map +1 -0
- package/src/interfaces/jwt-service.js +10 -0
- package/src/interfaces/jwt-service.js.map +1 -0
- package/src/interfaces/role-service.d.ts +55 -0
- package/src/interfaces/role-service.d.ts.map +1 -0
- package/src/interfaces/role-service.js +10 -0
- package/src/interfaces/role-service.js.map +1 -0
- package/src/interfaces/server-init-result.d.ts +10 -18
- package/src/interfaces/server-init-result.d.ts.map +1 -1
- package/src/interfaces/server-init-result.js +4 -2
- package/src/interfaces/server-init-result.js.map +1 -1
- package/src/plugins/database-plugin.d.ts +12 -0
- package/src/plugins/database-plugin.d.ts.map +1 -1
- package/src/plugins/index.d.ts +0 -1
- package/src/plugins/index.d.ts.map +1 -1
- package/src/plugins/index.js +0 -1
- package/src/plugins/index.js.map +1 -1
- package/src/routers/index.d.ts +0 -1
- package/src/routers/index.d.ts.map +1 -1
- package/src/routers/index.js +0 -1
- package/src/routers/index.js.map +1 -1
- package/src/services/abstract-jwt-service.d.ts +34 -0
- package/src/services/abstract-jwt-service.d.ts.map +1 -0
- package/src/services/abstract-jwt-service.js +68 -0
- package/src/services/abstract-jwt-service.js.map +1 -0
- package/src/services/abstract-role-service.d.ts +61 -0
- package/src/services/abstract-role-service.d.ts.map +1 -0
- package/src/services/abstract-role-service.js +69 -0
- package/src/services/abstract-role-service.js.map +1 -0
- package/src/services/base.d.ts +10 -13
- package/src/services/base.d.ts.map +1 -1
- package/src/services/base.js +7 -21
- package/src/services/base.js.map +1 -1
- package/src/services/index.d.ts +2 -15
- package/src/services/index.d.ts.map +1 -1
- package/src/services/index.js +2 -15
- package/src/services/index.js.map +1 -1
- package/src/testing.d.ts +1 -1
- package/src/testing.d.ts.map +1 -1
- package/src/testing.js +1 -1
- package/src/testing.js.map +1 -1
- package/src/types.d.ts +6 -17
- package/src/types.d.ts.map +1 -1
- package/src/types.js.map +1 -1
- package/src/utils.d.ts +5 -34
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js +24 -165
- package/src/utils.js.map +1 -1
- package/src/__tests__/fixtures/model-mocks.mock.d.ts +0 -12
- package/src/__tests__/fixtures/model-mocks.mock.d.ts.map +0 -1
- package/src/__tests__/fixtures/model-mocks.mock.js +0 -102
- package/src/__tests__/fixtures/model-mocks.mock.js.map +0 -1
- package/src/__tests__/helpers/application.mock.d.ts +0 -8
- package/src/__tests__/helpers/application.mock.d.ts.map +0 -1
- package/src/__tests__/helpers/application.mock.js +0 -85
- package/src/__tests__/helpers/application.mock.js.map +0 -1
- package/src/__tests__/helpers/setup-test-env.d.ts +0 -13
- package/src/__tests__/helpers/setup-test-env.d.ts.map +0 -1
- package/src/__tests__/helpers/setup-test-env.js +0 -133
- package/src/__tests__/helpers/setup-test-env.js.map +0 -1
- package/src/builders/application-builder.d.ts +0 -53
- package/src/builders/application-builder.d.ts.map +0 -1
- package/src/builders/application-builder.js +0 -91
- package/src/builders/application-builder.js.map +0 -1
- package/src/controllers/user.d.ts +0 -66
- package/src/controllers/user.d.ts.map +0 -1
- package/src/controllers/user.js +0 -949
- package/src/controllers/user.js.map +0 -1
- package/src/documents/base.d.ts +0 -15
- package/src/documents/base.d.ts.map +0 -1
- package/src/documents/base.js +0 -8
- package/src/documents/base.js.map +0 -1
- package/src/documents/email-token.d.ts +0 -15
- package/src/documents/email-token.d.ts.map +0 -1
- package/src/documents/email-token.js +0 -8
- package/src/documents/email-token.js.map +0 -1
- package/src/documents/index.d.ts +0 -8
- package/src/documents/index.d.ts.map +0 -1
- package/src/documents/index.js +0 -3
- package/src/documents/index.js.map +0 -1
- package/src/documents/mnemonic.d.ts +0 -16
- package/src/documents/mnemonic.d.ts.map +0 -1
- package/src/documents/mnemonic.js +0 -8
- package/src/documents/mnemonic.js.map +0 -1
- package/src/documents/role.d.ts +0 -15
- package/src/documents/role.d.ts.map +0 -1
- package/src/documents/role.js +0 -8
- package/src/documents/role.js.map +0 -1
- package/src/documents/used-direct-login-token.d.ts +0 -16
- package/src/documents/used-direct-login-token.d.ts.map +0 -1
- package/src/documents/used-direct-login-token.js +0 -8
- package/src/documents/used-direct-login-token.js.map +0 -1
- package/src/documents/user-role.d.ts +0 -16
- package/src/documents/user-role.d.ts.map +0 -1
- package/src/documents/user-role.js +0 -8
- package/src/documents/user-role.js.map +0 -1
- package/src/documents/user.d.ts +0 -16
- package/src/documents/user.d.ts.map +0 -1
- package/src/documents/user.js +0 -8
- package/src/documents/user.js.map +0 -1
- package/src/enumerations/base-model-name.d.ts +0 -43
- package/src/enumerations/base-model-name.d.ts.map +0 -1
- package/src/enumerations/base-model-name.js +0 -39
- package/src/enumerations/base-model-name.js.map +0 -1
- package/src/enumerations/schema-collection.d.ts +0 -39
- package/src/enumerations/schema-collection.d.ts.map +0 -1
- package/src/enumerations/schema-collection.js +0 -43
- package/src/enumerations/schema-collection.js.map +0 -1
- package/src/errors/invalid-model.d.ts +0 -18
- package/src/errors/invalid-model.d.ts.map +0 -1
- package/src/errors/invalid-model.js +0 -26
- package/src/errors/invalid-model.js.map +0 -1
- package/src/errors/model-not-registered.d.ts +0 -18
- package/src/errors/model-not-registered.d.ts.map +0 -1
- package/src/errors/model-not-registered.js +0 -26
- package/src/errors/model-not-registered.js.map +0 -1
- package/src/errors/mongoose-validation.d.ts +0 -28
- package/src/errors/mongoose-validation.d.ts.map +0 -1
- package/src/errors/mongoose-validation.js +0 -33
- package/src/errors/mongoose-validation.js.map +0 -1
- package/src/interfaces/api-mongo-validation-error-response.d.ts +0 -16
- package/src/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
- package/src/interfaces/api-mongo-validation-error-response.js +0 -8
- package/src/interfaces/api-mongo-validation-error-response.js.map +0 -1
- package/src/interfaces/database-init-result-tx.d.ts +0 -27
- package/src/interfaces/database-init-result-tx.d.ts.map +0 -1
- package/src/interfaces/database-init-result-tx.js +0 -3
- package/src/interfaces/database-init-result-tx.js.map +0 -1
- package/src/interfaces/db-init-result.d.ts +0 -16
- package/src/interfaces/db-init-result.d.ts.map +0 -1
- package/src/interfaces/db-init-result.js +0 -8
- package/src/interfaces/db-init-result.js.map +0 -1
- package/src/interfaces/discriminator-collections.d.ts +0 -17
- package/src/interfaces/discriminator-collections.d.ts.map +0 -1
- package/src/interfaces/discriminator-collections.js +0 -8
- package/src/interfaces/discriminator-collections.js.map +0 -1
- package/src/interfaces/environment-mongo.d.ts +0 -86
- package/src/interfaces/environment-mongo.d.ts.map +0 -1
- package/src/interfaces/environment-mongo.js +0 -8
- package/src/interfaces/environment-mongo.js.map +0 -1
- package/src/interfaces/models/email-token.d.ts +0 -12
- package/src/interfaces/models/email-token.d.ts.map +0 -1
- package/src/interfaces/models/email-token.js +0 -8
- package/src/interfaces/models/index.d.ts +0 -8
- package/src/interfaces/models/index.d.ts.map +0 -1
- package/src/interfaces/models/index.js +0 -11
- package/src/interfaces/models/index.js.map +0 -1
- package/src/interfaces/models/mnemonic.d.ts +0 -13
- package/src/interfaces/models/mnemonic.d.ts.map +0 -1
- package/src/interfaces/models/mnemonic.js +0 -8
- package/src/interfaces/models/role.d.ts +0 -12
- package/src/interfaces/models/role.d.ts.map +0 -1
- package/src/interfaces/models/role.js +0 -8
- package/src/interfaces/models/token-role.d.ts +0 -19
- package/src/interfaces/models/token-role.d.ts.map +0 -1
- package/src/interfaces/models/token-role.js +0 -8
- package/src/interfaces/models/token-role.js.map +0 -1
- package/src/interfaces/models/used-direct-login-token.d.ts +0 -19
- package/src/interfaces/models/used-direct-login-token.d.ts.map +0 -1
- package/src/interfaces/models/used-direct-login-token.js +0 -8
- package/src/interfaces/models/user-role.d.ts +0 -19
- package/src/interfaces/models/user-role.d.ts.map +0 -1
- package/src/interfaces/models/user-role.js +0 -8
- package/src/interfaces/models/user.d.ts +0 -21
- package/src/interfaces/models/user.d.ts.map +0 -1
- package/src/interfaces/models/user.js +0 -8
- package/src/interfaces/mongo-application.d.ts +0 -35
- package/src/interfaces/mongo-application.d.ts.map +0 -1
- package/src/interfaces/mongo-application.js +0 -10
- package/src/interfaces/mongo-application.js.map +0 -1
- package/src/interfaces/mongo-errors.d.ts +0 -13
- package/src/interfaces/mongo-errors.d.ts.map +0 -1
- package/src/interfaces/mongo-errors.js +0 -8
- package/src/interfaces/mongo-errors.js.map +0 -1
- package/src/interfaces/mongoose-document-store.d.ts +0 -42
- package/src/interfaces/mongoose-document-store.d.ts.map +0 -1
- package/src/interfaces/mongoose-document-store.js +0 -10
- package/src/interfaces/mongoose-document-store.js.map +0 -1
- package/src/interfaces/schema.d.ts +0 -37
- package/src/interfaces/schema.d.ts.map +0 -1
- package/src/interfaces/schema.js +0 -8
- package/src/interfaces/schema.js.map +0 -1
- package/src/interfaces/test-environment.d.ts +0 -22
- package/src/interfaces/test-environment.d.ts.map +0 -1
- package/src/interfaces/test-environment.js +0 -8
- package/src/interfaces/test-environment.js.map +0 -1
- package/src/model-registry.d.ts +0 -79
- package/src/model-registry.d.ts.map +0 -1
- package/src/model-registry.js +0 -97
- package/src/model-registry.js.map +0 -1
- package/src/models/email-token.d.ts +0 -24
- package/src/models/email-token.d.ts.map +0 -1
- package/src/models/email-token.js +0 -16
- package/src/models/email-token.js.map +0 -1
- package/src/models/index.d.ts +0 -7
- package/src/models/index.d.ts.map +0 -1
- package/src/models/index.js +0 -10
- package/src/models/index.js.map +0 -1
- package/src/models/mnemonic.d.ts +0 -24
- package/src/models/mnemonic.d.ts.map +0 -1
- package/src/models/mnemonic.js +0 -27
- package/src/models/mnemonic.js.map +0 -1
- package/src/models/role.d.ts +0 -24
- package/src/models/role.d.ts.map +0 -1
- package/src/models/role.js +0 -27
- package/src/models/role.js.map +0 -1
- package/src/models/used-direct-login-token.d.ts +0 -24
- package/src/models/used-direct-login-token.d.ts.map +0 -1
- package/src/models/used-direct-login-token.js +0 -16
- package/src/models/used-direct-login-token.js.map +0 -1
- package/src/models/user-role.d.ts +0 -23
- package/src/models/user-role.d.ts.map +0 -1
- package/src/models/user-role.js +0 -26
- package/src/models/user-role.js.map +0 -1
- package/src/models/user.d.ts +0 -24
- package/src/models/user.d.ts.map +0 -1
- package/src/models/user.js +0 -27
- package/src/models/user.js.map +0 -1
- package/src/mongo-application-concrete.d.ts +0 -32
- package/src/mongo-application-concrete.d.ts.map +0 -1
- package/src/mongo-application-concrete.js +0 -49
- package/src/mongo-application-concrete.js.map +0 -1
- package/src/plugins/mongo-database-plugin.d.ts +0 -115
- package/src/plugins/mongo-database-plugin.d.ts.map +0 -1
- package/src/plugins/mongo-database-plugin.js +0 -234
- package/src/plugins/mongo-database-plugin.js.map +0 -1
- package/src/routers/api.d.ts +0 -60
- package/src/routers/api.d.ts.map +0 -1
- package/src/routers/api.js +0 -116
- package/src/routers/api.js.map +0 -1
- package/src/schemas/email-token.d.ts +0 -65
- package/src/schemas/email-token.d.ts.map +0 -1
- package/src/schemas/email-token.js +0 -68
- package/src/schemas/email-token.js.map +0 -1
- package/src/schemas/index.d.ts +0 -8
- package/src/schemas/index.d.ts.map +0 -1
- package/src/schemas/index.js +0 -11
- package/src/schemas/index.js.map +0 -1
- package/src/schemas/mnemonic.d.ts +0 -37
- package/src/schemas/mnemonic.d.ts.map +0 -1
- package/src/schemas/mnemonic.js +0 -41
- package/src/schemas/mnemonic.js.map +0 -1
- package/src/schemas/role.d.ts +0 -57
- package/src/schemas/role.d.ts.map +0 -1
- package/src/schemas/role.js +0 -102
- package/src/schemas/role.js.map +0 -1
- package/src/schemas/schema.d.ts +0 -62
- package/src/schemas/schema.d.ts.map +0 -1
- package/src/schemas/schema.js +0 -81
- package/src/schemas/schema.js.map +0 -1
- package/src/schemas/used-direct-login-token.d.ts +0 -49
- package/src/schemas/used-direct-login-token.d.ts.map +0 -1
- package/src/schemas/used-direct-login-token.js +0 -35
- package/src/schemas/used-direct-login-token.js.map +0 -1
- package/src/schemas/user-role.d.ts +0 -52
- package/src/schemas/user-role.d.ts.map +0 -1
- package/src/schemas/user-role.js +0 -67
- package/src/schemas/user-role.js.map +0 -1
- package/src/schemas/user.d.ts +0 -43
- package/src/schemas/user.d.ts.map +0 -1
- package/src/schemas/user.js +0 -214
- package/src/schemas/user.js.map +0 -1
- package/src/services/backup-code.d.ts +0 -120
- package/src/services/backup-code.d.ts.map +0 -1
- package/src/services/backup-code.js +0 -323
- package/src/services/backup-code.js.map +0 -1
- package/src/services/database-initialization.d.ts +0 -138
- package/src/services/database-initialization.d.ts.map +0 -1
- package/src/services/database-initialization.js +0 -913
- package/src/services/database-initialization.js.map +0 -1
- package/src/services/db-init-cache.d.ts +0 -18
- package/src/services/db-init-cache.d.ts.map +0 -1
- package/src/services/db-init-cache.js +0 -7
- package/src/services/db-init-cache.js.map +0 -1
- package/src/services/direct-login-token.d.ts +0 -28
- package/src/services/direct-login-token.d.ts.map +0 -1
- package/src/services/direct-login-token.js +0 -62
- package/src/services/direct-login-token.js.map +0 -1
- package/src/services/jwt.d.ts +0 -45
- package/src/services/jwt.d.ts.map +0 -1
- package/src/services/jwt.js +0 -105
- package/src/services/jwt.js.map +0 -1
- package/src/services/mnemonic.d.ts +0 -68
- package/src/services/mnemonic.d.ts.map +0 -1
- package/src/services/mnemonic.js +0 -120
- package/src/services/mnemonic.js.map +0 -1
- package/src/services/mongo-authentication-provider.d.ts +0 -27
- package/src/services/mongo-authentication-provider.d.ts.map +0 -1
- package/src/services/mongo-authentication-provider.js +0 -84
- package/src/services/mongo-authentication-provider.js.map +0 -1
- package/src/services/mongo-backup-code-store.d.ts +0 -40
- package/src/services/mongo-backup-code-store.d.ts.map +0 -1
- package/src/services/mongo-backup-code-store.js +0 -104
- package/src/services/mongo-backup-code-store.js.map +0 -1
- package/src/services/mongo-base.d.ts +0 -24
- package/src/services/mongo-base.d.ts.map +0 -1
- package/src/services/mongo-base.js +0 -28
- package/src/services/mongo-base.js.map +0 -1
- package/src/services/mongoose-collection.d.ts +0 -52
- package/src/services/mongoose-collection.d.ts.map +0 -1
- package/src/services/mongoose-collection.js +0 -326
- package/src/services/mongoose-collection.js.map +0 -1
- package/src/services/mongoose-database.d.ts +0 -64
- package/src/services/mongoose-database.d.ts.map +0 -1
- package/src/services/mongoose-database.js +0 -121
- package/src/services/mongoose-database.js.map +0 -1
- package/src/services/mongoose-document-store.d.ts +0 -109
- package/src/services/mongoose-document-store.d.ts.map +0 -1
- package/src/services/mongoose-document-store.js +0 -264
- package/src/services/mongoose-document-store.js.map +0 -1
- package/src/services/mongoose-session-adapter.d.ts +0 -39
- package/src/services/mongoose-session-adapter.d.ts.map +0 -1
- package/src/services/mongoose-session-adapter.js +0 -63
- package/src/services/mongoose-session-adapter.js.map +0 -1
- package/src/services/request-user.d.ts +0 -45
- package/src/services/request-user.d.ts.map +0 -1
- package/src/services/request-user.js +0 -90
- package/src/services/request-user.js.map +0 -1
- package/src/services/role.d.ts +0 -97
- package/src/services/role.d.ts.map +0 -1
- package/src/services/role.js +0 -289
- package/src/services/role.js.map +0 -1
- package/src/services/user.d.ts +0 -368
- package/src/services/user.d.ts.map +0 -1
- package/src/services/user.js +0 -1495
- package/src/services/user.js.map +0 -1
- package/src/transactions/index.d.ts +0 -2
- package/src/transactions/index.d.ts.map +0 -1
- package/src/transactions/index.js +0 -5
- package/src/transactions/index.js.map +0 -1
- package/src/transactions/transaction-manager.d.ts +0 -37
- package/src/transactions/transaction-manager.d.ts.map +0 -1
- package/src/transactions/transaction-manager.js +0 -50
- package/src/transactions/transaction-manager.js.map +0 -1
- package/src/types/mongoose-helpers.d.ts +0 -16
- package/src/types/mongoose-helpers.d.ts.map +0 -1
- package/src/types/mongoose-helpers.js +0 -8
- package/src/types/mongoose-helpers.js.map +0 -1
- package/src/utils/default-mongo-uri-validator.d.ts +0 -15
- package/src/utils/default-mongo-uri-validator.d.ts.map +0 -1
- package/src/utils/default-mongo-uri-validator.js +0 -46
- package/src/utils/default-mongo-uri-validator.js.map +0 -1
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Mongoose-backed implementation of IAuthenticationProvider.
|
|
4
|
-
* Delegates user lookup, role resolution, and credential verification
|
|
5
|
-
* to the existing Mongoose models and services.
|
|
6
|
-
* @module services/mongo-authentication-provider
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.MongoAuthenticationProvider = void 0;
|
|
10
|
-
const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
|
|
11
|
-
const base_model_name_1 = require("../enumerations/base-model-name");
|
|
12
|
-
const model_registry_1 = require("../model-registry");
|
|
13
|
-
const jwt_1 = require("./jwt");
|
|
14
|
-
const request_user_1 = require("./request-user");
|
|
15
|
-
const role_1 = require("./role");
|
|
16
|
-
const utils_1 = require("../utils");
|
|
17
|
-
const container_1 = require("../container");
|
|
18
|
-
/**
|
|
19
|
-
* Mongoose-backed authentication provider.
|
|
20
|
-
* Uses ModelRegistry, JwtService, RoleService, and UserService
|
|
21
|
-
* to implement the storage-agnostic IAuthenticationProvider interface.
|
|
22
|
-
*/
|
|
23
|
-
class MongoAuthenticationProvider {
|
|
24
|
-
application;
|
|
25
|
-
constructor(application) {
|
|
26
|
-
this.application = application;
|
|
27
|
-
}
|
|
28
|
-
async findUserById(userId) {
|
|
29
|
-
const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
|
|
30
|
-
const userDoc = await UserModel.findById(userId).select('-password').exec();
|
|
31
|
-
if (!userDoc)
|
|
32
|
-
return null;
|
|
33
|
-
return {
|
|
34
|
-
id: String(userDoc._id),
|
|
35
|
-
accountStatus: userDoc.accountStatus,
|
|
36
|
-
email: userDoc.email,
|
|
37
|
-
siteLanguage: userDoc.siteLanguage,
|
|
38
|
-
timezone: userDoc.timezone,
|
|
39
|
-
lastLogin: userDoc.lastLogin?.toString(),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
async buildRequestUserDTO(userId) {
|
|
43
|
-
const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
|
|
44
|
-
return await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, undefined, async (sess) => {
|
|
45
|
-
const userDoc = await UserModel.findById(userId)
|
|
46
|
-
.select('-password')
|
|
47
|
-
.session(sess ?? null)
|
|
48
|
-
.exec();
|
|
49
|
-
if (!userDoc || userDoc.accountStatus !== suite_core_lib_1.AccountStatus.Active) {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
const roleService = new role_1.RoleService(this.application);
|
|
53
|
-
const roles = await roleService.getUserRoles(userDoc._id, sess);
|
|
54
|
-
const tokenRoles = roleService.rolesToTokenRoles(roles);
|
|
55
|
-
return request_user_1.RequestUserService.makeRequestUserDTO(userDoc, tokenRoles);
|
|
56
|
-
}, { timeoutMs: this.application.environment.mongo.transactionTimeout });
|
|
57
|
-
}
|
|
58
|
-
async verifyToken(token) {
|
|
59
|
-
const jwtService = new jwt_1.JwtService(this.application);
|
|
60
|
-
return (await jwtService.verifyToken(token));
|
|
61
|
-
}
|
|
62
|
-
async authenticateWithMnemonic(email, mnemonic) {
|
|
63
|
-
const userService = this.application.services.get(container_1.ServiceKeys.USER);
|
|
64
|
-
const result = await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, undefined, async (sess) => {
|
|
65
|
-
return await userService.loginWithMnemonic(email, mnemonic, sess);
|
|
66
|
-
}, { timeoutMs: this.application.environment.mongo.transactionTimeout });
|
|
67
|
-
return {
|
|
68
|
-
userId: String(result.userDoc._id),
|
|
69
|
-
userMember: result.userMember,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
async authenticateWithPassword(email, password) {
|
|
73
|
-
const userService = this.application.services.get(container_1.ServiceKeys.USER);
|
|
74
|
-
const result = await (0, utils_1.withTransaction)(this.application.db.connection, this.application.environment.mongo.useTransactions, undefined, async (sess) => {
|
|
75
|
-
return await userService.loginWithPassword(email, password, sess);
|
|
76
|
-
}, { timeoutMs: this.application.environment.mongo.transactionTimeout });
|
|
77
|
-
return {
|
|
78
|
-
userId: String(result.userDoc._id),
|
|
79
|
-
userMember: result.userMember,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
exports.MongoAuthenticationProvider = MongoAuthenticationProvider;
|
|
84
|
-
//# sourceMappingURL=mongo-authentication-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-authentication-provider.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-authentication-provider.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAKH,oEAA4E;AAE5E,qEAAgE;AAOhE,sDAAkD;AAClD,+BAAmC;AACnC,iDAAoD;AACpD,iCAAqC;AACrC,oCAA2C;AAE3C,4CAA2C;AAE3C;;;;GAIG;AACH,MAAa,2BAA2B;IAIT;IAA7B,YAA6B,WAAmC;QAAnC,gBAAW,GAAX,WAAW,CAAwB;IAAG,CAAC;IAEpE,KAAK,CAAC,YAAY,CAChB,MAAc;QAEd,MAAM,SAAS,GAAG,8BAAa,CAAC,QAAQ,CAAC,aAAa,CAEpD,+BAAa,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;QAE5E,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YACvB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACtC,MAAM,SAAS,GAAG,8BAAa,CAAC,QAAQ,CAAC,aAAa,CAEpD,+BAAa,CAAC,IAAI,CAAC,CAAC;QAEtB,OAAO,MAAM,IAAA,uBAAe,EAC1B,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAC9B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAClD,SAAS,EACT,KAAK,EAAE,IAA+B,EAAE,EAAE;YACxC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;iBAC7C,MAAM,CAAC,WAAW,CAAC;iBACnB,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;iBACrB,IAAI,EAAE,CAAC;YAEV,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,KAAK,8BAAa,CAAC,MAAM,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,kBAAW,CAAM,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,GAAU,EAAE,IAAI,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxD,OAAO,iCAAkB,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CACrE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAa;QAEb,MAAM,UAAU,GAAG,IAAI,gBAAU,CAAM,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAsB,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAAa,EACb,QAAsB;QAEtB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAW,CAAC,IAAI,CASjE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAe,EAClC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAC9B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAClD,SAAS,EACT,KAAK,EAAE,IAA+B,EAAE,EAAE;YACxC,OAAO,MAAM,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CACrE,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAAa,EACb,QAAgB;QAEhB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAW,CAAC,IAAI,CASjE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAe,EAClC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAC9B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,EAClD,SAAS,EACT,KAAK,EAAE,IAA+B,EAAE,EAAE;YACxC,OAAO,MAAM,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,CACrE,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC;IACJ,CAAC;CACF;AA3HD,kEA2HC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Mongoose/MongoDB implementation of IBackupCodeStore.
|
|
3
|
-
* Provides backward-compatible storage for the BackupCodeService using
|
|
4
|
-
* Mongoose UserDocument and ModelRegistry.
|
|
5
|
-
* @module services/mongo-backup-code-store
|
|
6
|
-
*/
|
|
7
|
-
import type { MemberType } from '@digitaldefiance/ecies-lib';
|
|
8
|
-
import type { ClientSession } from '@digitaldefiance/mongoose-types';
|
|
9
|
-
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
10
|
-
import type { ITokenRole } from '@digitaldefiance/suite-core-lib';
|
|
11
|
-
import type { IBackupCodeStore, IBackupCodeUserRecord, IBackupCodeUserUpdate } from '../interfaces/backup-code-store';
|
|
12
|
-
import type { IMongoApplication } from '../interfaces/mongo-application';
|
|
13
|
-
import { RoleService } from './role';
|
|
14
|
-
/**
|
|
15
|
-
* Mongoose-backed implementation of IBackupCodeStore.
|
|
16
|
-
*
|
|
17
|
-
* Delegates all persistence to the Mongoose UserModel and uses
|
|
18
|
-
* RoleService for member type resolution. This is the default store
|
|
19
|
-
* used when no custom store is provided to BackupCodeService.
|
|
20
|
-
*
|
|
21
|
-
* @template TID - Platform ID type
|
|
22
|
-
* @template TDate - Date type
|
|
23
|
-
* @template TTokenRole - Token role interface type
|
|
24
|
-
*/
|
|
25
|
-
export declare class MongoBackupCodeStore<TID extends PlatformID = Buffer, TDate extends Date = Date, TTokenRole extends ITokenRole<TID, TDate> = ITokenRole<TID, TDate>> implements IBackupCodeStore<TID> {
|
|
26
|
-
private readonly application;
|
|
27
|
-
private readonly roleService;
|
|
28
|
-
private readonly session?;
|
|
29
|
-
constructor(application: IMongoApplication<TID>, roleService: RoleService<TID, TDate, TTokenRole>, session?: ClientSession);
|
|
30
|
-
/**
|
|
31
|
-
* Create a new MongoBackupCodeStore bound to a specific session.
|
|
32
|
-
* Useful for transactional operations.
|
|
33
|
-
*/
|
|
34
|
-
withSession(session: ClientSession): MongoBackupCodeStore<TID, TDate, TTokenRole>;
|
|
35
|
-
getUserRecord(userId: TID): Promise<IBackupCodeUserRecord<TID> | null>;
|
|
36
|
-
updateUserRecord(userId: TID, updates: IBackupCodeUserUpdate): Promise<void>;
|
|
37
|
-
getMemberType(userId: TID): Promise<MemberType>;
|
|
38
|
-
fetchBatch(afterId?: string, limit?: number): Promise<Array<IBackupCodeUserRecord<TID>>>;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=mongo-backup-code-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-backup-code-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-backup-code-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB,CAC/B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,KAAK,SAAS,IAAI,GAAG,IAAI,EACzB,UAAU,SAAS,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAClE,YAAW,gBAAgB,CAAC,GAAG,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAgB;gBAGvC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EACnC,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,EAChD,OAAO,CAAC,EAAE,aAAa;IAOzB;;;OAGG;IACI,WAAW,CAChB,OAAO,EAAE,aAAa,GACrB,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC;IAQlC,aAAa,CACxB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAqBhC,gBAAgB,CAC3B,MAAM,EAAE,GAAG,EACX,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAsBH,aAAa,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAa/C,UAAU,CACrB,OAAO,CAAC,EAAE,MAAM,EAChB,KAAK,SAAM,GACV,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;CA2B9C"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Mongoose/MongoDB implementation of IBackupCodeStore.
|
|
4
|
-
* Provides backward-compatible storage for the BackupCodeService using
|
|
5
|
-
* Mongoose UserDocument and ModelRegistry.
|
|
6
|
-
* @module services/mongo-backup-code-store
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.MongoBackupCodeStore = void 0;
|
|
10
|
-
const base_model_name_1 = require("../enumerations/base-model-name");
|
|
11
|
-
const model_registry_1 = require("../model-registry");
|
|
12
|
-
/**
|
|
13
|
-
* Mongoose-backed implementation of IBackupCodeStore.
|
|
14
|
-
*
|
|
15
|
-
* Delegates all persistence to the Mongoose UserModel and uses
|
|
16
|
-
* RoleService for member type resolution. This is the default store
|
|
17
|
-
* used when no custom store is provided to BackupCodeService.
|
|
18
|
-
*
|
|
19
|
-
* @template TID - Platform ID type
|
|
20
|
-
* @template TDate - Date type
|
|
21
|
-
* @template TTokenRole - Token role interface type
|
|
22
|
-
*/
|
|
23
|
-
class MongoBackupCodeStore {
|
|
24
|
-
application;
|
|
25
|
-
roleService;
|
|
26
|
-
session;
|
|
27
|
-
constructor(application, roleService, session) {
|
|
28
|
-
this.application = application;
|
|
29
|
-
this.roleService = roleService;
|
|
30
|
-
this.session = session;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create a new MongoBackupCodeStore bound to a specific session.
|
|
34
|
-
* Useful for transactional operations.
|
|
35
|
-
*/
|
|
36
|
-
withSession(session) {
|
|
37
|
-
return new MongoBackupCodeStore(this.application, this.roleService, session);
|
|
38
|
-
}
|
|
39
|
-
async getUserRecord(userId) {
|
|
40
|
-
const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
|
|
41
|
-
const doc = await UserModel.findById(userId)
|
|
42
|
-
.session(this.session ?? null)
|
|
43
|
-
.exec();
|
|
44
|
-
if (!doc)
|
|
45
|
-
return null;
|
|
46
|
-
return {
|
|
47
|
-
_id: doc._id,
|
|
48
|
-
username: doc.username,
|
|
49
|
-
email: doc.email,
|
|
50
|
-
publicKey: doc.publicKey,
|
|
51
|
-
backupCodes: doc.backupCodes ?? [],
|
|
52
|
-
passwordWrappedPrivateKey: doc.passwordWrappedPrivateKey,
|
|
53
|
-
createdAt: doc.createdAt,
|
|
54
|
-
updatedAt: doc.updatedAt,
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
async updateUserRecord(userId, updates) {
|
|
58
|
-
const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
|
|
59
|
-
const $set = {};
|
|
60
|
-
if (updates.backupCodes !== undefined) {
|
|
61
|
-
$set['backupCodes'] = updates.backupCodes;
|
|
62
|
-
}
|
|
63
|
-
if (updates.passwordWrappedPrivateKey !== undefined) {
|
|
64
|
-
$set['passwordWrappedPrivateKey'] = updates.passwordWrappedPrivateKey;
|
|
65
|
-
}
|
|
66
|
-
if (Object.keys($set).length > 0) {
|
|
67
|
-
await UserModel.updateOne({ _id: userId }, { $set }, { session: this.session });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
async getMemberType(userId) {
|
|
71
|
-
const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
|
|
72
|
-
const doc = await UserModel.findById(userId)
|
|
73
|
-
.session(this.session ?? null)
|
|
74
|
-
.exec();
|
|
75
|
-
if (!doc) {
|
|
76
|
-
throw new Error(`User not found: ${userId}`);
|
|
77
|
-
}
|
|
78
|
-
return await this.roleService.getMemberType(doc, this.session);
|
|
79
|
-
}
|
|
80
|
-
async fetchBatch(afterId, limit = 500) {
|
|
81
|
-
const UserModel = model_registry_1.ModelRegistry.instance.getTypedModel(base_model_name_1.BaseModelName.User);
|
|
82
|
-
const query = {};
|
|
83
|
-
if (afterId) {
|
|
84
|
-
query['_id'] = { $gt: afterId };
|
|
85
|
-
}
|
|
86
|
-
const docs = await UserModel.find(query)
|
|
87
|
-
.sort({ _id: 1 })
|
|
88
|
-
.limit(limit)
|
|
89
|
-
.session(this.session ?? null)
|
|
90
|
-
.exec();
|
|
91
|
-
return docs.map((doc) => ({
|
|
92
|
-
_id: doc._id,
|
|
93
|
-
username: doc.username,
|
|
94
|
-
email: doc.email,
|
|
95
|
-
publicKey: doc.publicKey,
|
|
96
|
-
backupCodes: doc.backupCodes ?? [],
|
|
97
|
-
passwordWrappedPrivateKey: doc.passwordWrappedPrivateKey,
|
|
98
|
-
createdAt: doc.createdAt,
|
|
99
|
-
updatedAt: doc.updatedAt,
|
|
100
|
-
}));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.MongoBackupCodeStore = MongoBackupCodeStore;
|
|
104
|
-
//# sourceMappingURL=mongo-backup-code-store.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-backup-code-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-backup-code-store.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH,qEAAgE;AAOhE,sDAAkD;AAIlD;;;;;;;;;;GAUG;AACH,MAAa,oBAAoB;IAKd,WAAW,CAAyB;IACpC,WAAW,CAAsC;IACjD,OAAO,CAAiB;IAEzC,YACE,WAAmC,EACnC,WAAgD,EAChD,OAAuB;QAEvB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,WAAW,CAChB,OAAsB;QAEtB,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,OAAO,CACR,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,MAAW;QAEX,MAAM,SAAS,GAAG,8BAAa,CAAC,QAAQ,CAAC,aAAa,CAEpD,+BAAa,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;aACzC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;aAC7B,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,OAAO;YACL,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,yBAAyB,EAAE,GAAG,CAAC,yBAAyB;YACxD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC3B,MAAW,EACX,OAA8B;QAE9B,MAAM,SAAS,GAAG,8BAAa,CAAC,QAAQ,CAAC,aAAa,CAEpD,+BAAa,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,2BAA2B,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;QACxE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,CAAC,SAAS,CACvB,EAAE,GAAG,EAAE,MAAM,EAAS,EACtB,EAAE,IAAI,EAAE,EACR,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,MAAW;QACpC,MAAM,SAAS,GAAG,8BAAa,CAAC,QAAQ,CAAC,aAAa,CAEpD,+BAAa,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;aACzC,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;aAC7B,IAAI,EAAE,CAAC;QACV,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,OAAgB,EAChB,KAAK,GAAG,GAAG;QAEX,MAAM,SAAS,GAAG,8BAAa,CAAC,QAAQ,CAAC,aAAa,CAEpD,+BAAa,CAAC,IAAI,CAAC,CAAC;QAEtB,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,KAAY,CAAC;aAC5C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAS,CAAC;aACvB,KAAK,CAAC,KAAK,CAAC;aACZ,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;aAC7B,IAAI,EAAE,CAAC;QAEV,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,yBAAyB,EAAE,GAAG,CAAC,yBAAyB;YACxD,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;CACF;AA5HD,oDA4HC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Mongoose-specific base service extending the database-agnostic BaseService.
|
|
3
|
-
* Constrains TApplication to IMongoApplication so subclasses get type-safe
|
|
4
|
-
* access to .db, .getModel(), and .environment.mongo.
|
|
5
|
-
* @module services/mongo-base
|
|
6
|
-
*/
|
|
7
|
-
import { IMongoApplication } from '../interfaces/mongo-application';
|
|
8
|
-
import { BaseService } from './base';
|
|
9
|
-
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
10
|
-
/**
|
|
11
|
-
* Mongoose-specific base service.
|
|
12
|
-
* Extends BaseService with TApplication constrained to IMongoApplication.
|
|
13
|
-
*
|
|
14
|
-
* Use this for services that need Mongoose-specific access (application.db,
|
|
15
|
-
* application.getModel, application.environment.mongo). Services that are
|
|
16
|
-
* database-agnostic should extend BaseService directly.
|
|
17
|
-
*
|
|
18
|
-
* @template TID - Platform ID type (defaults to Buffer)
|
|
19
|
-
* @template TApplication - Must extend IMongoApplication
|
|
20
|
-
*/
|
|
21
|
-
export declare class MongoBaseService<TID extends PlatformID = Buffer, TApplication extends IMongoApplication<TID> = IMongoApplication<TID>> extends BaseService<TID, TApplication> {
|
|
22
|
-
constructor(application: TApplication);
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=mongo-base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-base.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-base.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB,CAC3B,GAAG,SAAS,UAAU,GAAG,MAAM,EAC/B,YAAY,SAAS,iBAAiB,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CACpE,SAAQ,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC;gBAC1B,WAAW,EAAE,YAAY;CAGtC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* @fileoverview Mongoose-specific base service extending the database-agnostic BaseService.
|
|
4
|
-
* Constrains TApplication to IMongoApplication so subclasses get type-safe
|
|
5
|
-
* access to .db, .getModel(), and .environment.mongo.
|
|
6
|
-
* @module services/mongo-base
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.MongoBaseService = void 0;
|
|
10
|
-
const base_1 = require("./base");
|
|
11
|
-
/**
|
|
12
|
-
* Mongoose-specific base service.
|
|
13
|
-
* Extends BaseService with TApplication constrained to IMongoApplication.
|
|
14
|
-
*
|
|
15
|
-
* Use this for services that need Mongoose-specific access (application.db,
|
|
16
|
-
* application.getModel, application.environment.mongo). Services that are
|
|
17
|
-
* database-agnostic should extend BaseService directly.
|
|
18
|
-
*
|
|
19
|
-
* @template TID - Platform ID type (defaults to Buffer)
|
|
20
|
-
* @template TApplication - Must extend IMongoApplication
|
|
21
|
-
*/
|
|
22
|
-
class MongoBaseService extends base_1.BaseService {
|
|
23
|
-
constructor(application) {
|
|
24
|
-
super(application);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
exports.MongoBaseService = MongoBaseService;
|
|
28
|
-
//# sourceMappingURL=mongo-base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo-base.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongo-base.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,iCAAqC;AAGrC;;;;;;;;;;GAUG;AACH,MAAa,gBAGX,SAAQ,kBAA8B;IACtC,YAAY,WAAyB;QACnC,KAAK,CAAC,WAAW,CAAC,CAAC;IACrB,CAAC;CACF;AAPD,4CAOC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Mongoose collection adapter implementing ICollection.
|
|
3
|
-
* Wraps a mongoose Model to conform to the shared ICollection interface
|
|
4
|
-
* from brightchain-lib.
|
|
5
|
-
* @module services/mongoose-collection
|
|
6
|
-
*/
|
|
7
|
-
import type { AggregationStage, BsonDocument, BulkWriteOperation, BulkWriteOptions, BulkWriteResult, ChangeListener, CollectionSchema, DeleteResult, DocumentId, FilterQuery, FindOptions, ICollection, IndexOptions, IndexSpec, InsertManyResult, InsertOneResult, ReadPreference, ReplaceResult, TextIndexOptions, UpdateOptions, UpdateQuery, UpdateResult, ValidationFieldError, WriteConcern, WriteOptions } from '@digitaldefiance/suite-core-lib';
|
|
8
|
-
import type { Connection } from '@digitaldefiance/mongoose-types';
|
|
9
|
-
/**
|
|
10
|
-
* Adapts a mongoose Model to the ICollection<T> interface.
|
|
11
|
-
* Delegates CRUD, query, index, and bulk operations to the underlying
|
|
12
|
-
* mongoose model. Schema validation methods are no-ops since mongoose
|
|
13
|
-
* handles schema validation internally.
|
|
14
|
-
*/
|
|
15
|
-
export declare class MongooseCollection<T extends BsonDocument = BsonDocument> implements ICollection<T> {
|
|
16
|
-
private _model;
|
|
17
|
-
private _writeConcern;
|
|
18
|
-
private _readPreference;
|
|
19
|
-
constructor(connection: Connection, collectionName: string);
|
|
20
|
-
insertOne(doc: T, options?: WriteOptions): Promise<InsertOneResult>;
|
|
21
|
-
insertMany(docs: T[], options?: WriteOptions): Promise<InsertManyResult>;
|
|
22
|
-
findOne(filter?: FilterQuery<T>, options?: FindOptions<T>): Promise<T | null>;
|
|
23
|
-
find(filter?: FilterQuery<T>, options?: FindOptions<T>): Promise<T[]>;
|
|
24
|
-
findById(id: DocumentId): Promise<T | null>;
|
|
25
|
-
updateOne(filter: FilterQuery<T>, update: UpdateQuery<T>, options?: UpdateOptions): Promise<UpdateResult>;
|
|
26
|
-
updateMany(filter: FilterQuery<T>, update: UpdateQuery<T>, options?: UpdateOptions): Promise<UpdateResult>;
|
|
27
|
-
deleteOne(filter: FilterQuery<T>, options?: WriteOptions): Promise<DeleteResult>;
|
|
28
|
-
deleteMany(filter: FilterQuery<T>, options?: WriteOptions): Promise<DeleteResult>;
|
|
29
|
-
replaceOne(filter: FilterQuery<T>, doc: T, options?: UpdateOptions): Promise<ReplaceResult>;
|
|
30
|
-
countDocuments(filter?: FilterQuery<T>): Promise<number>;
|
|
31
|
-
estimatedDocumentCount(): Promise<number>;
|
|
32
|
-
distinct<K extends keyof T>(field: K, filter?: FilterQuery<T>): Promise<Array<T[K]>>;
|
|
33
|
-
aggregate(pipeline: AggregationStage[]): Promise<BsonDocument[]>;
|
|
34
|
-
createIndex(spec: IndexSpec, options?: IndexOptions): Promise<string>;
|
|
35
|
-
dropIndex(name: string): Promise<void>;
|
|
36
|
-
listIndexes(): string[];
|
|
37
|
-
bulkWrite(operations: BulkWriteOperation<T>[], options?: BulkWriteOptions): Promise<BulkWriteResult>;
|
|
38
|
-
watch(listener: ChangeListener<T>): () => void;
|
|
39
|
-
setSchema(_schema: CollectionSchema): void;
|
|
40
|
-
getSchema(): CollectionSchema | undefined;
|
|
41
|
-
removeSchema(): void;
|
|
42
|
-
validateDoc(_doc: T): ValidationFieldError[];
|
|
43
|
-
getWriteConcern(): WriteConcern;
|
|
44
|
-
setWriteConcern(wc: WriteConcern): void;
|
|
45
|
-
getReadPreference(): ReadPreference;
|
|
46
|
-
setReadPreference(rp: ReadPreference): void;
|
|
47
|
-
createTextIndex(options: TextIndexOptions): string;
|
|
48
|
-
dropTextIndex(): void;
|
|
49
|
-
hasTextIndex(): boolean;
|
|
50
|
-
drop(): Promise<void>;
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=mongoose-collection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongoose-collection.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-express-suite/src/services/mongoose-collection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAS,MAAM,iCAAiC,CAAC;AAoBzE;;;;;GAKG;AACH,qBAAa,kBAAkB,CAC7B,CAAC,SAAS,YAAY,GAAG,YAAY,CACrC,YAAW,WAAW,CAAC,CAAC,CAAC;IACzB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,eAAe,CAA6B;gBAExC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM;IAapD,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAUnE,UAAU,CACd,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,gBAAgB,CAAC;IActB,OAAO,CACX,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACvB,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAcd,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAoBrE,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK3C,SAAS,CACb,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IAgBlB,UAAU,CACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IAgBlB,SAAS,CACb,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,YAAY,CAAC;IAYlB,UAAU,CACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,YAAY,CAAC;IAYlB,UAAU,CACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EACtB,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,aAAa,CAAC;IAkBnB,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAMxD,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,EAC9B,KAAK,EAAE,CAAC,EACR,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GACtB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAOjB,SAAS,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAWhE,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAWrE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C,WAAW,IAAI,MAAM,EAAE;IASjB,SAAS,CACb,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,EACnC,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC;IAsE3B,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAyB9C,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAI1C,SAAS,IAAI,gBAAgB,GAAG,SAAS;IAKzC,YAAY,IAAI,IAAI;IAIpB,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,oBAAoB,EAAE;IAO5C,eAAe,IAAI,YAAY;IAI/B,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAIvC,iBAAiB,IAAI,cAAc;IAInC,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAM3C,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAiBlD,aAAa,IAAI,IAAI;IAOrB,YAAY,IAAI,OAAO;IAQjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG5B"}
|