@cheqd/studio 3.16.0-develop.11 → 3.16.0-develop.12

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.
Files changed (51) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +11 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/controllers/api/credential.d.ts +1 -1
  5. package/dist/controllers/api/credential.js +1 -1
  6. package/dist/controllers/api/received-credential.d.ts +342 -0
  7. package/dist/controllers/api/received-credential.d.ts.map +1 -0
  8. package/dist/controllers/api/received-credential.js +610 -0
  9. package/dist/controllers/api/received-credential.js.map +1 -0
  10. package/dist/database/entities/issued-credential.entity.d.ts +18 -2
  11. package/dist/database/entities/issued-credential.entity.d.ts.map +1 -1
  12. package/dist/database/entities/issued-credential.entity.js +29 -0
  13. package/dist/database/entities/issued-credential.entity.js.map +1 -1
  14. package/dist/database/migrations/1766408271347-studio-migrations.d.ts +7 -0
  15. package/dist/database/migrations/1766408271347-studio-migrations.d.ts.map +1 -0
  16. package/dist/database/migrations/1766408271347-studio-migrations.js +16 -0
  17. package/dist/database/migrations/1766408271347-studio-migrations.js.map +1 -0
  18. package/dist/database/types/types.d.ts.map +1 -1
  19. package/dist/database/types/types.js +2 -0
  20. package/dist/database/types/types.js.map +1 -1
  21. package/dist/middleware/auth/routes/api/credential-auth.d.ts.map +1 -1
  22. package/dist/middleware/auth/routes/api/credential-auth.js +12 -0
  23. package/dist/middleware/auth/routes/api/credential-auth.js.map +1 -1
  24. package/dist/services/api/credentials.d.ts.map +1 -1
  25. package/dist/services/api/credentials.js +38 -6
  26. package/dist/services/api/credentials.js.map +1 -1
  27. package/dist/services/api/received-credentials.d.ts +122 -0
  28. package/dist/services/api/received-credentials.d.ts.map +1 -0
  29. package/dist/services/api/received-credentials.js +439 -0
  30. package/dist/services/api/received-credentials.js.map +1 -0
  31. package/dist/services/identity/abstract.d.ts +4 -0
  32. package/dist/services/identity/abstract.d.ts.map +1 -1
  33. package/dist/services/identity/abstract.js +12 -0
  34. package/dist/services/identity/abstract.js.map +1 -1
  35. package/dist/services/identity/index.d.ts +22 -0
  36. package/dist/services/identity/index.d.ts.map +1 -1
  37. package/dist/services/identity/index.js.map +1 -1
  38. package/dist/services/identity/providers/studio/agent.d.ts +15 -0
  39. package/dist/services/identity/providers/studio/agent.d.ts.map +1 -1
  40. package/dist/services/identity/providers/studio/agent.js +51 -4
  41. package/dist/services/identity/providers/studio/agent.js.map +1 -1
  42. package/dist/services/identity/providers/studio/local.d.ts +4 -0
  43. package/dist/services/identity/providers/studio/local.d.ts.map +1 -1
  44. package/dist/services/identity/providers/studio/local.js +12 -0
  45. package/dist/services/identity/providers/studio/local.js.map +1 -1
  46. package/dist/services/identity/providers/studio/postgres.d.ts +7 -0
  47. package/dist/services/identity/providers/studio/postgres.d.ts.map +1 -1
  48. package/dist/services/identity/providers/studio/postgres.js +19 -0
  49. package/dist/services/identity/providers/studio/postgres.js.map +1 -1
  50. package/dist/static/swagger-api.json +479 -1
  51. package/package.json +1 -1
@@ -4810,7 +4810,11 @@
4810
4810
  "enum": [
4811
4811
  "issued",
4812
4812
  "suspended",
4813
- "revoked"
4813
+ "revoked",
4814
+ "offered",
4815
+ "rejected",
4816
+ "unknown",
4817
+ "valid"
4814
4818
  ]
4815
4819
  },
4816
4820
  "required": false
@@ -6494,6 +6498,480 @@
6494
6498
  }
6495
6499
  }
6496
6500
  },
