@learncard/network-plugin 3.1.2 → 3.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAqBH,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAWvD,OAAO,EACH,sCAAsC,EACtC,sBAAsB,EACtB,iBAAiB,EAEpB,MAAM,SAAS,CAAC;AAUjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgcD,cAAc,SAAS,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,CAAC;AA0BzB;;GAEG;AACH,+CAA+C;AAC/C,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACnE,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,yBAAyB,CAC3C,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,sCAAsC,CAAC,EACvE,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,6BAA6B,GAClD,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnC,wBAAsB,yBAAyB,CAC3C,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,sCAAsC,CAAC,EACtE,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,6BAA6B,GACxC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AA2wFnC;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC7B,WAAW,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,EAC/C,0BAA0B,MAAM,KACjC,OAAO,CAAC,iBAAiB,CAgJ3B,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAqBH,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD,OAAO,EACH,sCAAsC,EACtC,sBAAsB,EACtB,iBAAiB,EAEpB,MAAM,SAAS,CAAC;AAUjB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAocD,cAAc,SAAS,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,CAAC;AA0BzB;;GAEG;AACH,+CAA+C;AAC/C,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACnE,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,yBAAyB,CAC3C,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,sCAAsC,CAAC,EACvE,GAAG,EAAE,MAAM,EACX,iBAAiB,CAAC,EAAE,6BAA6B,GAClD,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACnC,wBAAsB,yBAAyB,CAC3C,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,sCAAsC,CAAC,EACtE,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,6BAA6B,GACxC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AA2wFnC;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC7B,WAAW,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,eAAe,CAAC,EAC/C,0BAA0B,MAAM,KACjC,OAAO,CAAC,iBAAiB,CAgJ3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@learncard/network-plugin",
3
- "version": "3.1.2",
3
+ "version": "3.1.4",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -39,10 +39,10 @@
39
39
  "url": "https://github.com/learningeconomy/LearnCard/issues"
40
40
  },
41
41
  "devDependencies": {
42
- "@learncard/didkey-plugin": "^1.1.39",
43
- "@learncard/didkit-plugin": "^1.10.4",
44
- "@learncard/types": "5.23.1",
45
- "@learncard/vc-plugin": "^1.6.5",
42
+ "@learncard/didkey-plugin": "^1.1.40",
43
+ "@learncard/didkit-plugin": "^1.10.5",
44
+ "@learncard/types": "5.23.2",
45
+ "@learncard/vc-plugin": "^1.6.6",
46
46
  "@types/node": "^17.0.31",
47
47
  "aqu": "0.4.3",
48
48
  "esbuild": "^0.27.1",
@@ -52,9 +52,9 @@
52
52
  },
53
53
  "types": "./dist/index.d.ts",
54
54
  "dependencies": {
55
- "@learncard/core": "9.4.39",
56
- "@learncard/helpers": "1.6.3",
57
- "@learncard/network-brain-client": "2.5.61",
55
+ "@learncard/core": "9.4.40",
56
+ "@learncard/helpers": "1.7.0",
57
+ "@learncard/network-brain-client": "2.5.63",
58
58
  "mustache": "^4.2.0"
59
59
  },
60
60
  "sideEffects": false
package/src/plugin.ts CHANGED
@@ -30,6 +30,7 @@ import {
30
30
  getCredentialStatusArray,
31
31
  injectManagedRefreshService as injectSharedManagedRefreshService,
32
32
  isVC2Format,
33
+ materializeCredentialFields,
33
34
  isEncrypted,
34
35
  resolveStorageReadResult,
35
36
  } from '@learncard/helpers';
@@ -445,7 +446,11 @@ const issueCredentialWithNetworkStatus = async (
445
446
  statusPurposes?: BitstringCredentialStatusPurpose[]
446
447
  ): Promise<VC> => {
447
448
  return learnCard.invoke.issueCredential(
448
- await appendNetworkCredentialStatus(client, credential, statusPurposes)
449
+ await appendNetworkCredentialStatus(
450
+ client,
451
+ materializeCredentialFields(credential) as UnsignedVC,
452
+ statusPurposes
453
+ )
449
454
  );
450
455
  };
451
456
 
@@ -560,6 +560,41 @@ describe('unified send with refresh: true (managed branch)', () => {
560
560
  expect(client.credentialRefresh.sendRefreshableCredential.mutate).not.toHaveBeenCalled();
561
561
  });
562
562
 
563
+ it('materializes standard spreadsheet fields before ordinary local profile signing', async () => {
564
+ const client = getMockClient();
565
+ client.boost.getBoost.query.mockResolvedValue({
566
+ boost: getUnsignedBoostTemplate({
567
+ '@context': [
568
+ 'https://www.w3.org/ns/credentials/v2',
569
+ 'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',
570
+ ],
571
+ type: ['VerifiableCredential', 'OpenBadgeCredential'],
572
+ awardedDate: '{{award_date}}',
573
+ credentialSubject: {
574
+ id: 'did:example:subject',
575
+ creditsEarned: '{{credits}}',
576
+ result: [{ type: ['Result'], value: '{{grade}}' }],
577
+ },
578
+ }),
579
+ });
580
+ const learnCard = getMockIssuingLearnCard();
581
+ const plugin = await getPlugin(learnCard, client);
582
+ await plugin.methods?.send(learnCard, {
583
+ type: 'boost',
584
+ recipient: 'userb',
585
+ templateUri: 'did:web:network.example:boost:1',
586
+ templateData: { credits: '0', grade: 'A-', award_date: '2024-02-29' },
587
+ });
588
+ const signed = learnCard.invoke.issueCredential.mock.calls[0][0];
589
+ expect(signed.credentialSubject).toMatchObject({
590
+ creditsEarned: 0,
591
+ result: [{ value: 'A-' }],
592
+ });
593
+ expect(signed.awardedDate).toBe('2024-02-29T00:00:00.000Z');
594
+ expect(signed.validFrom).not.toBe(signed.awardedDate);
595
+ expect(signed.type).not.toContain('BoostCredential');
596
+ });
597
+
563
598
  it('keeps absent-refresh sends on their existing local branch with no allocation', async () => {
564
599
  const client = getMockClient();
565
600
  const learnCard = getMockIssuingLearnCard();