@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,673 @@
|
|
|
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, toString } from 'uint8arrays';
|
|
8
|
+
import { CheqdNetwork, MethodSpecificIdAlgo, VerificationMethods, createDidVerificationMethod, } from '@cheqd/sdk';
|
|
9
|
+
import { StatusCodes } from 'http-status-codes';
|
|
10
|
+
import { IdentityServiceStrategySetup } from '../../services/identity/index.js';
|
|
11
|
+
import { decryptPrivateKey, generateDidDoc, getQueryParams } from '../../helpers/helpers.js';
|
|
12
|
+
import { bases } from 'multiformats/basics';
|
|
13
|
+
import { base64ToBytes } from 'did-jwt';
|
|
14
|
+
import { check, param } from '../validator/index.js';
|
|
15
|
+
import { SupportedKeyTypes, extractPublicKeyHex } from '@veramo/utils';
|
|
16
|
+
import { eventTracker } from '../../services/track/tracker.js';
|
|
17
|
+
import { OperationCategoryNameEnum, OperationNameEnum } from '../../types/constants.js';
|
|
18
|
+
import { arePublicKeyHexsInWallet } from '../../services/helpers.js';
|
|
19
|
+
import { CheqdProviderErrorCodes } from '@cheqd/did-provider-cheqd';
|
|
20
|
+
import { validate } from '../validator/decorator.js';
|
|
21
|
+
export class DIDController {
|
|
22
|
+
static createDIDValidator = [
|
|
23
|
+
check('didDocument').optional().isObject().withMessage('Should be JSON object').bail().isDIDDocument(),
|
|
24
|
+
check('verificationMethodType')
|
|
25
|
+
.optional()
|
|
26
|
+
.isString()
|
|
27
|
+
.isIn([VerificationMethods.Ed255192020, VerificationMethods.Ed255192018, VerificationMethods.JWK])
|
|
28
|
+
.withMessage('Invalid verificationMethod')
|
|
29
|
+
.bail(),
|
|
30
|
+
check('identifierFormatType')
|
|
31
|
+
.optional()
|
|
32
|
+
.isString()
|
|
33
|
+
.isIn([MethodSpecificIdAlgo.Base58, MethodSpecificIdAlgo.Uuid])
|
|
34
|
+
.withMessage('Invalid identifierFormatType')
|
|
35
|
+
.bail(),
|
|
36
|
+
check('network')
|
|
37
|
+
.optional()
|
|
38
|
+
.isString()
|
|
39
|
+
.isIn([CheqdNetwork.Mainnet, CheqdNetwork.Testnet])
|
|
40
|
+
.withMessage('Invalid network')
|
|
41
|
+
.bail(),
|
|
42
|
+
check('assertionMethod').optional().isBoolean().withMessage('Invalid assertionMethod').bail(),
|
|
43
|
+
check('service')
|
|
44
|
+
.optional()
|
|
45
|
+
.isArray()
|
|
46
|
+
.withMessage('Service should be an array of objects for creating DID-Service')
|
|
47
|
+
.bail()
|
|
48
|
+
.isCreateDIDDocumentService()
|
|
49
|
+
.bail(),
|
|
50
|
+
];
|
|
51
|
+
static updateDIDValidator = [
|
|
52
|
+
check('didDocument').optional().isDIDDocument().bail(),
|
|
53
|
+
check('did').optional().isDID().bail(),
|
|
54
|
+
check('service')
|
|
55
|
+
.optional()
|
|
56
|
+
.isArray()
|
|
57
|
+
.withMessage('Service should be an array of objects for updating DID-Service')
|
|
58
|
+
.bail()
|
|
59
|
+
.isService()
|
|
60
|
+
.bail(),
|
|
61
|
+
check('verificationMethod')
|
|
62
|
+
.optional()
|
|
63
|
+
.isArray()
|
|
64
|
+
.withMessage('VerificationMethod should be an array of objects for updating DID-VerificationMethod')
|
|
65
|
+
.bail()
|
|
66
|
+
.isVerificationMethod()
|
|
67
|
+
.bail(),
|
|
68
|
+
check('authentication')
|
|
69
|
+
.optional()
|
|
70
|
+
.isArray()
|
|
71
|
+
.withMessage('Authentication should be an array of strings for updating DID-Authentication')
|
|
72
|
+
.bail()
|
|
73
|
+
.isDIDArray()
|
|
74
|
+
.bail(),
|
|
75
|
+
check('publicKeyHexs').optional().isArray().withMessage('publicKeyHexs should be an array of strings').bail(),
|
|
76
|
+
];
|
|
77
|
+
static deactivateDIDValidator = [param('did').exists().isString().isDID().bail()];
|
|
78
|
+
static importDIDValidator = [
|
|
79
|
+
check('did').isDID().bail(),
|
|
80
|
+
check('controllerKeyId').optional().isString().withMessage('controllerKeyId should be a string').bail(),
|
|
81
|
+
check('keys')
|
|
82
|
+
.isArray()
|
|
83
|
+
.withMessage('Keys should be an array of KeyImportRequest objects used in the DID-VerificationMethod')
|
|
84
|
+
.custom((value) => {
|
|
85
|
+
return value.every((item) => item.privateKeyHex &&
|
|
86
|
+
typeof item.encrypted === 'boolean' &&
|
|
87
|
+
(item.encrypted === true ? item.ivHex && item.salt : true) &&
|
|
88
|
+
typeof item.type === 'string' &&
|
|
89
|
+
(item.type === 'Ed25519' || item.type === 'Secp256k1'));
|
|
90
|
+
})
|
|
91
|
+
.withMessage('KeyImportRequest object is invalid, privateKeyHex is required, Property ivHex, salt is required when encrypted is set to true, property type should be Ed25519 or Secp256k1')
|
|
92
|
+
.bail(),
|
|
93
|
+
];
|
|
94
|
+
/**
|
|
95
|
+
* @openapi
|
|
96
|
+
*
|
|
97
|
+
* /did/create:
|
|
98
|
+
* post:
|
|
99
|
+
* tags: [ DID ]
|
|
100
|
+
* summary: Create a DID Document.
|
|
101
|
+
* description: This endpoint creates a DID and associated DID Document. As input, it can take the DID Document parameters via a form, or the fully-assembled DID Document itself.
|
|
102
|
+
* requestBody:
|
|
103
|
+
* content:
|
|
104
|
+
* application/x-www-form-urlencoded:
|
|
105
|
+
* schema:
|
|
106
|
+
* $ref: '#/components/schemas/DidCreateRequestFormBased'
|
|
107
|
+
* application/json:
|
|
108
|
+
* schema:
|
|
109
|
+
* $ref: '#/components/schemas/DidCreateRequestJson'
|
|
110
|
+
* responses:
|
|
111
|
+
* 200:
|
|
112
|
+
* description: The request was successful.
|
|
113
|
+
* content:
|
|
114
|
+
* application/json:
|
|
115
|
+
* schema:
|
|
116
|
+
* $ref: '#/components/schemas/DidResult'
|
|
117
|
+
* 400:
|
|
118
|
+
* description: A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.
|
|
119
|
+
* content:
|
|
120
|
+
* application/json:
|
|
121
|
+
* schema:
|
|
122
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
123
|
+
* example:
|
|
124
|
+
* error: InvalidRequest
|
|
125
|
+
* 401:
|
|
126
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
127
|
+
* 500:
|
|
128
|
+
* description: An internal error has occurred. Additional state information plus metadata may be available in the response body.
|
|
129
|
+
* content:
|
|
130
|
+
* application/json:
|
|
131
|
+
* schema:
|
|
132
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
133
|
+
* example:
|
|
134
|
+
* error: Internal Error
|
|
135
|
+
*/
|
|
136
|
+
async createDid(request, response) {
|
|
137
|
+
// handle request params
|
|
138
|
+
const { identifierFormatType, network, verificationMethodType, service, key, options } = request.body;
|
|
139
|
+
let didDocument;
|
|
140
|
+
// Get strategy e.g. postgres or local
|
|
141
|
+
const identityServiceStrategySetup = new IdentityServiceStrategySetup(response.locals.customer.customerId);
|
|
142
|
+
try {
|
|
143
|
+
if (request.body.didDocument) {
|
|
144
|
+
didDocument = request.body.didDocument;
|
|
145
|
+
if (options) {
|
|
146
|
+
const publicKeyHex = options.key ||
|
|
147
|
+
(await identityServiceStrategySetup.agent.createKey(SupportedKeyTypes.Ed25519, response.locals.customer)).publicKeyHex;
|
|
148
|
+
const pkBase64 = publicKeyHex.length == 43 ? publicKeyHex : toString(fromString(publicKeyHex, 'hex'), 'base64');
|
|
149
|
+
didDocument.verificationMethod = createDidVerificationMethod([options.verificationMethodType], [
|
|
150
|
+
{
|
|
151
|
+
methodSpecificId: bases['base58btc'].encode(base64ToBytes(pkBase64)),
|
|
152
|
+
didUrl: didDocument.id,
|
|
153
|
+
keyId: `${didDocument.id}#key-1`,
|
|
154
|
+
publicKey: pkBase64,
|
|
155
|
+
},
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
160
|
+
error: 'Provide options section to create a DID',
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else if (verificationMethodType) {
|
|
165
|
+
const publicKeyHex = key ||
|
|
166
|
+
(await identityServiceStrategySetup.agent.createKey(SupportedKeyTypes.Ed25519, response.locals.customer)).publicKeyHex;
|
|
167
|
+
didDocument = generateDidDoc({
|
|
168
|
+
verificationMethod: verificationMethodType,
|
|
169
|
+
verificationMethodId: 'key-1',
|
|
170
|
+
methodSpecificIdAlgo: identifierFormatType || MethodSpecificIdAlgo.Uuid,
|
|
171
|
+
network,
|
|
172
|
+
publicKey: publicKeyHex,
|
|
173
|
+
});
|
|
174
|
+
if (Array.isArray(request.body['@context'])) {
|
|
175
|
+
didDocument['@context'] = request.body['@context'];
|
|
176
|
+
}
|
|
177
|
+
if (typeof request.body['@context'] === 'string') {
|
|
178
|
+
didDocument['@context'] = [request.body['@context']];
|
|
179
|
+
}
|
|
180
|
+
if (service) {
|
|
181
|
+
if (Array.isArray(service)) {
|
|
182
|
+
try {
|
|
183
|
+
const services = service;
|
|
184
|
+
didDocument.service = [];
|
|
185
|
+
for (const service of services) {
|
|
186
|
+
didDocument.service.push({
|
|
187
|
+
id: `${didDocument.id}#${service.idFragment}`,
|
|
188
|
+
type: service.type,
|
|
189
|
+
serviceEndpoint: service.serviceEndpoint,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch (e) {
|
|
194
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
195
|
+
error: 'Provide the correct service section to create a DID',
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
didDocument.service = [
|
|
201
|
+
{
|
|
202
|
+
id: `${didDocument.id}#${service.idFragment}`,
|
|
203
|
+
type: service.type,
|
|
204
|
+
serviceEndpoint: service.serviceEndpoint,
|
|
205
|
+
},
|
|
206
|
+
];
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
212
|
+
error: 'Provide a DID Document or the VerificationMethodType to create a DID',
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
const did = await new IdentityServiceStrategySetup(response.locals.customer.customerId).agent.createDid(network || didDocument.id.split(':')[2], didDocument, response.locals.customer);
|
|
216
|
+
eventTracker.emit('track', {
|
|
217
|
+
category: OperationCategoryNameEnum.DID,
|
|
218
|
+
name: OperationNameEnum.DID_CREATE,
|
|
219
|
+
data: {
|
|
220
|
+
did: did.did,
|
|
221
|
+
},
|
|
222
|
+
customer: response.locals.customer,
|
|
223
|
+
user: response.locals.user,
|
|
224
|
+
});
|
|
225
|
+
return response.status(StatusCodes.OK).json(did);
|
|
226
|
+
}
|
|
227
|
+
catch (error) {
|
|
228
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
229
|
+
error: `Internal error: ${error?.message || error}`,
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* @openapi
|
|
235
|
+
*
|
|
236
|
+
* /did/update:
|
|
237
|
+
* post:
|
|
238
|
+
* tags: [ DID ]
|
|
239
|
+
* summary: Update a DID Document.
|
|
240
|
+
* description: This endpoint updates a DID Document. As an input, it can take JUST the sections/parameters that need to be updated in the DID Document (in this scenario, it fetches the current DID Document and applies the updated section). Alternatively, it take the fully-assembled DID Document with updated sections as well as unchanged sections.
|
|
241
|
+
* requestBody:
|
|
242
|
+
* content:
|
|
243
|
+
* application/x-www-form-urlencoded:
|
|
244
|
+
* schema:
|
|
245
|
+
* $ref: '#/components/schemas/DidUpdateRequest'
|
|
246
|
+
* application/json:
|
|
247
|
+
* schema:
|
|
248
|
+
* $ref: '#/components/schemas/DidUpdateRequest'
|
|
249
|
+
* responses:
|
|
250
|
+
* 200:
|
|
251
|
+
* description: The request was successful.
|
|
252
|
+
* content:
|
|
253
|
+
* application/json:
|
|
254
|
+
* schema:
|
|
255
|
+
* $ref: '#/components/schemas/DidUpdateResponse'
|
|
256
|
+
* 400:
|
|
257
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
258
|
+
* 401:
|
|
259
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
260
|
+
* 500:
|
|
261
|
+
* $ref: '#/components/schemas/InternalError'
|
|
262
|
+
*/
|
|
263
|
+
async updateDid(request, response) {
|
|
264
|
+
// handle request params
|
|
265
|
+
const { did, service, verificationMethod, authentication, publicKeyHexs } = request.body;
|
|
266
|
+
// Get the didDocument from the request if it's placed there
|
|
267
|
+
let updatedDocument;
|
|
268
|
+
// Get strategy e.g. postgres or local
|
|
269
|
+
const identityServiceStrategySetup = new IdentityServiceStrategySetup(response.locals.customer.customerId);
|
|
270
|
+
// If list of publicKeyHexs is placed - check that publicKeyHexs are owned by the customer
|
|
271
|
+
if (publicKeyHexs) {
|
|
272
|
+
const areOwned = await arePublicKeyHexsInWallet(publicKeyHexs, response.locals.customer);
|
|
273
|
+
if (!areOwned.status) {
|
|
274
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
275
|
+
error: areOwned.error,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
try {
|
|
280
|
+
if (request.body.didDocument) {
|
|
281
|
+
// Just pass the didDocument from the user as is
|
|
282
|
+
updatedDocument = request.body.didDocument;
|
|
283
|
+
}
|
|
284
|
+
else if (did && (service || verificationMethod || authentication)) {
|
|
285
|
+
// Resolve DID
|
|
286
|
+
const resolvedResult = await identityServiceStrategySetup.agent.resolveDid(did);
|
|
287
|
+
// Check output that DID is not deactivated or exist
|
|
288
|
+
if (!resolvedResult?.didDocument || resolvedResult.didDocumentMetadata.deactivated) {
|
|
289
|
+
return response.status(StatusCodes.BAD_REQUEST).send({
|
|
290
|
+
error: `${did} is either Deactivated or Not found`,
|
|
291
|
+
});
|
|
292
|
+
}
|
|
293
|
+
// Fill up the DID Document with updated sections
|
|
294
|
+
const resolvedDocument = resolvedResult.didDocument;
|
|
295
|
+
if (service) {
|
|
296
|
+
resolvedDocument.service = Array.isArray(service) ? service : [service];
|
|
297
|
+
}
|
|
298
|
+
if (verificationMethod) {
|
|
299
|
+
resolvedDocument.verificationMethod = Array.isArray(verificationMethod)
|
|
300
|
+
? verificationMethod
|
|
301
|
+
: [verificationMethod];
|
|
302
|
+
}
|
|
303
|
+
if (authentication) {
|
|
304
|
+
resolvedDocument.authentication = Array.isArray(authentication) ? authentication : [authentication];
|
|
305
|
+
}
|
|
306
|
+
updatedDocument = resolvedDocument;
|
|
307
|
+
}
|
|
308
|
+
else {
|
|
309
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
310
|
+
error: 'Provide a DID Document or atleast one field to update',
|
|
311
|
+
});
|
|
312
|
+
}
|
|
313
|
+
const result = await identityServiceStrategySetup.agent.updateDid(updatedDocument, response.locals.customer, publicKeyHexs);
|
|
314
|
+
// Track the operation
|
|
315
|
+
eventTracker.emit('track', {
|
|
316
|
+
category: OperationCategoryNameEnum.DID,
|
|
317
|
+
name: OperationNameEnum.DID_UPDATE,
|
|
318
|
+
data: {
|
|
319
|
+
did: result.did,
|
|
320
|
+
},
|
|
321
|
+
customer: response.locals.customer,
|
|
322
|
+
user: response.locals.user,
|
|
323
|
+
});
|
|
324
|
+
return response.status(StatusCodes.OK).json(result);
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
const errorCode = error.errorCode;
|
|
328
|
+
// Handle specific cases when DID is deactivated or verificationMethod is empty
|
|
329
|
+
if (errorCode &&
|
|
330
|
+
(errorCode === CheqdProviderErrorCodes.DeactivatedController ||
|
|
331
|
+
errorCode === CheqdProviderErrorCodes.EmptyVerificationMethod)) {
|
|
332
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
333
|
+
error: `updateDID: error: ${error.message}`,
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
337
|
+
error: `Internal error: ${error?.message || error}`,
|
|
338
|
+
});
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* @openapi
|
|
343
|
+
*
|
|
344
|
+
* /did/import:
|
|
345
|
+
* post:
|
|
346
|
+
* tags: [ DID ]
|
|
347
|
+
* summary: Import a DID Document.
|
|
348
|
+
* description: This endpoint imports a decentralized identifier associated with the user's account for custodian-mode clients.
|
|
349
|
+
* requestBody:
|
|
350
|
+
* content:
|
|
351
|
+
* application/x-www-form-urlencoded:
|
|
352
|
+
* schema:
|
|
353
|
+
* $ref: '#/components/schemas/DidImportRequest'
|
|
354
|
+
* application/json:
|
|
355
|
+
* schema:
|
|
356
|
+
* $ref: '#/components/schemas/DidImportRequest'
|
|
357
|
+
* responses:
|
|
358
|
+
* 200:
|
|
359
|
+
* description: The request was successful.
|
|
360
|
+
* content:
|
|
361
|
+
* application/json:
|
|
362
|
+
* schema:
|
|
363
|
+
* $ref: '#/components/schemas/DidResult'
|
|
364
|
+
* 400:
|
|
365
|
+
* description: A problem with the input fields has occurred. Additional state information plus metadata may be available in the response body.
|
|
366
|
+
* content:
|
|
367
|
+
* application/json:
|
|
368
|
+
* schema:
|
|
369
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
370
|
+
* example:
|
|
371
|
+
* error: InvalidRequest
|
|
372
|
+
* 401:
|
|
373
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
374
|
+
* 500:
|
|
375
|
+
* description: An internal error has occurred. Additional state information plus metadata may be available in the response body.
|
|
376
|
+
* content:
|
|
377
|
+
* application/json:
|
|
378
|
+
* schema:
|
|
379
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
380
|
+
* example:
|
|
381
|
+
* error: Internal Error
|
|
382
|
+
*/
|
|
383
|
+
async importDid(request, response) {
|
|
384
|
+
try {
|
|
385
|
+
// Get the params from body
|
|
386
|
+
const { did, controllerKeyId, keys } = request.body;
|
|
387
|
+
// Resolve the didDocument from the ledger
|
|
388
|
+
const { didDocument } = await new IdentityServiceStrategySetup().agent.resolveDid(did);
|
|
389
|
+
// Check if the didDocument is valid
|
|
390
|
+
if (!didDocument || !didDocument.verificationMethod || didDocument.verificationMethod.length === 0) {
|
|
391
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
392
|
+
error: `Invalid request: Invalid did document for ${did}`,
|
|
393
|
+
});
|
|
394
|
+
}
|
|
395
|
+
const publicKeyHexs = [
|
|
396
|
+
...new Set(didDocument.verificationMethod.map((vm) => extractPublicKeyHex(vm)).filter((pk) => pk) || []),
|
|
397
|
+
];
|
|
398
|
+
const keysToImport = [];
|
|
399
|
+
if (keys && keys.length === publicKeyHexs.length) {
|
|
400
|
+
// import keys
|
|
401
|
+
keysToImport.push(...(await Promise.all(keys.map(async (key) => {
|
|
402
|
+
const { type, encrypted, ivHex, salt } = key;
|
|
403
|
+
let { privateKeyHex } = key;
|
|
404
|
+
if (encrypted) {
|
|
405
|
+
if (ivHex && salt) {
|
|
406
|
+
privateKeyHex = toString(await decryptPrivateKey(privateKeyHex, ivHex, salt), 'hex');
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
throw new Error(`Invalid request: Property ivHex, salt is required when encrypted is set to true`);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return {
|
|
413
|
+
type: type || 'Ed25519',
|
|
414
|
+
privateKeyHex,
|
|
415
|
+
};
|
|
416
|
+
}))));
|
|
417
|
+
}
|
|
418
|
+
else if (keys) {
|
|
419
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
420
|
+
error: `Invalid request: Provide all the required keys`,
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
const identifier = await new IdentityServiceStrategySetup(response.locals.customer.customerId).agent.importDid(did, keys, controllerKeyId, response.locals.customer);
|
|
424
|
+
// Track the operation
|
|
425
|
+
eventTracker.emit('track', {
|
|
426
|
+
category: OperationCategoryNameEnum.DID,
|
|
427
|
+
name: OperationNameEnum.DID_IMPORT,
|
|
428
|
+
data: {
|
|
429
|
+
did: identifier.did,
|
|
430
|
+
},
|
|
431
|
+
customer: response.locals.customer,
|
|
432
|
+
user: response.locals.user,
|
|
433
|
+
});
|
|
434
|
+
return response.status(StatusCodes.OK).json(identifier);
|
|
435
|
+
}
|
|
436
|
+
catch (error) {
|
|
437
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
438
|
+
error: `Internal error: ${error?.message || error}`,
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* @openapi
|
|
444
|
+
*
|
|
445
|
+
* /did/deactivate/{did}:
|
|
446
|
+
* post:
|
|
447
|
+
* tags: [ DID ]
|
|
448
|
+
* summary: Deactivate a DID Document.
|
|
449
|
+
* description: This endpoint deactivates a DID Document by taking the DID identifier as input. Must be called and signed by the DID owner.
|
|
450
|
+
* parameters:
|
|
451
|
+
* - in: path
|
|
452
|
+
* name: did
|
|
453
|
+
* description: DID identifier to deactivate.
|
|
454
|
+
* schema:
|
|
455
|
+
* type: string
|
|
456
|
+
* required: true
|
|
457
|
+
* requestBody:
|
|
458
|
+
* content:
|
|
459
|
+
* application/x-www-form-urlencoded:
|
|
460
|
+
* schema:
|
|
461
|
+
* $ref: '#/components/schemas/DidDeactivateRequest'
|
|
462
|
+
* application/json:
|
|
463
|
+
* schema:
|
|
464
|
+
* $ref: '#/components/schemas/DidDeactivateRequest'
|
|
465
|
+
* responses:
|
|
466
|
+
* 200:
|
|
467
|
+
* description: The request was successful.
|
|
468
|
+
* content:
|
|
469
|
+
* application/json:
|
|
470
|
+
* schema:
|
|
471
|
+
* $ref: '#/components/schemas/DeactivatedDidResolution'
|
|
472
|
+
* 400:
|
|
473
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
474
|
+
* 401:
|
|
475
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
476
|
+
* 500:
|
|
477
|
+
* $ref: '#/components/schemas/InternalError'
|
|
478
|
+
*/
|
|
479
|
+
async deactivateDid(request, response) {
|
|
480
|
+
// Extract did from request params
|
|
481
|
+
const { did } = request.params;
|
|
482
|
+
const { publicKeyHexs } = request.body;
|
|
483
|
+
// If list of publicKeyHexs is placed - check that publicKeyHexs are owned by the customer
|
|
484
|
+
if (publicKeyHexs) {
|
|
485
|
+
const areOwned = await arePublicKeyHexsInWallet(publicKeyHexs, response.locals.customer);
|
|
486
|
+
if (!areOwned.status) {
|
|
487
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
488
|
+
error: areOwned.error,
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
// Get strategy e.g. postgres or local
|
|
493
|
+
const identityServiceStrategySetup = new IdentityServiceStrategySetup(response.locals.customer.customerId);
|
|
494
|
+
try {
|
|
495
|
+
// Deactivate DID
|
|
496
|
+
await identityServiceStrategySetup.agent.deactivateDid(did, response.locals.customer, publicKeyHexs);
|
|
497
|
+
// Send the deactivated DID as result
|
|
498
|
+
const result = await identityServiceStrategySetup.agent.resolveDid(request.params.did);
|
|
499
|
+
// Track the operation
|
|
500
|
+
eventTracker.emit('track', {
|
|
501
|
+
category: OperationCategoryNameEnum.DID,
|
|
502
|
+
name: OperationNameEnum.DID_DEACTIVATE,
|
|
503
|
+
data: {
|
|
504
|
+
did,
|
|
505
|
+
},
|
|
506
|
+
customer: response.locals.customer,
|
|
507
|
+
user: response.locals.user,
|
|
508
|
+
});
|
|
509
|
+
return response.status(StatusCodes.OK).json(result);
|
|
510
|
+
}
|
|
511
|
+
catch (error) {
|
|
512
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
513
|
+
error: `Internal error: ${error?.message || error}`,
|
|
514
|
+
});
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* @openapi
|
|
519
|
+
*
|
|
520
|
+
* /did/list:
|
|
521
|
+
* get:
|
|
522
|
+
* tags: [ DID ]
|
|
523
|
+
* summary: Fetch DIDs associated with an account.
|
|
524
|
+
* description: This endpoint returns the list of DIDs controlled by the account.
|
|
525
|
+
* responses:
|
|
526
|
+
* 200:
|
|
527
|
+
* description: The request was successful.
|
|
528
|
+
* content:
|
|
529
|
+
* application/json:
|
|
530
|
+
* schema:
|
|
531
|
+
* type: array
|
|
532
|
+
* items:
|
|
533
|
+
* type: string
|
|
534
|
+
* 400:
|
|
535
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
536
|
+
* 401:
|
|
537
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
538
|
+
* 500:
|
|
539
|
+
* $ref: '#/components/schemas/InternalError'
|
|
540
|
+
*/
|
|
541
|
+
async getDids(request, response) {
|
|
542
|
+
// Extract did from params
|
|
543
|
+
const { did } = request.params;
|
|
544
|
+
// Get strategy e.g. postgres or local
|
|
545
|
+
const identityServiceStrategySetup = response.locals.customer
|
|
546
|
+
? new IdentityServiceStrategySetup(response.locals.customer.customerId)
|
|
547
|
+
: new IdentityServiceStrategySetup();
|
|
548
|
+
try {
|
|
549
|
+
const didDocument = did
|
|
550
|
+
? await identityServiceStrategySetup.agent.resolveDid(did)
|
|
551
|
+
: await identityServiceStrategySetup.agent.listDids(response.locals.customer);
|
|
552
|
+
return response
|
|
553
|
+
.status(StatusCodes.OK)
|
|
554
|
+
.json(didDocument);
|
|
555
|
+
}
|
|
556
|
+
catch (error) {
|
|
557
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
558
|
+
error: `Internal error: ${error?.message || error}`,
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* @openapi
|
|
564
|
+
*
|
|
565
|
+
* /did/search/{did}:
|
|
566
|
+
* get:
|
|
567
|
+
* tags: [ DID ]
|
|
568
|
+
* summary: Resolve a DID Document.
|
|
569
|
+
* description: Resolve a DID Document by DID identifier. Also supports DID Resolution Queries as defined in the <a href="https://w3c-ccg.github.io/did-resolution/">W3C DID Resolution specification</a>.
|
|
570
|
+
* parameters:
|
|
571
|
+
* - in: path
|
|
572
|
+
* name: did
|
|
573
|
+
* description: DID identifier to resolve.
|
|
574
|
+
* schema:
|
|
575
|
+
* type: string
|
|
576
|
+
* required: true
|
|
577
|
+
* example: did:cheqd:mainnet:7bf81a20-633c-4cc7-bc4a-5a45801005e0
|
|
578
|
+
* - in: query
|
|
579
|
+
* name: metadata
|
|
580
|
+
* description: Return only metadata of DID Document instead of actual DID Document.
|
|
581
|
+
* schema:
|
|
582
|
+
* type: boolean
|
|
583
|
+
* - in: query
|
|
584
|
+
* name: versionId
|
|
585
|
+
* description: Unique UUID version identifier of DID Document. Allows for fetching a specific version of the DID Document. See <a href="https://docs.cheqd.io/identity/architecture/adr-list/adr-001-cheqd-did-method#did-document-metadata">cheqd DID Method Specification</a> for more details.
|
|
586
|
+
* schema:
|
|
587
|
+
* type: string
|
|
588
|
+
* format: uuid
|
|
589
|
+
* example: 3ccde6ba-6ba5-56f2-9f4f-8825561a9860
|
|
590
|
+
* - in: query
|
|
591
|
+
* name: versionTime
|
|
592
|
+
* description: Returns the closest version of the DID Document *at* or *before* specified time. See <a href="https://docs.cheqd.io/identity/architecture/adr-list/adr-005-did-resolution-and-did-url-dereferencing">DID Resolution handling for `did:cheqd`</a> for more details.
|
|
593
|
+
* schema:
|
|
594
|
+
* type: string
|
|
595
|
+
* format: date-time
|
|
596
|
+
* example: 1970-01-01T00:00:00Z
|
|
597
|
+
* - in: query
|
|
598
|
+
* name: transformKeys
|
|
599
|
+
* description: This directive transforms the Verification Method key format from the version in the DID Document to the specified format chosen below.
|
|
600
|
+
* schema:
|
|
601
|
+
* type: string
|
|
602
|
+
* enum:
|
|
603
|
+
* - Ed25519VerificationKey2018
|
|
604
|
+
* - Ed25519VerificationKey2020
|
|
605
|
+
* - JsonWebKey2020
|
|
606
|
+
* - in: query
|
|
607
|
+
* name: service
|
|
608
|
+
* description: Query DID Document for a specific Service Endpoint by Service ID (e.g., `service-1` in `did:cheqd:mainnet:7bf81a20-633c-4cc7-bc4a-5a45801005e0#service-1`). This will typically redirect to the Service Endpoint based on <a href="https://w3c-ccg.github.io/did-resolution/#dereferencing">DID Resolution specification</a> algorithm.
|
|
609
|
+
* schema:
|
|
610
|
+
* type: string
|
|
611
|
+
* example: service-1
|
|
612
|
+
* - in: query
|
|
613
|
+
* name: relativeRef
|
|
614
|
+
* description: Relative reference is a query fragment appended to the Service Endpoint URL. **Must** be used along with the `service` query property above. See <a href="https://w3c-ccg.github.io/did-resolution/#dereferencing">DID Resolution specification</a> algorithm for more details.
|
|
615
|
+
* schema:
|
|
616
|
+
* type: string
|
|
617
|
+
* example: /path/to/file
|
|
618
|
+
* responses:
|
|
619
|
+
* 200:
|
|
620
|
+
* description: The request was successful.
|
|
621
|
+
* content:
|
|
622
|
+
* application/json:
|
|
623
|
+
* schema:
|
|
624
|
+
* $ref: '#/components/schemas/DidResolution'
|
|
625
|
+
* 400:
|
|
626
|
+
* $ref: '#/components/schemas/InvalidRequest'
|
|
627
|
+
* 401:
|
|
628
|
+
* $ref: '#/components/schemas/UnauthorizedError'
|
|
629
|
+
* 500:
|
|
630
|
+
* $ref: '#/components/schemas/InternalError'
|
|
631
|
+
*/
|
|
632
|
+
async resolveDidUrl(request, response) {
|
|
633
|
+
// Get strategy e.g. postgres or local
|
|
634
|
+
const identityServiceStrategySetup = new IdentityServiceStrategySetup();
|
|
635
|
+
// Extract did from params
|
|
636
|
+
const { did } = request.params;
|
|
637
|
+
try {
|
|
638
|
+
let res;
|
|
639
|
+
if (did) {
|
|
640
|
+
res = await identityServiceStrategySetup.agent.resolve(request.params.did + getQueryParams(request.query));
|
|
641
|
+
const contentType = res.headers.get('Content-Type') || 'application/octet-stream';
|
|
642
|
+
const body = new TextDecoder().decode(await res.arrayBuffer());
|
|
643
|
+
return response
|
|
644
|
+
.setHeader('Content-Type', contentType)
|
|
645
|
+
.status(res.status)
|
|
646
|
+
.send(body);
|
|
647
|
+
}
|
|
648
|
+
else {
|
|
649
|
+
return response.status(StatusCodes.BAD_REQUEST).json({
|
|
650
|
+
error: 'The DIDUrl parameter is empty.',
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
catch (error) {
|
|
655
|
+
return response.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
|
|
656
|
+
error: `Internal error: ${error?.message || error}`,
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
__decorate([
|
|
662
|
+
validate
|
|
663
|
+
], DIDController.prototype, "createDid", null);
|
|
664
|
+
__decorate([
|
|
665
|
+
validate
|
|
666
|
+
], DIDController.prototype, "updateDid", null);
|
|
667
|
+
__decorate([
|
|
668
|
+
validate
|
|
669
|
+
], DIDController.prototype, "importDid", null);
|
|
670
|
+
__decorate([
|
|
671
|
+
validate
|
|
672
|
+
], DIDController.prototype, "deactivateDid", null);
|
|
673
|
+
//# sourceMappingURL=did.js.map
|