6501
+ "/credentials/offers": {
6502
+ "get": {
6503
+ "tags": [
6504
+ "Credential Offers"
6505
+ ],
6506
+ "summary": "List pending credential offers",
6507
+ "description": "Retrieves a list of pending credential offers. If holderDid is not provided, returns all offers for all DIDs owned by the customer.",
6508
+ "parameters": [
6509
+ {
6510
+ "in": "query",
6511
+ "name": "holderDid",
6512
+ "required": false,
6513
+ "schema": {
6514
+ "type": "string"
6515
+ },
6516
+ "description": "Optional DID of the credential holder. If not provided, returns offers for all customer DIDs."
6517
+ },
6518
+ {
6519
+ "in": "query",
6520
+ "name": "category",
6521
+ "required": false,
6522
+ "schema": {
6523
+ "type": "string",
6524
+ "enum": [
6525
+ "credential",
6526
+ "accreditation"
6527
+ ]
6528
+ },
6529
+ "description": "Optional category to filter by credential type"
6530
+ },
6531
+ {
6532
+ "in": "query",
6533
+ "name": "page",
6534
+ "schema": {
6535
+ "type": "integer",
6536
+ "minimum": 1,
6537
+ "default": 1
6538
+ },
6539
+ "description": "Page number for pagination"
6540
+ },
6541
+ {
6542
+ "in": "query",
6543
+ "name": "limit",
6544
+ "schema": {
6545
+ "type": "integer",
6546
+ "minimum": 1,
6547
+ "maximum": 100,
6548
+ "default": 10
6549
+ },
6550
+ "description": "Number of results per page"
6551
+ }
6552
+ ],
6553
+ "responses": {
6554
+ "200": {
6555
+ "description": "List of pending credential offers",
6556
+ "content": {
6557
+ "application/json": {
6558
+ "schema": {
6559
+ "type": "object",
6560
+ "properties": {
6561
+ "total": {
6562
+ "type": "integer"
6563
+ },
6564
+ "offers": {
6565
+ "type": "array",
6566
+ "items": {
6567
+ "$ref": "#/components/schemas/IssuedCredentialResponse"
6568
+ }
6569
+ },
6570
+ "page": {
6571
+ "type": "integer"
6572
+ },
6573
+ "limit": {
6574
+ "type": "integer"
6575
+ }
6576
+ }
6577
+ }
6578
+ }
6579
+ }
6580
+ },
6581
+ "400": {
6582
+ "$ref": "#/components/schemas/InvalidRequest"
6583
+ },
6584
+ "401": {
6585
+ "$ref": "#/components/schemas/UnauthorizedError"
6586
+ },
6587
+ "500": {
6588
+ "$ref": "#/components/schemas/InternalError"
6589
+ }
6590
+ }
6591
+ }
6592
+ },
6593
+ "/credentials/offers/{credentialId}": {
6594
+ "get": {
6595
+ "tags": [
6596
+ "Credential Offers"
6597
+ ],
6598
+ "summary": "Get credential offer details",
6599
+ "description": "Retrieves detailed information about a specific credential offer",
6600
+ "parameters": [
6601
+ {
6602
+ "in": "path",
6603
+ "name": "credentialId",
6604
+ "required": true,
6605
+ "schema": {
6606
+ "type": "string",
6607
+ "format": "uuid"
6608
+ },
6609
+ "description": "ID of the credential offer"
6610
+ },
6611
+ {
6612
+ "in": "query",
6613
+ "name": "holderDid",
6614
+ "required": true,
6615
+ "schema": {
6616
+ "type": "string"
6617
+ },
6618
+ "description": "DID of the credential holder"
6619
+ }
6620
+ ],
6621
+ "responses": {
6622
+ "200": {
6623
+ "description": "Credential offer details",
6624
+ "content": {
6625
+ "application/json": {
6626
+ "schema": {
6627
+ "$ref": "#/components/schemas/IssuedCredentialResponse"
6628
+ }
6629
+ }
6630
+ }
6631
+ },
6632
+ "400": {
6633
+ "$ref": "#/components/schemas/InvalidRequest"
6634
+ },
6635
+ "401": {
6636
+ "$ref": "#/components/schemas/UnauthorizedError"
6637
+ },
6638
+ "404": {
6639
+ "description": "Credential offer not found"
6640
+ },
6641
+ "500": {
6642
+ "$ref": "#/components/schemas/InternalError"
6643
+ }
6644
+ }
6645
+ }
6646
+ },
6647
+ "/credentials/offers/{credentialId}/accept": {
6648
+ "post": {
6649
+ "tags": [
6650
+ "Credential Offers"
6651
+ ],
6652
+ "summary": "Accept a credential offer",
6653
+ "description": "Accepts a pending credential offer. The credential is verified and status is updated to issued.",
6654
+ "parameters": [
6655
+ {
6656
+ "in": "path",
6657
+ "name": "credentialId",
6658
+ "required": true,
6659
+ "schema": {
6660
+ "type": "string",
6661
+ "format": "uuid"
6662
+ },
6663
+ "description": "ID of the credential offer to accept"
6664
+ }
6665
+ ],
6666
+ "requestBody": {
6667
+ "required": true,
6668
+ "content": {
6669
+ "application/json": {
6670
+ "schema": {
6671
+ "type": "object",
6672
+ "required": [
6673
+ "holderDid"
6674
+ ],
6675
+ "properties": {
6676
+ "holderDid": {
6677
+ "type": "string",
6678
+ "description": "DID of the credential holder"
6679
+ },
6680
+ "createPresentation": {
6681
+ "type": "boolean",
6682
+ "default": false,
6683
+ "description": "Whether to create a verifiable presentation"
6684
+ },
6685
+ "presentationDomain": {
6686
+ "type": "string",
6687
+ "description": "Optional domain for the presentation"
6688
+ }
6689
+ }
6690
+ }
6691
+ }
6692
+ }
6693
+ },
6694
+ "responses": {
6695
+ "200": {
6696
+ "description": "Credential offer accepted successfully",
6697
+ "content": {
6698
+ "application/json": {
6699
+ "schema": {
6700
+ "type": "object",
6701
+ "properties": {
6702
+ "success": {
6703
+ "type": "boolean"
6704
+ },
6705
+ "credential": {
6706
+ "type": "object"
6707
+ },
6708
+ "presentation": {
6709
+ "type": "string",
6710
+ "description": "JWT presentation (if createPresentation was true)"
6711
+ }
6712
+ }
6713
+ }
6714
+ }
6715
+ }
6716
+ },
6717
+ "400": {
6718
+ "$ref": "#/components/schemas/InvalidRequest"
6719
+ },
6720
+ "401": {
6721
+ "$ref": "#/components/schemas/UnauthorizedError"
6722
+ },
6723
+ "404": {
6724
+ "description": "Credential offer not found"
6725
+ },
6726
+ "500": {
6727
+ "$ref": "#/components/schemas/InternalError"
6728
+ }
6729
+ }
6730
+ }
6731
+ },
6732
+ "/credentials/offers/{credentialId}/reject": {
6733
+ "post": {
6734
+ "tags": [
6735
+ "Credential Offers"
6736
+ ],
6737
+ "summary": "Reject a credential offer",
6738
+ "description": "Rejects a pending credential offer. The credential is deleted and status is updated to rejected.",
6739
+ "parameters": [
6740
+ {
6741
+ "in": "path",
6742
+ "name": "credentialId",
6743
+ "required": true,
6744
+ "schema": {
6745
+ "type": "string",
6746
+ "format": "uuid"
6747
+ },
6748
+ "description": "ID of the credential offer to reject"
6749
+ }
6750
+ ],
6751
+ "requestBody": {
6752
+ "required": true,
6753
+ "content": {
6754
+ "application/json": {
6755
+ "schema": {
6756
+ "type": "object",
6757
+ "required": [
6758
+ "holderDid"
6759
+ ],
6760
+ "properties": {
6761
+ "holderDid": {
6762
+ "type": "string",
6763
+ "description": "DID of the credential holder"
6764
+ }
6765
+ }
6766
+ }
6767
+ }
6768
+ }
6769
+ },
6770
+ "responses": {
6771
+ "200": {
6772
+ "description": "Credential offer rejected successfully",
6773
+ "content": {
6774
+ "application/json": {
6775
+ "schema": {
6776
+ "type": "object",
6777
+ "properties": {
6778
+ "success": {
6779
+ "type": "boolean"
6780
+ },
6781
+ "message": {
6782
+ "type": "string"
6783
+ }
6784
+ }
6785
+ }
6786
+ }
6787
+ }
6788
+ },
6789
+ "400": {
6790
+ "$ref": "#/components/schemas/InvalidRequest"
6791
+ },
6792
+ "401": {
6793
+ "$ref": "#/components/schemas/UnauthorizedError"
6794
+ },
6795
+ "404": {
6796
+ "description": "Credential offer not found"
6797
+ },
6798
+ "500": {
6799
+ "$ref": "#/components/schemas/InternalError"
6800
+ }
6801
+ }
6802
+ }
6803
+ },
6804
+ "/credentials/import": {
6805
+ "post": {
6806
+ "tags": [
6807
+ "Verifiable Credentials"
6808
+ ],
6809
+ "summary": "Import an externally issued credential",
6810
+ "description": "Imports a credential issued by a third party (not in Studio) and stores it in the holder's dataStore",
6811
+ "requestBody": {
6812
+ "required": true,
6813
+ "content": {
6814
+ "application/json": {
6815
+ "schema": {
6816
+ "type": "object",
6817
+ "required": [
6818
+ "credential",
6819
+ "holderDid"
6820
+ ],
6821
+ "properties": {
6822
+ "credential": {
6823
+ "oneOf": [
6824
+ {
6825
+ "type": "object",
6826
+ "description": "Verifiable credential as JSON object"
6827
+ },
6828
+ {
6829
+ "type": "string",
6830
+ "description": "Verifiable credential as JWT string"
6831
+ }
6832
+ ]
6833
+ },
6834
+ "holderDid": {
6835
+ "type": "string",
6836
+ "description": "DID of the credential holder"
6837
+ }
6838
+ }
6839
+ }
6840
+ }
6841
+ }
6842
+ },
6843
+ "responses": {
6844
+ "200": {
6845
+ "description": "Credential imported successfully",
6846
+ "content": {
6847
+ "application/json": {
6848
+ "schema": {
6849
+ "type": "object",
6850
+ "properties": {
6851
+ "success": {
6852
+ "type": "boolean"
6853
+ },
6854
+ "credentialHash": {
6855
+ "type": "string",
6856
+ "description": "Hash of the stored credential"
6857
+ },
6858
+ "credential": {
6859
+ "type": "object",
6860
+ "description": "The imported credential"
6861
+ }
6862
+ }
6863
+ }
6864
+ }
6865
+ }
6866
+ },
6867
+ "400": {
6868
+ "$ref": "#/components/schemas/InvalidRequest"
6869
+ },
6870
+ "401": {
6871
+ "$ref": "#/components/schemas/UnauthorizedError"
6872
+ },
6873
+ "500": {
6874
+ "$ref": "#/components/schemas/InternalError"
6875
+ }
6876
+ }
6877
+ }
6878
+ },
6879
+ "/credentials/received": {
6880
+ "get": {
6881
+ "tags": [
6882
+ "Verifiable Credentials"
6883
+ ],
6884
+ "summary": "List received credentials",
6885
+ "description": "Retrieves all credentials stored in the holder's dataStore (accepted offers + imported credentials)",
6886
+ "parameters": [
6887
+ {
6888
+ "in": "query",
6889
+ "name": "holderDid",
6890
+ "schema": {
6891
+ "type": "string"
6892
+ },
6893
+ "description": "Optional DID to filter credentials by subject"
6894
+ },
6895
+ {
6896
+ "in": "query",
6897
+ "name": "category",
6898
+ "required": false,
6899
+ "schema": {
6900
+ "type": "string",
6901
+ "enum": [
6902
+ "credential",
6903
+ "accreditation"
6904
+ ]
6905
+ },
6906
+ "description": "Optional category to filter by credential type. Note that imported credentials without IssuedCredentialEntity will be excluded when filtering by category."
6907
+ }
6908
+ ],
6909
+ "responses": {
6910
+ "200": {
6911
+ "description": "List of received credentials",
6912
+ "content": {
6913
+ "application/json": {
6914
+ "schema": {
6915
+ "type": "array",
6916
+ "items": {
6917
+ "type": "object",
6918
+ "description": "Verifiable Credential"
6919
+ }
6920
+ }
6921
+ }
6922
+ }
6923
+ },
6924
+ "401": {
6925
+ "$ref": "#/components/schemas/UnauthorizedError"
6926
+ },
6927
+ "500": {
6928
+ "$ref": "#/components/schemas/InternalError"
6929
+ }
6930
+ }
6931
+ }
6932
+ },
6933
+ "/credentials/received/{credentialHash}": {
6934
+ "get": {
6935
+ "tags": [
6936
+ "Verifiable Credentials"
6937
+ ],
6938
+ "summary": "Get a specific received credential",
6939
+ "description": "Retrieves a specific credential from the holder's dataStore by its hash",
6940
+ "parameters": [
6941
+ {
6942
+ "in": "path",
6943
+ "name": "credentialHash",
6944
+ "required": true,
6945
+ "schema": {
6946
+ "type": "string"
6947
+ },
6948
+ "description": "Hash of the credential"
6949
+ }
6950
+ ],
6951
+ "responses": {
6952
+ "200": {
6953
+ "description": "Received credential",
6954
+ "content": {
6955
+ "application/json": {
6956
+ "schema": {
6957
+ "type": "object",
6958
+ "description": "Verifiable Credential"
6959
+ }
6960
+ }
6961
+ }
6962
+ },
6963
+ "401": {
6964
+ "$ref": "#/components/schemas/UnauthorizedError"
6965
+ },
6966
+ "404": {
6967
+ "description": "Credential not found"
6968
+ },
6969
+ "500": {
6970
+ "$ref": "#/components/schemas/InternalError"
6971
+ }
6972
+ }
6973
+ }
6974
+ },
6497
6975
  "/resource/create/{did}": {
6498
6976
  "post": {
6499
6977
  "tags": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cheqd/studio",
3
- "version": "3.16.0-develop.11",
3
+ "version": "3.16.0-develop.12",
4
4
  "description": "cheqd Studio Backend",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",