@ajna-inc/openbadges 0.1.0 → 0.1.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.
@@ -2,6 +2,7 @@ import { AgentContext } from '@credo-ts/core';
2
2
  import { IssuerService } from '../services/IssuerService';
3
3
  import { VerifyService, ConsumerService } from '../services';
4
4
  import { KeyService } from '../services/KeyService';
5
+ import { OpenBadgeCredentialRepository } from '../repository/OpenBadgeCredentialRepository';
5
6
  import type { EndorsementCredentialInput } from '../models/EndorsementCredential';
6
7
  import type { ClrCredentialInput } from '../models/ClrCredential';
7
8
  export declare class OpenBadgesApi {
@@ -9,8 +10,9 @@ export declare class OpenBadgesApi {
9
10
  private readonly verifyService;
10
11
  private readonly consumerService;
11
12
  private readonly keys;
13
+ private readonly credentialRepository;
12
14
  private readonly agentContext;
13
- constructor(issuerService: IssuerService, verifyService: VerifyService, consumerService: ConsumerService, keys: KeyService, agentContext: AgentContext);
15
+ constructor(issuerService: IssuerService, verifyService: VerifyService, consumerService: ConsumerService, keys: KeyService, credentialRepository: OpenBadgeCredentialRepository, agentContext: AgentContext);
14
16
  issue(input: any): Promise<import("..").OpenBadgeCredentialRecord>;
15
17
  /**
16
18
  * Issues an EndorsementCredential - a third-party validation credential
@@ -45,4 +47,13 @@ export declare class OpenBadgesApi {
45
47
  * @returns The saved credential record
46
48
  */
47
49
  issueClr(input: ClrCredentialInput): Promise<import("..").OpenBadgeCredentialRecord>;
50
+ issueCredential(input: any): Promise<import("..").OpenBadgeCredentialRecord>;
51
+ verifyCredential(credentialOrJwt: unknown): Promise<{
52
+ isValidStructure: boolean;
53
+ issues: import("..").ValidationIssue[];
54
+ status: string;
55
+ proofVerified: boolean;
56
+ }>;
57
+ getAllCredentials(): Promise<unknown[]>;
58
+ getCredentialById(credentialId: string): Promise<{} | null>;
48
59
  }
@@ -17,12 +17,14 @@ const core_1 = require("@credo-ts/core");
17
17
  const IssuerService_1 = require("../services/IssuerService");
18
18
  const services_1 = require("../services");
19
19
  const KeyService_1 = require("../services/KeyService");
20
+ const OpenBadgeCredentialRepository_1 = require("../repository/OpenBadgeCredentialRepository");
20
21
  let OpenBadgesApi = class OpenBadgesApi {
21
- constructor(issuerService, verifyService, consumerService, keys, agentContext) {
22
+ constructor(issuerService, verifyService, consumerService, keys, credentialRepository, agentContext) {
22
23
  this.issuerService = issuerService;
23
24
  this.verifyService = verifyService;
24
25
  this.consumerService = consumerService;
25
26
  this.keys = keys;
27
+ this.credentialRepository = credentialRepository;
26
28
  this.agentContext = agentContext;
27
29
  }
28
30
  async issue(input) {
@@ -67,15 +69,34 @@ let OpenBadgesApi = class OpenBadgesApi {
67
69
  console.log('[OB] OpenBadgesApi.issueClr() stored record id:', res?.id);
68
70
  return res;
69
71
  }
72
+ // Alias methods for backend compatibility
73
+ async issueCredential(input) {
74
+ return this.issue(input);
75
+ }
76
+ async verifyCredential(credentialOrJwt) {
77
+ return this.verify(credentialOrJwt);
78
+ }
79
+ async getAllCredentials() {
80
+ console.log('[OB] OpenBadgesApi.getAllCredentials() called');
81
+ const records = await this.credentialRepository.getAll(this.agentContext);
82
+ return records.map((r) => r.credential);
83
+ }
84
+ async getCredentialById(credentialId) {
85
+ console.log('[OB] OpenBadgesApi.getCredentialById() called:', credentialId);
86
+ const record = await this.credentialRepository.findByCredentialId(this.agentContext, credentialId);
87
+ return record?.credential ?? null;
88
+ }
70
89
  };
71
90
  exports.OpenBadgesApi = OpenBadgesApi;
72
91
  exports.OpenBadgesApi = OpenBadgesApi = __decorate([
73
92
  (0, core_1.injectable)(),
74
93
  __param(3, (0, core_1.inject)(KeyService_1.KeyService)),
94
+ __param(4, (0, core_1.inject)(OpenBadgeCredentialRepository_1.OpenBadgeCredentialRepository)),
75
95
  __metadata("design:paramtypes", [IssuerService_1.IssuerService,
76
96
  services_1.VerifyService,
77
97
  services_1.ConsumerService,
78
98
  KeyService_1.KeyService,
99
+ OpenBadgeCredentialRepository_1.OpenBadgeCredentialRepository,
79
100
  core_1.AgentContext])
80
101
  ], OpenBadgesApi);
81
102
  //# sourceMappingURL=OpenBadgesApi.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenBadgesApi.js","sourceRoot":"","sources":["../../src/api/OpenBadgesApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAiE;AACjE,6DAAyD;AACzD,0CAA4D;AAC5D,uDAAmD;AAK5C,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YACmB,aAA4B,EAC5B,aAA4B,EAC5B,eAAgC,EACZ,IAAgB,EACpC,YAA0B;QAJ1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QACZ,SAAI,GAAJ,IAAI,CAAY;QACpC,iBAAY,GAAZ,YAAY,CAAc;IAC1C,CAAC;IAEG,KAAK,CAAC,KAAK,CAAC,KAAU;QAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,YAAuC,EAAE,KAAK,CAAC,CAAA;QACzG,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAG,GAAW,EAAE,EAAE,CAAC,CAAA;QAC7E,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAAC,KAAiC;QAC7D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAuC,EAAE,KAAK,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAG,GAAW,EAAE,EAAE,CAAC,CAAA;QACxF,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,eAAwB;QAC1C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAuC,EAAE,eAAe,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;QACvD,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,OAAmC;QACzE,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,YAAuC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACvG,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,IAAY;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAuC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACpG,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAyB;QAC7C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAuC,EAAE,KAAK,CAAC,CAAA;QAClG,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAG,GAAW,EAAE,EAAE,CAAC,CAAA;QAChF,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAA;AAxDY,sCAAa;wBAAb,aAAa;IADzB,IAAA,iBAAU,GAAE;IAMR,WAAA,IAAA,aAAM,EAAC,uBAAU,CAAC,CAAA;qCAHa,6BAAa;QACb,wBAAa;QACX,0BAAe;QACN,uBAAU;QACtB,mBAAY;GANlC,aAAa,CAwDzB"}
1
+ {"version":3,"file":"OpenBadgesApi.js","sourceRoot":"","sources":["../../src/api/OpenBadgesApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,yCAAiE;AACjE,6DAAyD;AACzD,0CAA4D;AAC5D,uDAAmD;AACnD,+FAA2F;AAKpF,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YACmB,aAA4B,EAC5B,aAA4B,EAC5B,eAAgC,EACZ,IAAgB,EACG,oBAAmD,EAC1F,YAA0B;QAL1B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAe;QAC5B,oBAAe,GAAf,eAAe,CAAiB;QACZ,SAAI,GAAJ,IAAI,CAAY;QACG,yBAAoB,GAApB,oBAAoB,CAA+B;QAC1F,iBAAY,GAAZ,YAAY,CAAc;IAC1C,CAAC;IAEG,KAAK,CAAC,KAAK,CAAC,KAAU;QAC3B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;QAChD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,YAAuC,EAAE,KAAK,CAAC,CAAA;QACzG,OAAO,CAAC,GAAG,CAAC,8CAA8C,EAAG,GAAW,EAAE,EAAE,CAAC,CAAA;QAC7E,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAAC,KAAiC;QAC7D,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;QAC3D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAuC,EAAE,KAAK,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAG,GAAW,EAAE,EAAE,CAAC,CAAA;QACxF,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,eAAwB;QAC1C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,YAAuC,EAAE,eAAe,CAAC,CAAA;QAC1G,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAA;QACvD,OAAO,GAAG,CAAA;IACZ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,OAAmC;QACzE,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,YAAuC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACvG,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,IAAY;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAuC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACpG,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAyB;QAC7C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;QACnD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAuC,EAAE,KAAK,CAAC,CAAA;QAClG,OAAO,CAAC,GAAG,CAAC,iDAAiD,EAAG,GAAW,EAAE,EAAE,CAAC,CAAA;QAChF,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,0CAA0C;IACnC,KAAK,CAAC,eAAe,CAAC,KAAU;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,eAAwB;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACrC,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACzE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QACjD,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,YAAY,CAAC,CAAA;QAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAClG,OAAO,MAAM,EAAE,UAAU,IAAI,IAAI,CAAA;IACnC,CAAC;CACF,CAAA;AA9EY,sCAAa;wBAAb,aAAa;IADzB,IAAA,iBAAU,GAAE;IAMR,WAAA,IAAA,aAAM,EAAC,uBAAU,CAAC,CAAA;IAClB,WAAA,IAAA,aAAM,EAAC,6DAA6B,CAAC,CAAA;qCAJN,6BAAa;QACb,wBAAa;QACX,0BAAe;QACN,uBAAU;QACyB,6DAA6B;QAC5E,mBAAY;GAPlC,aAAa,CA8EzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ajna-inc/openbadges",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "OpenBadges v3.0 module for Credo-TS with OAuth 2.0 provider support",
5
5
  "license": "Apache-2.0",
6
6
  "main": "build/index",