@cheqd/studio 3.0.0-develop.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/LICENSE +190 -0
- package/README.md +246 -0
- package/dist/app.d.ts +4 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +180 -0
- package/dist/app.js.map +1 -0
- package/dist/controllers/admin/api-key.d.ts +153 -0
- package/dist/controllers/admin/api-key.d.ts.map +1 -0
- package/dist/controllers/admin/api-key.js +389 -0
- package/dist/controllers/admin/api-key.js.map +1 -0
- package/dist/controllers/admin/organisation.d.ts +72 -0
- package/dist/controllers/admin/organisation.d.ts.map +1 -0
- package/dist/controllers/admin/organisation.js +139 -0
- package/dist/controllers/admin/organisation.js.map +1 -0
- package/dist/controllers/admin/prices.d.ts +37 -0
- package/dist/controllers/admin/prices.d.ts.map +1 -0
- package/dist/controllers/admin/prices.js +75 -0
- package/dist/controllers/admin/prices.js.map +1 -0
- package/dist/controllers/admin/product.d.ts +90 -0
- package/dist/controllers/admin/product.d.ts.map +1 -0
- package/dist/controllers/admin/product.js +187 -0
- package/dist/controllers/admin/product.js.map +1 -0
- package/dist/controllers/admin/subscriptions.d.ts +183 -0
- package/dist/controllers/admin/subscriptions.d.ts.map +1 -0
- package/dist/controllers/admin/subscriptions.js +512 -0
- package/dist/controllers/admin/subscriptions.js.map +1 -0
- package/dist/controllers/admin/webhook.d.ts +5 -0
- package/dist/controllers/admin/webhook.d.ts.map +1 -0
- package/dist/controllers/admin/webhook.js +90 -0
- package/dist/controllers/admin/webhook.js.map +1 -0
- package/dist/controllers/api/account.d.ts +84 -0
- package/dist/controllers/api/account.d.ts.map +1 -0
- package/dist/controllers/api/account.js +442 -0
- package/dist/controllers/api/account.js.map +1 -0
- package/dist/controllers/api/credential-status.d.ts +257 -0
- package/dist/controllers/api/credential-status.d.ts.map +1 -0
- package/dist/controllers/api/credential-status.js +1080 -0
- package/dist/controllers/api/credential-status.js.map +1 -0
- package/dist/controllers/api/credential.d.ts +207 -0
- package/dist/controllers/api/credential.d.ts.map +1 -0
- package/dist/controllers/api/credential.js +527 -0
- package/dist/controllers/api/credential.js.map +1 -0
- package/dist/controllers/api/did.d.ts +259 -0
- package/dist/controllers/api/did.d.ts.map +1 -0
- package/dist/controllers/api/did.js +673 -0
- package/dist/controllers/api/did.js.map +1 -0
- package/dist/controllers/api/key.d.ts +136 -0
- package/dist/controllers/api/key.d.ts.map +1 -0
- package/dist/controllers/api/key.js +268 -0
- package/dist/controllers/api/key.js.map +1 -0
- package/dist/controllers/api/presentation.d.ts +87 -0
- package/dist/controllers/api/presentation.d.ts.map +1 -0
- package/dist/controllers/api/presentation.js +264 -0
- package/dist/controllers/api/presentation.js.map +1 -0
- package/dist/controllers/api/resource.d.ts +118 -0
- package/dist/controllers/api/resource.d.ts.map +1 -0
- package/dist/controllers/api/resource.js +312 -0
- package/dist/controllers/api/resource.js.map +1 -0
- package/dist/controllers/validator/controller.d.ts +7 -0
- package/dist/controllers/validator/controller.d.ts.map +1 -0
- package/dist/controllers/validator/controller.js +31 -0
- package/dist/controllers/validator/controller.js.map +1 -0
- package/dist/controllers/validator/credential-status.d.ts +6 -0
- package/dist/controllers/validator/credential-status.d.ts.map +1 -0
- package/dist/controllers/validator/credential-status.js +36 -0
- package/dist/controllers/validator/credential-status.js.map +1 -0
- package/dist/controllers/validator/credential.d.ts +9 -0
- package/dist/controllers/validator/credential.d.ts.map +1 -0
- package/dist/controllers/validator/credential.js +103 -0
- package/dist/controllers/validator/credential.js.map +1 -0
- package/dist/controllers/validator/decorator.d.ts +2 -0
- package/dist/controllers/validator/decorator.d.ts.map +1 -0
- package/dist/controllers/validator/decorator.js +25 -0
- package/dist/controllers/validator/decorator.js.map +1 -0
- package/dist/controllers/validator/did-also-known-as.d.ts +8 -0
- package/dist/controllers/validator/did-also-known-as.d.ts.map +1 -0
- package/dist/controllers/validator/did-also-known-as.js +31 -0
- package/dist/controllers/validator/did-also-known-as.js.map +1 -0
- package/dist/controllers/validator/did-array.d.ts +7 -0
- package/dist/controllers/validator/did-array.d.ts.map +1 -0
- package/dist/controllers/validator/did-array.js +27 -0
- package/dist/controllers/validator/did-array.js.map +1 -0
- package/dist/controllers/validator/did-document-section-id.d.ts +7 -0
- package/dist/controllers/validator/did-document-section-id.d.ts.map +1 -0
- package/dist/controllers/validator/did-document-section-id.js +43 -0
- package/dist/controllers/validator/did-document-section-id.js.map +1 -0
- package/dist/controllers/validator/did-document.d.ts +11 -0
- package/dist/controllers/validator/did-document.d.ts.map +1 -0
- package/dist/controllers/validator/did-document.js +96 -0
- package/dist/controllers/validator/did-document.js.map +1 -0
- package/dist/controllers/validator/did-uri.d.ts +5 -0
- package/dist/controllers/validator/did-uri.d.ts.map +1 -0
- package/dist/controllers/validator/did-uri.js +14 -0
- package/dist/controllers/validator/did-uri.js.map +1 -0
- package/dist/controllers/validator/did.d.ts +35 -0
- package/dist/controllers/validator/did.d.ts.map +1 -0
- package/dist/controllers/validator/did.js +233 -0
- package/dist/controllers/validator/did.js.map +1 -0
- package/dist/controllers/validator/helpers.d.ts +7 -0
- package/dist/controllers/validator/helpers.d.ts.map +1 -0
- package/dist/controllers/validator/helpers.js +6 -0
- package/dist/controllers/validator/helpers.js.map +1 -0
- package/dist/controllers/validator/identifier.d.ts +20 -0
- package/dist/controllers/validator/identifier.d.ts.map +1 -0
- package/dist/controllers/validator/identifier.js +100 -0
- package/dist/controllers/validator/identifier.js.map +1 -0
- package/dist/controllers/validator/index.d.ts +42 -0
- package/dist/controllers/validator/index.d.ts.map +1 -0
- package/dist/controllers/validator/index.js +90 -0
- package/dist/controllers/validator/index.js.map +1 -0
- package/dist/controllers/validator/jsonld-proof.d.ts +5 -0
- package/dist/controllers/validator/jsonld-proof.d.ts.map +1 -0
- package/dist/controllers/validator/jsonld-proof.js +50 -0
- package/dist/controllers/validator/jsonld-proof.js.map +1 -0
- package/dist/controllers/validator/jwt-proof.d.ts +5 -0
- package/dist/controllers/validator/jwt-proof.d.ts.map +1 -0
- package/dist/controllers/validator/jwt-proof.js +45 -0
- package/dist/controllers/validator/jwt-proof.js.map +1 -0
- package/dist/controllers/validator/presentation.d.ts +9 -0
- package/dist/controllers/validator/presentation.d.ts.map +1 -0
- package/dist/controllers/validator/presentation.js +96 -0
- package/dist/controllers/validator/presentation.js.map +1 -0
- package/dist/controllers/validator/resource-also-known-as.d.ts +7 -0
- package/dist/controllers/validator/resource-also-known-as.d.ts.map +1 -0
- package/dist/controllers/validator/resource-also-known-as.js +47 -0
- package/dist/controllers/validator/resource-also-known-as.js.map +1 -0
- package/dist/controllers/validator/service-create-request.d.ts +10 -0
- package/dist/controllers/validator/service-create-request.d.ts.map +1 -0
- package/dist/controllers/validator/service-create-request.js +63 -0
- package/dist/controllers/validator/service-create-request.js.map +1 -0
- package/dist/controllers/validator/service.d.ts +11 -0
- package/dist/controllers/validator/service.d.ts.map +1 -0
- package/dist/controllers/validator/service.js +76 -0
- package/dist/controllers/validator/service.js.map +1 -0
- package/dist/controllers/validator/utils.d.ts +3 -0
- package/dist/controllers/validator/utils.d.ts.map +1 -0
- package/dist/controllers/validator/utils.js +21 -0
- package/dist/controllers/validator/utils.js.map +1 -0
- package/dist/controllers/validator/validator.d.ts +20 -0
- package/dist/controllers/validator/validator.d.ts.map +1 -0
- package/dist/controllers/validator/validator.js +2 -0
- package/dist/controllers/validator/validator.js.map +1 -0
- package/dist/controllers/validator/verification-method.d.ts +30 -0
- package/dist/controllers/validator/verification-method.d.ts.map +1 -0
- package/dist/controllers/validator/verification-method.js +211 -0
- package/dist/controllers/validator/verification-method.js.map +1 -0
- package/dist/database/connection/connection.d.ts +9 -0
- package/dist/database/connection/connection.d.ts.map +1 -0
- package/dist/database/connection/connection.js +27 -0
- package/dist/database/connection/connection.js.map +1 -0
- package/dist/database/entities/api.key.entity.d.ts +18 -0
- package/dist/database/entities/api.key.entity.d.ts.map +1 -0
- package/dist/database/entities/api.key.entity.js +102 -0
- package/dist/database/entities/api.key.entity.js.map +1 -0
- package/dist/database/entities/coin.entity.d.ts +11 -0
- package/dist/database/entities/coin.entity.d.ts.map +1 -0
- package/dist/database/entities/coin.entity.js +66 -0
- package/dist/database/entities/coin.entity.js.map +1 -0
- package/dist/database/entities/customer.entity.d.ts +14 -0
- package/dist/database/entities/customer.entity.d.ts.map +1 -0
- package/dist/database/entities/customer.entity.js +87 -0
- package/dist/database/entities/customer.entity.js.map +1 -0
- package/dist/database/entities/identifier.entity.d.ts +7 -0
- package/dist/database/entities/identifier.entity.d.ts.map +1 -0
- package/dist/database/entities/identifier.entity.js +26 -0
- package/dist/database/entities/identifier.entity.js.map +1 -0
- package/dist/database/entities/key.entity.d.ts +13 -0
- package/dist/database/entities/key.entity.d.ts.map +1 -0
- package/dist/database/entities/key.entity.js +63 -0
- package/dist/database/entities/key.entity.js.map +1 -0
- package/dist/database/entities/operation.entity.d.ts +17 -0
- package/dist/database/entities/operation.entity.d.ts.map +1 -0
- package/dist/database/entities/operation.entity.js +98 -0
- package/dist/database/entities/operation.entity.js.map +1 -0
- package/dist/database/entities/payment.account.entity.d.ts +16 -0
- package/dist/database/entities/payment.account.entity.d.ts.map +1 -0
- package/dist/database/entities/payment.account.entity.js +86 -0
- package/dist/database/entities/payment.account.entity.js.map +1 -0
- package/dist/database/entities/payment.entity.d.ts +20 -0
- package/dist/database/entities/payment.entity.d.ts.map +1 -0
- package/dist/database/entities/payment.entity.js +103 -0
- package/dist/database/entities/payment.entity.js.map +1 -0
- package/dist/database/entities/resource.entity.d.ts +21 -0
- package/dist/database/entities/resource.entity.d.ts.map +1 -0
- package/dist/database/entities/resource.entity.js +117 -0
- package/dist/database/entities/resource.entity.js.map +1 -0
- package/dist/database/entities/role.entity.d.ts +7 -0
- package/dist/database/entities/role.entity.d.ts.map +1 -0
- package/dist/database/entities/role.entity.js +60 -0
- package/dist/database/entities/role.entity.js.map +1 -0
- package/dist/database/entities/subscription.entity.d.ts +16 -0
- package/dist/database/entities/subscription.entity.d.ts.map +1 -0
- package/dist/database/entities/subscription.entity.js +102 -0
- package/dist/database/entities/subscription.entity.js.map +1 -0
- package/dist/database/entities/user.entity.d.ts +13 -0
- package/dist/database/entities/user.entity.d.ts.map +1 -0
- package/dist/database/entities/user.entity.js +67 -0
- package/dist/database/entities/user.entity.js.map +1 -0
- package/dist/database/migrations/AlterAPIKeyTable.d.ts +6 -0
- package/dist/database/migrations/AlterAPIKeyTable.d.ts.map +1 -0
- package/dist/database/migrations/AlterAPIKeyTable.js +51 -0
- package/dist/database/migrations/AlterAPIKeyTable.js.map +1 -0
- package/dist/database/migrations/AlterCustomerTable.d.ts +6 -0
- package/dist/database/migrations/AlterCustomerTable.d.ts.map +1 -0
- package/dist/database/migrations/AlterCustomerTable.js +15 -0
- package/dist/database/migrations/AlterCustomerTable.js.map +1 -0
- package/dist/database/migrations/AlterCustomerTableAddEmail.d.ts +6 -0
- package/dist/database/migrations/AlterCustomerTableAddEmail.d.ts.map +1 -0
- package/dist/database/migrations/AlterCustomerTableAddEmail.js +20 -0
- package/dist/database/migrations/AlterCustomerTableAddEmail.js.map +1 -0
- package/dist/database/migrations/AlterOperationTable.d.ts +6 -0
- package/dist/database/migrations/AlterOperationTable.d.ts.map +1 -0
- package/dist/database/migrations/AlterOperationTable.js +38 -0
- package/dist/database/migrations/AlterOperationTable.js.map +1 -0
- package/dist/database/migrations/AlterOperationTableAddCustomer.d.ts +6 -0
- package/dist/database/migrations/AlterOperationTableAddCustomer.d.ts.map +1 -0
- package/dist/database/migrations/AlterOperationTableAddCustomer.js +22 -0
- package/dist/database/migrations/AlterOperationTableAddCustomer.js.map +1 -0
- package/dist/database/migrations/AlterOperationTableNewCategory.d.ts +6 -0
- package/dist/database/migrations/AlterOperationTableNewCategory.d.ts.map +1 -0
- package/dist/database/migrations/AlterOperationTableNewCategory.js +17 -0
- package/dist/database/migrations/AlterOperationTableNewCategory.js.map +1 -0
- package/dist/database/migrations/AlterPaymentTable.d.ts +6 -0
- package/dist/database/migrations/AlterPaymentTable.d.ts.map +1 -0
- package/dist/database/migrations/AlterPaymentTable.js +61 -0
- package/dist/database/migrations/AlterPaymentTable.js.map +1 -0
- package/dist/database/migrations/AlterTableClaim.d.ts +6 -0
- package/dist/database/migrations/AlterTableClaim.d.ts.map +1 -0
- package/dist/database/migrations/AlterTableClaim.js +21 -0
- package/dist/database/migrations/AlterTableClaim.js.map +1 -0
- package/dist/database/migrations/AlterTableIdentifier.d.ts +6 -0
- package/dist/database/migrations/AlterTableIdentifier.d.ts.map +1 -0
- package/dist/database/migrations/AlterTableIdentifier.js +21 -0
- package/dist/database/migrations/AlterTableIdentifier.js.map +1 -0
- package/dist/database/migrations/AlterTableKey.d.ts +6 -0
- package/dist/database/migrations/AlterTableKey.d.ts.map +1 -0
- package/dist/database/migrations/AlterTableKey.js +36 -0
- package/dist/database/migrations/AlterTableKey.js.map +1 -0
- package/dist/database/migrations/CreateApiKeyMigration.d.ts +6 -0
- package/dist/database/migrations/CreateApiKeyMigration.d.ts.map +1 -0
- package/dist/database/migrations/CreateApiKeyMigration.js +40 -0
- package/dist/database/migrations/CreateApiKeyMigration.js.map +1 -0
- package/dist/database/migrations/CreateCoinTable.d.ts +6 -0
- package/dist/database/migrations/CreateCoinTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateCoinTable.js +20 -0
- package/dist/database/migrations/CreateCoinTable.js.map +1 -0
- package/dist/database/migrations/CreateCustomerTable.d.ts +6 -0
- package/dist/database/migrations/CreateCustomerTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateCustomerTable.js +24 -0
- package/dist/database/migrations/CreateCustomerTable.js.map +1 -0
- package/dist/database/migrations/CreateCustomersTable.d.ts +6 -0
- package/dist/database/migrations/CreateCustomersTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateCustomersTable.js +21 -0
- package/dist/database/migrations/CreateCustomersTable.js.map +1 -0
- package/dist/database/migrations/CreateOperationTable.d.ts +6 -0
- package/dist/database/migrations/CreateOperationTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateOperationTable.js +28 -0
- package/dist/database/migrations/CreateOperationTable.js.map +1 -0
- package/dist/database/migrations/CreatePaymentAccountTable.d.ts +6 -0
- package/dist/database/migrations/CreatePaymentAccountTable.d.ts.map +1 -0
- package/dist/database/migrations/CreatePaymentAccountTable.js +35 -0
- package/dist/database/migrations/CreatePaymentAccountTable.js.map +1 -0
- package/dist/database/migrations/CreatePaymentTable.d.ts +6 -0
- package/dist/database/migrations/CreatePaymentTable.d.ts.map +1 -0
- package/dist/database/migrations/CreatePaymentTable.js +55 -0
- package/dist/database/migrations/CreatePaymentTable.js.map +1 -0
- package/dist/database/migrations/CreateResourceTable.d.ts +6 -0
- package/dist/database/migrations/CreateResourceTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateResourceTable.js +46 -0
- package/dist/database/migrations/CreateResourceTable.js.map +1 -0
- package/dist/database/migrations/CreateRoleTable.d.ts +6 -0
- package/dist/database/migrations/CreateRoleTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateRoleTable.js +25 -0
- package/dist/database/migrations/CreateRoleTable.js.map +1 -0
- package/dist/database/migrations/CreateSubscriptionTable.d.ts +6 -0
- package/dist/database/migrations/CreateSubscriptionTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateSubscriptionTable.js +30 -0
- package/dist/database/migrations/CreateSubscriptionTable.js.map +1 -0
- package/dist/database/migrations/CreateUserTable.d.ts +6 -0
- package/dist/database/migrations/CreateUserTable.d.ts.map +1 -0
- package/dist/database/migrations/CreateUserTable.js +32 -0
- package/dist/database/migrations/CreateUserTable.js.map +1 -0
- package/dist/database/migrations/MigrateData.d.ts +7 -0
- package/dist/database/migrations/MigrateData.d.ts.map +1 -0
- package/dist/database/migrations/MigrateData.js +138 -0
- package/dist/database/migrations/MigrateData.js.map +1 -0
- package/dist/database/ormconfig.d.ts +2 -0
- package/dist/database/ormconfig.d.ts.map +1 -0
- package/dist/database/ormconfig.js +3 -0
- package/dist/database/ormconfig.js.map +1 -0
- package/dist/database/types/enum.d.ts +21 -0
- package/dist/database/types/enum.d.ts.map +1 -0
- package/dist/database/types/enum.js +35 -0
- package/dist/database/types/enum.js.map +1 -0
- package/dist/database/types/types.d.ts +11 -0
- package/dist/database/types/types.d.ts.map +1 -0
- package/dist/database/types/types.js +127 -0
- package/dist/database/types/types.js.map +1 -0
- package/dist/helpers/faucet.d.ts +5 -0
- package/dist/helpers/faucet.d.ts.map +1 -0
- package/dist/helpers/faucet.js +24 -0
- package/dist/helpers/faucet.js.map +1 -0
- package/dist/helpers/fee-analyzer.d.ts +8 -0
- package/dist/helpers/fee-analyzer.d.ts.map +1 -0
- package/dist/helpers/fee-analyzer.js +73 -0
- package/dist/helpers/fee-analyzer.js.map +1 -0
- package/dist/helpers/helpers.d.ts +28 -0
- package/dist/helpers/helpers.d.ts.map +1 -0
- package/dist/helpers/helpers.js +167 -0
- package/dist/helpers/helpers.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/dist/middleware/auth/auth-gaurd.d.ts +51 -0
- package/dist/middleware/auth/auth-gaurd.d.ts.map +1 -0
- package/dist/middleware/auth/auth-gaurd.js +117 -0
- package/dist/middleware/auth/auth-gaurd.js.map +1 -0
- package/dist/middleware/auth/logto-helper.d.ts +44 -0
- package/dist/middleware/auth/logto-helper.d.ts.map +1 -0
- package/dist/middleware/auth/logto-helper.js +438 -0
- package/dist/middleware/auth/logto-helper.js.map +1 -0
- package/dist/middleware/auth/oauth/abstract.d.ts +22 -0
- package/dist/middleware/auth/oauth/abstract.d.ts.map +1 -0
- package/dist/middleware/auth/oauth/abstract.js +24 -0
- package/dist/middleware/auth/oauth/abstract.js.map +1 -0
- package/dist/middleware/auth/oauth/logto-provider.d.ts +15 -0
- package/dist/middleware/auth/oauth/logto-provider.d.ts.map +1 -0
- package/dist/middleware/auth/oauth/logto-provider.js +42 -0
- package/dist/middleware/auth/oauth/logto-provider.js.map +1 -0
- package/dist/middleware/auth/routes/admin/admin-auth.d.ts +8 -0
- package/dist/middleware/auth/routes/admin/admin-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/admin/admin-auth.js +44 -0
- package/dist/middleware/auth/routes/admin/admin-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/account-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/account-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/account-auth.js +9 -0
- package/dist/middleware/auth/routes/api/account-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/auth-user-info.d.ts +5 -0
- package/dist/middleware/auth/routes/api/auth-user-info.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/auth-user-info.js +8 -0
- package/dist/middleware/auth/routes/api/auth-user-info.js.map +1 -0
- package/dist/middleware/auth/routes/api/credential-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/credential-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/credential-auth.js +17 -0
- package/dist/middleware/auth/routes/api/credential-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/credential-status-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/credential-status-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/credential-status-auth.js +20 -0
- package/dist/middleware/auth/routes/api/credential-status-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/did-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/did-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/did-auth.js +19 -0
- package/dist/middleware/auth/routes/api/did-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/key-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/key-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/key-auth.js +11 -0
- package/dist/middleware/auth/routes/api/key-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/presentation-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/presentation-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/presentation-auth.js +10 -0
- package/dist/middleware/auth/routes/api/presentation-auth.js.map +1 -0
- package/dist/middleware/auth/routes/api/resource-auth.d.ts +5 -0
- package/dist/middleware/auth/routes/api/resource-auth.d.ts.map +1 -0
- package/dist/middleware/auth/routes/api/resource-auth.js +11 -0
- package/dist/middleware/auth/routes/api/resource-auth.js.map +1 -0
- package/dist/middleware/auth/routes/auth-rule-provider.d.ts +33 -0
- package/dist/middleware/auth/routes/auth-rule-provider.d.ts.map +1 -0
- package/dist/middleware/auth/routes/auth-rule-provider.js +39 -0
- package/dist/middleware/auth/routes/auth-rule-provider.js.map +1 -0
- package/dist/middleware/auth/routes/auth-rule-repository.d.ts +21 -0
- package/dist/middleware/auth/routes/auth-rule-repository.d.ts.map +1 -0
- package/dist/middleware/auth/routes/auth-rule-repository.js +28 -0
- package/dist/middleware/auth/routes/auth-rule-repository.js.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/api-token.d.ts +17 -0
- package/dist/middleware/auth/user-info-fetcher/api-token.d.ts.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/api-token.js +60 -0
- package/dist/middleware/auth/user-info-fetcher/api-token.js.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/base.d.ts +14 -0
- package/dist/middleware/auth/user-info-fetcher/base.d.ts.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/base.js +38 -0
- package/dist/middleware/auth/user-info-fetcher/base.js.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/idtoken.d.ts +18 -0
- package/dist/middleware/auth/user-info-fetcher/idtoken.d.ts.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/idtoken.js +56 -0
- package/dist/middleware/auth/user-info-fetcher/idtoken.js.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/m2m-creds-token.d.ts +18 -0
- package/dist/middleware/auth/user-info-fetcher/m2m-creds-token.d.ts.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/m2m-creds-token.js +52 -0
- package/dist/middleware/auth/user-info-fetcher/m2m-creds-token.js.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/portal-token.d.ts +20 -0
- package/dist/middleware/auth/user-info-fetcher/portal-token.d.ts.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/portal-token.js +79 -0
- package/dist/middleware/auth/user-info-fetcher/portal-token.js.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/swagger-ui.d.ts +16 -0
- package/dist/middleware/auth/user-info-fetcher/swagger-ui.d.ts.map +1 -0
- package/dist/middleware/auth/user-info-fetcher/swagger-ui.js +48 -0
- package/dist/middleware/auth/user-info-fetcher/swagger-ui.js.map +1 -0
- package/dist/middleware/authentication.d.ts +15 -0
- package/dist/middleware/authentication.d.ts.map +1 -0
- package/dist/middleware/authentication.js +110 -0
- package/dist/middleware/authentication.js.map +1 -0
- package/dist/middleware/event-tracker.d.ts +5 -0
- package/dist/middleware/event-tracker.d.ts.map +1 -0
- package/dist/middleware/event-tracker.js +34 -0
- package/dist/middleware/event-tracker.js.map +1 -0
- package/dist/middleware/hook.d.ts +9 -0
- package/dist/middleware/hook.d.ts.map +1 -0
- package/dist/middleware/hook.js +24 -0
- package/dist/middleware/hook.js.map +1 -0
- package/dist/middleware/middleware.d.ts +6 -0
- package/dist/middleware/middleware.d.ts.map +1 -0
- package/dist/middleware/middleware.js +36 -0
- package/dist/middleware/middleware.js.map +1 -0
- package/dist/services/admin/api-key.d.ts +30 -0
- package/dist/services/admin/api-key.d.ts.map +1 -0
- package/dist/services/admin/api-key.js +135 -0
- package/dist/services/admin/api-key.js.map +1 -0
- package/dist/services/admin/stripe.d.ts +18 -0
- package/dist/services/admin/stripe.d.ts.map +1 -0
- package/dist/services/admin/stripe.js +125 -0
- package/dist/services/admin/stripe.js.map +1 -0
- package/dist/services/admin/subscription.d.ts +16 -0
- package/dist/services/admin/subscription.d.ts.map +1 -0
- package/dist/services/admin/subscription.js +75 -0
- package/dist/services/admin/subscription.js.map +1 -0
- package/dist/services/api/coin.d.ts +13 -0
- package/dist/services/api/coin.d.ts.map +1 -0
- package/dist/services/api/coin.js +49 -0
- package/dist/services/api/coin.js.map +1 -0
- package/dist/services/api/credentials.d.ts +8 -0
- package/dist/services/api/credentials.d.ts.map +1 -0
- package/dist/services/api/credentials.js +38 -0
- package/dist/services/api/credentials.js.map +1 -0
- package/dist/services/api/customer.d.ts +19 -0
- package/dist/services/api/customer.d.ts.map +1 -0
- package/dist/services/api/customer.js +88 -0
- package/dist/services/api/customer.js.map +1 -0
- package/dist/services/api/identifier.d.ts +12 -0
- package/dist/services/api/identifier.d.ts.map +1 -0
- package/dist/services/api/identifier.js +38 -0
- package/dist/services/api/identifier.js.map +1 -0
- package/dist/services/api/key.d.ts +14 -0
- package/dist/services/api/key.d.ts.map +1 -0
- package/dist/services/api/key.js +49 -0
- package/dist/services/api/key.js.map +1 -0
- package/dist/services/api/operation.d.ts +14 -0
- package/dist/services/api/operation.d.ts.map +1 -0
- package/dist/services/api/operation.js +61 -0
- package/dist/services/api/operation.js.map +1 -0
- package/dist/services/api/payment-account.d.ts +14 -0
- package/dist/services/api/payment-account.d.ts.map +1 -0
- package/dist/services/api/payment-account.js +68 -0
- package/dist/services/api/payment-account.js.map +1 -0
- package/dist/services/api/payment.d.ts +17 -0
- package/dist/services/api/payment.d.ts.map +1 -0
- package/dist/services/api/payment.js +68 -0
- package/dist/services/api/payment.js.map +1 -0
- package/dist/services/api/resource.d.ts +17 -0
- package/dist/services/api/resource.d.ts.map +1 -0
- package/dist/services/api/resource.js +65 -0
- package/dist/services/api/resource.js.map +1 -0
- package/dist/services/api/role.d.ts +14 -0
- package/dist/services/api/role.d.ts.map +1 -0
- package/dist/services/api/role.js +53 -0
- package/dist/services/api/role.js.map +1 -0
- package/dist/services/api/store.d.ts +8 -0
- package/dist/services/api/store.d.ts.map +1 -0
- package/dist/services/api/store.js +18 -0
- package/dist/services/api/store.js.map +1 -0
- package/dist/services/api/user.d.ts +15 -0
- package/dist/services/api/user.d.ts.map +1 -0
- package/dist/services/api/user.js +54 -0
- package/dist/services/api/user.js.map +1 -0
- package/dist/services/connectors/verida.d.ts +40 -0
- package/dist/services/connectors/verida.d.ts.map +1 -0
- package/dist/services/connectors/verida.js +110 -0
- package/dist/services/connectors/verida.js.map +1 -0
- package/dist/services/helpers.d.ts +10 -0
- package/dist/services/helpers.d.ts.map +1 -0
- package/dist/services/helpers.js +44 -0
- package/dist/services/helpers.js.map +1 -0
- package/dist/services/identity/abstract.d.ts +51 -0
- package/dist/services/identity/abstract.d.ts.map +1 -0
- package/dist/services/identity/abstract.js +101 -0
- package/dist/services/identity/abstract.js.map +1 -0
- package/dist/services/identity/agent.d.ts +43 -0
- package/dist/services/identity/agent.d.ts.map +1 -0
- package/dist/services/identity/agent.js +625 -0
- package/dist/services/identity/agent.js.map +1 -0
- package/dist/services/identity/default.d.ts +19 -0
- package/dist/services/identity/default.d.ts.map +1 -0
- package/dist/services/identity/default.js +26 -0
- package/dist/services/identity/default.js.map +1 -0
- package/dist/services/identity/index.d.ts +59 -0
- package/dist/services/identity/index.d.ts.map +1 -0
- package/dist/services/identity/index.js +31 -0
- package/dist/services/identity/index.js.map +1 -0
- package/dist/services/identity/local.d.ts +33 -0
- package/dist/services/identity/local.d.ts.map +1 -0
- package/dist/services/identity/local.js +156 -0
- package/dist/services/identity/local.js.map +1 -0
- package/dist/services/identity/postgres.d.ts +59 -0
- package/dist/services/identity/postgres.d.ts.map +1 -0
- package/dist/services/identity/postgres.js +388 -0
- package/dist/services/identity/postgres.js.map +1 -0
- package/dist/services/identity/unauthorized.d.ts +6 -0
- package/dist/services/identity/unauthorized.d.ts.map +1 -0
- package/dist/services/identity/unauthorized.js +49 -0
- package/dist/services/identity/unauthorized.js.map +1 -0
- package/dist/services/track/admin/account-submitter.d.ts +11 -0
- package/dist/services/track/admin/account-submitter.d.ts.map +1 -0
- package/dist/services/track/admin/account-submitter.js +54 -0
- package/dist/services/track/admin/account-submitter.js.map +1 -0
- package/dist/services/track/admin/subscription-submitter.d.ts +13 -0
- package/dist/services/track/admin/subscription-submitter.d.ts.map +1 -0
- package/dist/services/track/admin/subscription-submitter.js +106 -0
- package/dist/services/track/admin/subscription-submitter.js.map +1 -0
- package/dist/services/track/api/credential-status-subscriber.d.ts +10 -0
- package/dist/services/track/api/credential-status-subscriber.d.ts.map +1 -0
- package/dist/services/track/api/credential-status-subscriber.js +35 -0
- package/dist/services/track/api/credential-status-subscriber.js.map +1 -0
- package/dist/services/track/api/credential-subscriber.d.ts +10 -0
- package/dist/services/track/api/credential-subscriber.d.ts.map +1 -0
- package/dist/services/track/api/credential-subscriber.js +35 -0
- package/dist/services/track/api/credential-subscriber.js.map +1 -0
- package/dist/services/track/api/did-subscriber.d.ts +10 -0
- package/dist/services/track/api/did-subscriber.d.ts.map +1 -0
- package/dist/services/track/api/did-subscriber.js +33 -0
- package/dist/services/track/api/did-subscriber.js.map +1 -0
- package/dist/services/track/api/key-subscriber.d.ts +10 -0
- package/dist/services/track/api/key-subscriber.d.ts.map +1 -0
- package/dist/services/track/api/key-subscriber.js +35 -0
- package/dist/services/track/api/key-subscriber.js.map +1 -0
- package/dist/services/track/api/presentation-subscriber.d.ts +10 -0
- package/dist/services/track/api/presentation-subscriber.d.ts.map +1 -0
- package/dist/services/track/api/presentation-subscriber.js +35 -0
- package/dist/services/track/api/presentation-subscriber.js.map +1 -0
- package/dist/services/track/api/resource-subscriber.d.ts +11 -0
- package/dist/services/track/api/resource-subscriber.d.ts.map +1 -0
- package/dist/services/track/api/resource-subscriber.js +107 -0
- package/dist/services/track/api/resource-subscriber.js.map +1 -0
- package/dist/services/track/base.d.ts +10 -0
- package/dist/services/track/base.d.ts.map +1 -0
- package/dist/services/track/base.js +26 -0
- package/dist/services/track/base.js.map +1 -0
- package/dist/services/track/helpers.d.ts +23 -0
- package/dist/services/track/helpers.d.ts.map +1 -0
- package/dist/services/track/helpers.js +35 -0
- package/dist/services/track/helpers.js.map +1 -0
- package/dist/services/track/notifiers.d.ts +12 -0
- package/dist/services/track/notifiers.d.ts.map +1 -0
- package/dist/services/track/notifiers.js +39 -0
- package/dist/services/track/notifiers.js.map +1 -0
- package/dist/services/track/observer.d.ts +14 -0
- package/dist/services/track/observer.d.ts.map +1 -0
- package/dist/services/track/observer.js +43 -0
- package/dist/services/track/observer.js.map +1 -0
- package/dist/services/track/operation-subscriber.d.ts +14 -0
- package/dist/services/track/operation-subscriber.d.ts.map +1 -0
- package/dist/services/track/operation-subscriber.js +112 -0
- package/dist/services/track/operation-subscriber.js.map +1 -0
- package/dist/services/track/submitter.d.ts +22 -0
- package/dist/services/track/submitter.d.ts.map +1 -0
- package/dist/services/track/submitter.js +2 -0
- package/dist/services/track/submitter.js.map +1 -0
- package/dist/services/track/tracker.d.ts +24 -0
- package/dist/services/track/tracker.d.ts.map +1 -0
- package/dist/services/track/tracker.js +79 -0
- package/dist/services/track/tracker.js.map +1 -0
- package/dist/services/track/types.d.ts +16 -0
- package/dist/services/track/types.d.ts.map +1 -0
- package/dist/services/track/types.js +2 -0
- package/dist/services/track/types.js.map +1 -0
- package/dist/services/w3c-credential.d.ts +32 -0
- package/dist/services/w3c-credential.d.ts.map +1 -0
- package/dist/services/w3c-credential.js +120 -0
- package/dist/services/w3c-credential.js.map +1 -0
- package/dist/services/w3c-presentation.d.ts +30 -0
- package/dist/services/w3c-presentation.d.ts.map +1 -0
- package/dist/services/w3c-presentation.js +95 -0
- package/dist/services/w3c-presentation.js.map +1 -0
- package/dist/static/custom-button.d.ts +2 -0
- package/dist/static/custom-button.d.ts.map +1 -0
- package/dist/static/custom-button.js +35 -0
- package/dist/static/custom-button.js.map +1 -0
- package/dist/static/swagger-admin.json +1191 -0
- package/dist/static/swagger-api.json +3564 -0
- package/dist/types/admin.d.ts +122 -0
- package/dist/types/admin.d.ts.map +1 -0
- package/dist/types/admin.js +2 -0
- package/dist/types/admin.js.map +1 -0
- package/dist/types/authentication.d.ts +30 -0
- package/dist/types/authentication.d.ts.map +1 -0
- package/dist/types/authentication.js +131 -0
- package/dist/types/authentication.js.map +1 -0
- package/dist/types/constants.d.ts +98 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/constants.js +138 -0
- package/dist/types/constants.js.map +1 -0
- package/dist/types/credential-status.d.ts +168 -0
- package/dist/types/credential-status.d.ts.map +1 -0
- package/dist/types/credential-status.js +12 -0
- package/dist/types/credential-status.js.map +1 -0
- package/dist/types/credential.d.ts +55 -0
- package/dist/types/credential.d.ts.map +1 -0
- package/dist/types/credential.js +2 -0
- package/dist/types/credential.js.map +1 -0
- package/dist/types/customer.d.ts +18 -0
- package/dist/types/customer.d.ts.map +1 -0
- package/dist/types/customer.js +2 -0
- package/dist/types/customer.js.map +1 -0
- package/dist/types/did.d.ts +56 -0
- package/dist/types/did.d.ts.map +1 -0
- package/dist/types/did.js +2 -0
- package/dist/types/did.js.map +1 -0
- package/dist/types/key.d.ts +23 -0
- package/dist/types/key.d.ts.map +1 -0
- package/dist/types/key.js +2 -0
- package/dist/types/key.js.map +1 -0
- package/dist/types/presentation.d.ts +19 -0
- package/dist/types/presentation.d.ts.map +1 -0
- package/dist/types/presentation.js +2 -0
- package/dist/types/presentation.js.map +1 -0
- package/dist/types/resource.d.ts +26 -0
- package/dist/types/resource.d.ts.map +1 -0
- package/dist/types/resource.js +2 -0
- package/dist/types/resource.js.map +1 -0
- package/dist/types/shared.d.ts +51 -0
- package/dist/types/shared.d.ts.map +1 -0
- package/dist/types/shared.js +24 -0
- package/dist/types/shared.js.map +1 -0
- package/dist/types/swagger-admin-types.d.ts +352 -0
- package/dist/types/swagger-admin-types.d.ts.map +1 -0
- package/dist/types/swagger-admin-types.js +353 -0
- package/dist/types/swagger-admin-types.js.map +1 -0
- package/dist/types/swagger-api-types.d.ts +1312 -0
- package/dist/types/swagger-api-types.d.ts.map +1 -0
- package/dist/types/swagger-api-types.js +1313 -0
- package/dist/types/swagger-api-types.js.map +1 -0
- package/dist/types/track.d.ts +72 -0
- package/dist/types/track.d.ts.map +1 -0
- package/dist/types/track.js +37 -0
- package/dist/types/track.js.map +1 -0
- package/dist/types/validation.d.ts +23 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +2 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/types/verida.d.ts +23 -0
- package/dist/types/verida.d.ts.map +1 -0
- package/dist/types/verida.js +2 -0
- package/dist/types/verida.js.map +1 -0
- package/example.env +43 -0
- package/package.json +156 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { fromString } from 'uint8arrays';
|
|
8
|
+
import { v4 } from 'uuid';
|
|
9
|
+
import { StatusCodes } from 'http-status-codes';
|
|
10
|
+
import { IdentityServiceStrategySetup } from '../../services/identity/index.js';
|
|
11
|
+
import { getQueryParams } from '../../helpers/helpers.js';
|
|
12
|
+
import { DefaultResolverUrl } from '@cheqd/did-provider-cheqd';
|
|
13
|
+
import { OperationCategoryNameEnum, OperationNameEnum } from '../../types/constants.js';
|
|
14
|
+
import { check, param, query } from '../validator/index.js';
|
|
15
|
+
import { eventTracker } from '../../services/track/tracker.js';
|
|
16
|
+
import { arePublicKeyHexsInWallet } from '../../services/helpers.js';
|
|
17
|
+
import { validate } from '../validator/decorator.js';
|
|
18
|
+
export class ResourceController {
|
|
19
|
+
static createResourceValidator = [
|
|
20
|
+
param('did').exists().withMessage('did is required').bail().isDID().bail(),
|
|
21
|
+
check('name')
|
|
22
|
+
.exists()
|
|
23
|
+
.withMessage('name is required')
|
|
24
|
+
.isString()
|
|
25
|
+
.withMessage('Name should has string type')
|
|
26
|
+
.bail(),
|
|
27
|
+
check('type').exists().withMessage('type is required').bail().isString().withMessage('Invalid type').bail(),
|
|
28
|
+
check('data')
|
|
29
|
+
.exists()
|
|
30
|
+
.withMessage('data is required')
|
|
31
|
+
.bail()
|
|
32
|
+
.isString()
|
|
33
|
+
.withMessage('Data is supposed to have type of String')
|
|
34
|
+
.bail(),
|
|
35
|
+
check('encoding')
|
|
36
|
+
.exists()
|
|
37
|
+
.withMessage('encoding is required')
|
|
38
|
+
.bail()
|
|
39
|
+
.isString()
|
|
40
|
+
.withMessage('encoding is supposed to have type of String')
|
|
41
|
+
.isIn(['hex', 'base64', 'base64url'])
|
|
42
|
+
.withMessage('Invalid encoding value, should be one of hex, base64, base64url')
|
|
43
|
+
.bail(),
|
|
44
|
+
check('alsoKnownAs')
|
|
45
|
+
.optional()
|
|
46
|
+
.isArray()
|
|
47
|
+
.withMessage('alsoKnownAs is supposed to be an array')
|
|
48
|
+
.bail()
|
|
49
|
+
.isCheqdDidLinkedAlsoKnownAs()
|
|
50
|
+
.bail(),
|
|
51
|
+
check('version').optional().isString().withMessage('version is supposed to have type of String').bail(),
|
|
52
|
+
];
|
|
53
|
+
static searchResourceValidator = [
|
|
54
|
+
param('did').exists().withMessage('did is required').bail().isDID().bail(),
|
|
55
|
+
query('resourceId')
|
|
56
|
+
.optional()
|
|
57
|
+
.isString()
|
|
58
|
+
.withMessage('resourceId is supposed to have type of String')
|
|
59
|
+
.bail()
|
|
60
|
+
.isUUID()
|
|
61
|
+
.withMessage('Invalid resourceId value, should be UUID')
|
|
62
|
+
.bail(),
|
|
63
|
+
query('resourceName')
|
|
64
|
+
.optional()
|
|
65
|
+
.isString()
|
|
66
|
+
.withMessage('resourceName is supposed to have type of String')
|
|
67
|
+
.bail(),
|
|
68
|
+
query('resourceType')
|
|
69
|
+
.optional()
|
|
70
|
+
.isString()
|
|
71
|
+
.withMessage('resourceType is supposed to have type of String')
|
|
72
|
+
.bail(),
|
|
73
|
+
query('resourceVersion')
|
|
74
|
+
.optional()
|
|
75
|
+
.isString()
|
|
76
|
+
.withMessage('resourceVersion is supposed to have type of String')
|
|
77
|
+
.bail(),
|
|
78
|
+
query('resourceVersionTime')
|
|
79
|
+
.optional()
|
|
80
|
+
.isString()
|
|
81
|
+
.withMessage('resourceVersionTime is supposed to have type of String')
|
|
82
|
+
.bail()
|
|
83
|
+
.isISO8601()
|
|
84
|
+
.withMessage('Invalid resourceVersionTime value, should be ISO8601')
|
|
85
|
+
.bail(),
|
|
86
|
+
query('checksum')
|
|
87
|
+
.optional()
|
|
88
|
+
.isString()
|
|
89
|
+
.withMessage('checksum is supposed to have type of String')
|
|
90
|
+
.bail()
|
|
91
|
+
.isHexadecimal()
|
|
92
|
+
.withMessage('Invalid checksum value, should be Hexadecimal')
|
|
93
|
+
.bail(),
|
|
94
|
+
query('resourceMetadata')
|
|
95
|
+
.optional()
|
|
96
|
+
.isBoolean()
|
|
97
|
+
.withMessage('resourceMetadata is supposed to have type of Boolean')
|
|
98
|
+
.bail(),
|
|
99
|
+
];
|
|
100
|
+
/**
|
|
101
|
+
* @openapi
|
|
102
|
+
*
|
|
103
|
+
* /resource/create/{did}:
|
|
104
|
+
* post:
|
|
105
|
+
* tags: [ Resource ]
|
|
106
|
+
* summary: Create a DID-Linked Resource.
|
|
107
|
+
* description: This endpoint creates a DID-Linked Resource. As input, it can take the DID identifier and the resource parameters via a form, or the fully-assembled resource itself.
|
|
108
|
+
* parameters:
|
|
109
|
+
* - in: path
|
|
110
|
+
* name: did
|
|
111
|
+
* description: DID identifier to link the resource to.
|
|
112
|
+
* schema:
|
|
113
|
+
* type: string
|
|
114
|
+
* required: true
|
|
115
|
+
* requestBody:
|
|
116
|
+
* content:
|
|
117
|
+
* application/x-www-form-urlencoded:
|
|
118
|
+
* schema:
|
|
119
|
+
* $ref: '#/components/schemas/CreateResourceRequest'
|
|
120
|
+
* application/json:
|
|
121
|
+
* schema:
|
|
122
|
+
* $ref: '#/components/schemas/CreateResourceRequest'
|
|
123
|
+
* responses:
|
|
124
|
+
* 200:
|
|
125
|
+
* description: The request was successful.
|
|
126
|
+
* content:
|
|
127
|
+
* application/json:
|
|
128
|
+
* schema:
|
|
129
|
+
* $ref: '#/components/schemas/ResourceMetadata'
|
|
130
|
+
* 400:
|
|
131
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
132
|
+
* 401:
|
|
133
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
134
|
+
* 500:
|
|
135
|
+
* $ref: '#/components/schemas/InternalError'
|
|
136
|
+
*/
|
|
137
|
+
async createResource(request, response) {
|
|
138
|
+
// Extract the did from the request
|
|
139
|
+
const { did } = request.params;
|
|
140
|
+
// Extract the resource parameters from the request
|
|
141
|
+
const { data, encoding, name, type, alsoKnownAs, version, network, publicKeyHexs } = request.body;
|
|
142
|
+
// If list of publicKeyHexs is placed - check that publicKeyHexs are owned by the customer
|
|
143
|
+
if (publicKeyHexs) {
|
|
144
|
+
const areOwned = await arePublicKeyHexsInWallet(publicKeyHexs, response.locals.customer);
|
|
145
|
+
if (!areOwned.status) {
|
|
146
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
147
|
+
error: areOwned.error,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
// Get strategy e.g. postgres or local
|
|
152
|
+
const identityServiceStrategySetup = new IdentityServiceStrategySetup(response.locals.customer.customerId);
|
|
153
|
+
let resourcePayload = {};
|
|
154
|
+
try {
|
|
155
|
+
// check if did is registered on the ledger
|
|
156
|
+
const { didDocument, didDocumentMetadata } = await identityServiceStrategySetup.agent.resolveDid(did);
|
|
157
|
+
if (!didDocument || !didDocumentMetadata || didDocumentMetadata.deactivated) {
|
|
158
|
+
return response.status(StatusCodes.BAD_REQUEST).send({
|
|
159
|
+
error: `${did} is a either Deactivated or Not found`,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
resourcePayload = {
|
|
163
|
+
collectionId: did.split(':').pop(),
|
|
164
|
+
id: v4(),
|
|
165
|
+
name,
|
|
166
|
+
resourceType: type,
|
|
167
|
+
data: fromString(data, encoding),
|
|
168
|
+
version,
|
|
169
|
+
alsoKnownAs,
|
|
170
|
+
};
|
|
171
|
+
const result = await identityServiceStrategySetup.agent.createResource(network || did.split(':')[2], resourcePayload, response.locals.customer, publicKeyHexs);
|
|
172
|
+
if (result) {
|
|
173
|
+
const url = new URL(`${process.env.RESOLVER_URL || DefaultResolverUrl}${did}?` +
|
|
174
|
+
`resourceId=${resourcePayload.id}&resourceMetadata=true`);
|
|
175
|
+
const didDereferencing = (await (await fetch(url)).json());
|
|
176
|
+
const resource = didDereferencing.contentStream.linkedResourceMetadata[0];
|
|
177
|
+
// track resource creation
|
|
178
|
+
const trackResourceInfo = {
|
|
179
|
+
category: OperationCategoryNameEnum.RESOURCE,
|
|
180
|
+
name: OperationNameEnum.RESOURCE_CREATE,
|
|
181
|
+
customer: response.locals.customer,
|
|
182
|
+
data: {
|
|
183
|
+
did,
|
|
184
|
+
resource: resource,
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
// track resource creation
|
|
188
|
+
eventTracker.emit('track', trackResourceInfo);
|
|
189
|
+
return response.status(StatusCodes.CREATED).json({
|
|
190
|
+
resource,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
195
|
+
error: 'Error creating resource',
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
201
|
+
error: `${error}`,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* @openapi
|
|
207
|
+
*
|
|
208
|
+
* /resource/search/{did}:
|
|
209
|
+
* get:
|
|
210
|
+
* tags: [ Resource ]
|
|
211
|
+
* summary: Get a DID-Linked Resource.
|
|
212
|
+
* description: This endpoint returns the DID-Linked Resource for a given DID identifier and resource identifier.
|
|
213
|
+
* parameters:
|
|
214
|
+
* - in: path
|
|
215
|
+
* name: did
|
|
216
|
+
* description: DID identifier
|
|
217
|
+
* schema:
|
|
218
|
+
* type: string
|
|
219
|
+
* required: true
|
|
220
|
+
* example: did:cheqd:mainnet:7bf81a20-633c-4cc7-bc4a-5a45801005e0
|
|
221
|
+
* - in: query
|
|
222
|
+
* name: resourceId
|
|
223
|
+
* description: Fetch a DID-Linked Resource by Resource ID unique identifier. Since this is a unique identifier, other Resource query parameters are not required. See <a href="https://docs.cheqd.io/identity/credential-service/did-linked-resources/understanding-dlrs/technical-composition">DID-Linked Resources</a> for more details.
|
|
224
|
+
* schema:
|
|
225
|
+
* type: string
|
|
226
|
+
* format: uuid
|
|
227
|
+
* example: 3ccde6ba-6ba5-56f2-9f4f-8825561a9860
|
|
228
|
+
* - in: query
|
|
229
|
+
* name: resourceName
|
|
230
|
+
* description: Filter a DID-Linked Resource query by Resource Name. See <a href="https://docs.cheqd.io/identity/credential-service/did-linked-resources/understanding-dlrs/technical-composition">DID-Linked Resources</a> for more details.
|
|
231
|
+
* schema:
|
|
232
|
+
* type: string
|
|
233
|
+
* example: cheqd-issuer-logo
|
|
234
|
+
* - in: query
|
|
235
|
+
* name: resourceType
|
|
236
|
+
* description: Filter a DID-Linked Resource query by Resource Type. See <a href="https://docs.cheqd.io/identity/credential-service/did-linked-resources/understanding-dlrs/technical-composition">DID-Linked Resources</a> for more details.
|
|
237
|
+
* schema:
|
|
238
|
+
* type: string
|
|
239
|
+
* example: CredentialArtwork
|
|
240
|
+
* - in: query
|
|
241
|
+
* name: resourceVersion
|
|
242
|
+
* description: Filter a DID-Linked Resource query by Resource Version, which is an optional free-text field used by issuers (e.g., "v1", "Final Version", "1st January 1970" etc). See <a href="https://docs.cheqd.io/identity/credential-service/did-linked-resources/understanding-dlrs/technical-composition">DID-Linked Resources</a> for more details.
|
|
243
|
+
* schema:
|
|
244
|
+
* type: string
|
|
245
|
+
* example: v1
|
|
246
|
+
* - in: query
|
|
247
|
+
* name: resourceVersionTime
|
|
248
|
+
* description: Filter a DID-Linked Resource query which returns the closest version of the Resource *at* or *before* specified time. See <a href="https://docs.cheqd.io/identity/credential-service/did-linked-resources/understanding-dlrs/technical-composition">DID-Linked Resources</a> for more details.
|
|
249
|
+
* schema:
|
|
250
|
+
* type: string
|
|
251
|
+
* format: date-time
|
|
252
|
+
* example: 1970-01-01T00:00:00Z
|
|
253
|
+
* - in: query
|
|
254
|
+
* name: checksum
|
|
255
|
+
* description: Request integrity check against a given DID-Linked Resource by providing a SHA-256 checksum hash. See <a href="https://docs.cheqd.io/identity/credential-service/did-linked-resources/understanding-dlrs/technical-composition">DID-Linked Resources</a> for more details.
|
|
256
|
+
* schema:
|
|
257
|
+
* type: string
|
|
258
|
+
* example: dc64474d062ed750a66bad58cb609928de55ed0d81defd231a4a4bf97358e9ed
|
|
259
|
+
* - in: query
|
|
260
|
+
* name: resourceMetadata
|
|
261
|
+
* description: Return only metadata of DID-Linked Resource instead of actual DID-Linked Resource. Mutually exclusive with some of the other parameters.
|
|
262
|
+
* schema:
|
|
263
|
+
* type: boolean
|
|
264
|
+
* responses:
|
|
265
|
+
* 200:
|
|
266
|
+
* description: The request was successful.
|
|
267
|
+
* content:
|
|
268
|
+
* any:
|
|
269
|
+
* schema:
|
|
270
|
+
* type: object
|
|
271
|
+
* 400:
|
|
272
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
273
|
+
* 401:
|
|
274
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
275
|
+
* 500:
|
|
276
|
+
* $ref: '#/components/schemas/InternalError'
|
|
277
|
+
*/
|
|
278
|
+
async searchResource(request, response) {
|
|
279
|
+
const { did } = request.params;
|
|
280
|
+
// Get strategy e.g. postgres or local
|
|
281
|
+
const identityServiceStrategySetup = new IdentityServiceStrategySetup();
|
|
282
|
+
try {
|
|
283
|
+
let res;
|
|
284
|
+
if (did) {
|
|
285
|
+
res = await identityServiceStrategySetup.agent.resolve(did + getQueryParams(request.query));
|
|
286
|
+
const contentType = res.headers.get('Content-Type') || 'application/octet-stream';
|
|
287
|
+
const body = new TextDecoder().decode(await res.arrayBuffer());
|
|
288
|
+
return response
|
|
289
|
+
.setHeader('Content-Type', contentType)
|
|
290
|
+
.status(res.status)
|
|
291
|
+
.send(body);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
295
|
+
error: 'The DID parameter is empty.',
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
301
|
+
error: `${error}`,
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
__decorate([
|
|
307
|
+
validate
|
|
308
|
+
], ResourceController.prototype, "createResource", null);
|
|
309
|
+
__decorate([
|
|
310
|
+
validate
|
|
311
|
+
], ResourceController.prototype, "searchResource", null);
|
|
312
|
+
//# sourceMappingURL=resource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.js","sourceRoot":"","sources":["../../../src/controllers/api/resource.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IValidationResult, IValidator, Validatable } from './validator.js';
|
|
2
|
+
export declare class CheqdControllerValidator implements IValidator {
|
|
3
|
+
protected didValidator: IValidator;
|
|
4
|
+
constructor(didValidator?: IValidator);
|
|
5
|
+
validate(controller: Validatable): IValidationResult;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/validator/controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjF,qBAAa,wBAAyB,YAAW,UAAU;IAC1D,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC;gBAEvB,YAAY,CAAC,EAAE,UAAU;IAOrC,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,iBAAiB;CAsBpD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DIDValidator } from './did.js';
|
|
2
|
+
export class CheqdControllerValidator {
|
|
3
|
+
didValidator;
|
|
4
|
+
constructor(didValidator) {
|
|
5
|
+
if (!didValidator) {
|
|
6
|
+
didValidator = new DIDValidator();
|
|
7
|
+
}
|
|
8
|
+
this.didValidator = didValidator;
|
|
9
|
+
}
|
|
10
|
+
validate(controller) {
|
|
11
|
+
if (!Array.isArray(controller) && typeof controller !== 'string') {
|
|
12
|
+
return {
|
|
13
|
+
valid: false,
|
|
14
|
+
error: 'didDocument.controller should be an array or just string',
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
if (typeof controller === 'string') {
|
|
18
|
+
controller = [controller];
|
|
19
|
+
}
|
|
20
|
+
controller = controller;
|
|
21
|
+
const results = controller.map((did) => this.didValidator.validate(did));
|
|
22
|
+
if (results.some((r) => !r.valid)) {
|
|
23
|
+
return {
|
|
24
|
+
valid: false,
|
|
25
|
+
error: results.map((r) => r.error).join(', '),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return { valid: true };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/controllers/validator/controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,OAAO,wBAAwB;IAC1B,YAAY,CAAa;IAEnC,YAAY,YAAyB;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;YACnB,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,QAAQ,CAAC,UAAuB;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,0DAA0D;aACjE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpC,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QAED,UAAU,GAAG,UAAsB,CAAC;QACpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7C,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CheqdCredentialStatus } from '../../types/validation.js';
|
|
2
|
+
import type { IValidationResult, IValidator } from './validator.js';
|
|
3
|
+
export declare class CredentialStatusValidator implements IValidator {
|
|
4
|
+
validate(credentialStatus: CheqdCredentialStatus): IValidationResult;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=credential-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-status.d.ts","sourceRoot":"","sources":["../../../src/controllers/validator/credential-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEpE,qBAAa,yBAA0B,YAAW,UAAU;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,qBAAqB,GAAG,iBAAiB;CAiCpE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export class CredentialStatusValidator {
|
|
2
|
+
validate(credentialStatus) {
|
|
3
|
+
if (!credentialStatus.id) {
|
|
4
|
+
return {
|
|
5
|
+
valid: false,
|
|
6
|
+
error: 'credentialStatus.id is required',
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
if (!credentialStatus.type) {
|
|
10
|
+
return {
|
|
11
|
+
valid: false,
|
|
12
|
+
error: 'credentialStatus.type is required',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (!credentialStatus.statusPurpose) {
|
|
16
|
+
return {
|
|
17
|
+
valid: false,
|
|
18
|
+
error: 'credentialStatus.statusPurpose is required',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (!credentialStatus.statusListIndex) {
|
|
22
|
+
return {
|
|
23
|
+
valid: false,
|
|
24
|
+
error: 'credentialStatus.statusListIndex is required',
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (credentialStatus.statusPurpose !== 'revocation' && credentialStatus.statusPurpose !== 'suspension') {
|
|
28
|
+
return {
|
|
29
|
+
valid: false,
|
|
30
|
+
error: 'credentialStatus.statusPurpose must be "revocation" or "suspension"',
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return { valid: true };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=credential-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential-status.js","sourceRoot":"","sources":["../../../src/controllers/validator/credential-status.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,yBAAyB;IACrC,QAAQ,CAAC,gBAAuC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;YAC1B,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,iCAAiC;aACxC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,mCAAmC;aAC1C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,4CAA4C;aACnD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC;YACvC,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,8CAA8C;aACrD,CAAC;QACH,CAAC;QACD,IAAI,gBAAgB,CAAC,aAAa,KAAK,YAAY,IAAI,gBAAgB,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;YACxG,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,qEAAqE;aAC5E,CAAC;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CACD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IValidationResult, IValidator, Validatable } from './validator.js';
|
|
2
|
+
export declare class CheqdW3CVerifiableCredentialValidator implements IValidator {
|
|
3
|
+
protected proofValidators: IValidator[];
|
|
4
|
+
protected issuerValidators: IValidator[];
|
|
5
|
+
protected credentialStatusValidator: IValidator;
|
|
6
|
+
constructor(proofValidators?: IValidator[], issuerValidators?: IValidator[], credentialStatusValidator?: IValidator);
|
|
7
|
+
validate(credential: Validatable): IValidationResult;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=credential.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../../src/controllers/validator/credential.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGjF,qBAAa,qCAAsC,YAAW,UAAU;IACvE,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;IACxC,SAAS,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC;IACzC,SAAS,CAAC,yBAAyB,EAAE,UAAU,CAAC;gBAG/C,eAAe,CAAC,EAAE,UAAU,EAAE,EAC9B,gBAAgB,CAAC,EAAE,UAAU,EAAE,EAC/B,yBAAyB,CAAC,EAAE,UAAU;IAgBvC,QAAQ,CAAC,UAAU,EAAE,WAAW,GAAG,iBAAiB;CAgFpD"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { CheqdW3CVerifiableCredential } from '../../services/w3c-credential.js';
|
|
2
|
+
import { CredentialStatusValidator } from './credential-status.js';
|
|
3
|
+
import { CheqdDIDValidator, KeyDIDValidator } from './did.js';
|
|
4
|
+
import { JsonLDProofValidator } from './jsonld-proof.js';
|
|
5
|
+
import { JWTProofValidator } from './jwt-proof.js';
|
|
6
|
+
import { InvalidTokenError, jwtDecode } from 'jwt-decode';
|
|
7
|
+
export class CheqdW3CVerifiableCredentialValidator {
|
|
8
|
+
proofValidators;
|
|
9
|
+
issuerValidators;
|
|
10
|
+
credentialStatusValidator;
|
|
11
|
+
constructor(proofValidators, issuerValidators, credentialStatusValidator) {
|
|
12
|
+
if (!proofValidators) {
|
|
13
|
+
proofValidators = [new JWTProofValidator(), new JsonLDProofValidator()];
|
|
14
|
+
}
|
|
15
|
+
if (!issuerValidators) {
|
|
16
|
+
issuerValidators = [new KeyDIDValidator(), new CheqdDIDValidator()];
|
|
17
|
+
}
|
|
18
|
+
if (!credentialStatusValidator) {
|
|
19
|
+
credentialStatusValidator = new CredentialStatusValidator();
|
|
20
|
+
}
|
|
21
|
+
this.proofValidators = proofValidators;
|
|
22
|
+
this.issuerValidators = issuerValidators;
|
|
23
|
+
this.credentialStatusValidator = credentialStatusValidator;
|
|
24
|
+
}
|
|
25
|
+
validate(credential) {
|
|
26
|
+
if (typeof credential === 'string') {
|
|
27
|
+
try {
|
|
28
|
+
jwtDecode(credential);
|
|
29
|
+
new CheqdW3CVerifiableCredential(credential);
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
if (e instanceof InvalidTokenError) {
|
|
33
|
+
return {
|
|
34
|
+
valid: false,
|
|
35
|
+
error: `Credential is not a valid JWT string: ${e.message}`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
valid: false,
|
|
40
|
+
error: `Credential is not a valid JWT string: ${e?.message || e}`,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// If we can create a CheqdW3CVerifiableCredential from a string - it's valid credential
|
|
44
|
+
return { valid: true };
|
|
45
|
+
}
|
|
46
|
+
const cheqdCredential = credential;
|
|
47
|
+
if (!cheqdCredential.issuer) {
|
|
48
|
+
return {
|
|
49
|
+
valid: false,
|
|
50
|
+
error: 'credential.issuer is required',
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
if (!cheqdCredential.issuanceDate) {
|
|
54
|
+
return {
|
|
55
|
+
valid: false,
|
|
56
|
+
error: 'credential.issuanceDate is required',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
if (!cheqdCredential.credentialSubject) {
|
|
60
|
+
return {
|
|
61
|
+
valid: false,
|
|
62
|
+
error: 'credential.credentialSubject is required',
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
// Validate proof
|
|
66
|
+
if (!cheqdCredential.proof) {
|
|
67
|
+
return {
|
|
68
|
+
valid: false,
|
|
69
|
+
error: 'credential.proof is required',
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
const proof = cheqdCredential.proof;
|
|
73
|
+
const results = this.proofValidators.map((v) => v.validate(proof));
|
|
74
|
+
if (results.every((r) => !r.valid)) {
|
|
75
|
+
return {
|
|
76
|
+
valid: false,
|
|
77
|
+
error: `credential.proof has validation errors: ${results.map((r) => r.error).join(', ')}`,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
// Validate issuer
|
|
81
|
+
const issuer = typeof cheqdCredential.issuer === 'string' ? cheqdCredential.issuer : cheqdCredential.issuer.id;
|
|
82
|
+
const issuerResult = this.issuerValidators.map((v) => v.validate(issuer));
|
|
83
|
+
if (issuerResult.every((r) => !r.valid)) {
|
|
84
|
+
return {
|
|
85
|
+
valid: false,
|
|
86
|
+
error: `credential.issuer has validation errors: ${issuerResult.map((r) => r.error).join(', ')}`,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
// Validate credential status
|
|
90
|
+
if (cheqdCredential.credentialStatus) {
|
|
91
|
+
const credentialStatus = cheqdCredential.credentialStatus;
|
|
92
|
+
const credentialStatusResult = this.credentialStatusValidator.validate(credentialStatus);
|
|
93
|
+
if (!credentialStatusResult.valid) {
|
|
94
|
+
return {
|
|
95
|
+
valid: false,
|
|
96
|
+
error: `credential.credentialStatus has validation error: ${credentialStatusResult.error}`,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return { valid: true };
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../../src/controllers/validator/credential.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../src/controllers/validator/decorator.ts"],"names":[],"mappings":"AAKA,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,SAAS,sBAwB5F"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { validationResult } from './index.js';
|
|
2
|
+
import { StatusCodes } from 'http-status-codes';
|
|
3
|
+
export function validate(target, key, descriptor) {
|
|
4
|
+
// save a reference to the original method this way we keep the values currently in the
|
|
5
|
+
// descriptor and don't overwrite what another decorator might have done to the descriptor.
|
|
6
|
+
if (descriptor === undefined) {
|
|
7
|
+
descriptor = Object.getOwnPropertyDescriptor(target, key);
|
|
8
|
+
}
|
|
9
|
+
const originalMethod = descriptor.value;
|
|
10
|
+
//editing the descriptor/value parameter
|
|
11
|
+
descriptor.value = async function (...args) {
|
|
12
|
+
const request = args[0];
|
|
13
|
+
const response = args[1];
|
|
14
|
+
const result = validationResult(request);
|
|
15
|
+
if (!result.isEmpty()) {
|
|
16
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
17
|
+
error: result.array().pop()?.msg,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return originalMethod.apply(this, args);
|
|
21
|
+
};
|
|
22
|
+
// return edited descriptor as opposed to overwriting the descriptor
|
|
23
|
+
return descriptor;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../src/controllers/validator/decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,UAAU,QAAQ,CAAC,MAAW,EAAE,GAAW,EAAE,UAA0C;IAC5F,uFAAuF;IACvF,2FAA2F;IAC3F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAuB,CAAC;IACjF,CAAC;IAED,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;IAExC,wCAAwC;IACxC,UAAU,CAAC,KAAK,GAAG,KAAK,WAAW,GAAG,IAAW;QAChD,MAAM,OAAO,GAAY,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAa,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;gBACpD,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG;aACM,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,oEAAoE;IACpE,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IValidationResult, IValidator, Validatable } from './validator.js';
|
|
2
|
+
export declare class AlsoKnownAsValidator implements IValidator {
|
|
3
|
+
protected didURIValidator: IValidator;
|
|
4
|
+
constructor(didURIValidator?: IValidator);
|
|
5
|
+
validateEach(didURI: string): IValidationResult;
|
|
6
|
+
validate(alsoKnownAs: Validatable): IValidationResult;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=did-also-known-as.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-also-known-as.d.ts","sourceRoot":"","sources":["../../../src/controllers/validator/did-also-known-as.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjF,qBAAa,oBAAqB,YAAW,UAAU;IACtD,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC;gBAE1B,eAAe,CAAC,EAAE,UAAU;IAOxC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAI/C,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,iBAAiB;CAmBrD"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DIDURIValidator } from './did-uri.js';
|
|
2
|
+
export class AlsoKnownAsValidator {
|
|
3
|
+
didURIValidator;
|
|
4
|
+
constructor(didURIValidator) {
|
|
5
|
+
if (!didURIValidator) {
|
|
6
|
+
didURIValidator = new DIDURIValidator();
|
|
7
|
+
}
|
|
8
|
+
this.didURIValidator = didURIValidator;
|
|
9
|
+
}
|
|
10
|
+
validateEach(didURI) {
|
|
11
|
+
return this.didURIValidator.validate(didURI);
|
|
12
|
+
}
|
|
13
|
+
validate(alsoKnownAs) {
|
|
14
|
+
alsoKnownAs = alsoKnownAs;
|
|
15
|
+
if (!Array.isArray(alsoKnownAs)) {
|
|
16
|
+
return {
|
|
17
|
+
valid: false,
|
|
18
|
+
error: 'alsoKnownAs must be an array.',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const results = alsoKnownAs.map((aka) => this.validateEach(aka));
|
|
22
|
+
if (results.some((result) => !result.valid)) {
|
|
23
|
+
return {
|
|
24
|
+
valid: false,
|
|
25
|
+
error: 'alsoKnownAs has validation errors: ' + results.map((r) => r.error).join(', '),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return { valid: true };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=did-also-known-as.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"did-also-known-as.js","sourceRoot":"","sources":["../../../src/controllers/validator/did-also-known-as.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,MAAM,OAAO,oBAAoB;IACtB,eAAe,CAAa;IAEtC,YAAY,eAA4B;QACvC,IAAI,CAAC,eAAe,EAAE,CAAC;YACtB,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,WAAwB;QAChC,WAAW,GAAG,WAAuB,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,+BAA+B;aACtC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO;gBACN,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,qCAAqC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;aACrF,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;CACD"}
|