@learncard/learn-cloud-plugin 1.0.5 → 1.1.0
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/dist/helpers.d.ts +3 -3
- package/dist/learn-cloud-plugin.cjs.development.js +177 -12
- package/dist/learn-cloud-plugin.cjs.development.js.map +3 -3
- package/dist/learn-cloud-plugin.cjs.production.min.js +12 -12
- package/dist/learn-cloud-plugin.cjs.production.min.js.map +3 -3
- package/dist/learn-cloud-plugin.esm.js +177 -12
- package/dist/learn-cloud-plugin.esm.js.map +3 -3
- package/dist/plugin.d.ts +1 -1
- package/dist/types.d.ts +15 -4
- package/package.json +7 -6
|
@@ -6959,6 +6959,7 @@ var require_types_cjs_development = __commonJS2({
|
|
|
6959
6959
|
CredentialSubjectValidator: () => CredentialSubjectValidator2,
|
|
6960
6960
|
CriteriaValidator: () => CriteriaValidator2,
|
|
6961
6961
|
EncryptedCredentialRecordValidator: () => EncryptedCredentialRecordValidator2,
|
|
6962
|
+
EncryptedRecordValidator: () => EncryptedRecordValidator2,
|
|
6962
6963
|
EndorsementCredentialValidator: () => EndorsementCredentialValidator2,
|
|
6963
6964
|
EndorsementSubjectValidator: () => EndorsementSubjectValidator2,
|
|
6964
6965
|
EvidenceValidator: () => EvidenceValidator2,
|
|
@@ -6984,6 +6985,7 @@ var require_types_cjs_development = __commonJS2({
|
|
|
6984
6985
|
LCNSigningAuthorityForUserValidator: () => LCNSigningAuthorityForUserValidator2,
|
|
6985
6986
|
LCNSigningAuthorityValidator: () => LCNSigningAuthorityValidator2,
|
|
6986
6987
|
PaginatedEncryptedCredentialRecordsValidator: () => PaginatedEncryptedCredentialRecordsValidator2,
|
|
6988
|
+
PaginatedEncryptedRecordsValidator: () => PaginatedEncryptedRecordsValidator2,
|
|
6987
6989
|
PaginationOptionsValidator: () => PaginationOptionsValidator2,
|
|
6988
6990
|
PaginationResponseValidator: () => PaginationResponseValidator2,
|
|
6989
6991
|
ProfileValidator: () => ProfileValidator2,
|
|
@@ -10749,11 +10751,13 @@ var require_types_cjs_development = __commonJS2({
|
|
|
10749
10751
|
aad: mod2.string().optional(),
|
|
10750
10752
|
recipients: JWERecipientValidator2.array().optional()
|
|
10751
10753
|
});
|
|
10752
|
-
var
|
|
10753
|
-
|
|
10754
|
-
|
|
10754
|
+
var EncryptedRecordValidator2 = mod2.object({ encryptedRecord: JWEValidator2, fields: mod2.string().array() }).catchall(mod2.any());
|
|
10755
|
+
var PaginatedEncryptedRecordsValidator2 = PaginationResponseValidator2.extend({
|
|
10756
|
+
records: EncryptedRecordValidator2.array()
|
|
10757
|
+
});
|
|
10758
|
+
var EncryptedCredentialRecordValidator2 = EncryptedRecordValidator2.extend({
|
|
10755
10759
|
id: mod2.string()
|
|
10756
|
-
})
|
|
10760
|
+
});
|
|
10757
10761
|
var PaginatedEncryptedCredentialRecordsValidator2 = PaginationResponseValidator2.extend({
|
|
10758
10762
|
records: EncryptedCredentialRecordValidator2.array()
|
|
10759
10763
|
});
|
|
@@ -14571,11 +14575,13 @@ var JWEValidator = mod.object({
|
|
|
14571
14575
|
aad: mod.string().optional(),
|
|
14572
14576
|
recipients: JWERecipientValidator.array().optional()
|
|
14573
14577
|
});
|
|
14574
|
-
var
|
|
14575
|
-
|
|
14576
|
-
|
|
14578
|
+
var EncryptedRecordValidator = mod.object({ encryptedRecord: JWEValidator, fields: mod.string().array() }).catchall(mod.any());
|
|
14579
|
+
var PaginatedEncryptedRecordsValidator = PaginationResponseValidator.extend({
|
|
14580
|
+
records: EncryptedRecordValidator.array()
|
|
14581
|
+
});
|
|
14582
|
+
var EncryptedCredentialRecordValidator = EncryptedRecordValidator.extend({
|
|
14577
14583
|
id: mod.string()
|
|
14578
|
-
})
|
|
14584
|
+
});
|
|
14579
14585
|
var PaginatedEncryptedCredentialRecordsValidator = PaginationResponseValidator.extend({
|
|
14580
14586
|
records: EncryptedCredentialRecordValidator.array()
|
|
14581
14587
|
});
|
|
@@ -14778,7 +14784,7 @@ var getLearnCloudClient = /* @__PURE__ */ __name(async (url, learnCard) => {
|
|
|
14778
14784
|
return jwt;
|
|
14779
14785
|
});
|
|
14780
14786
|
}, "getLearnCloudClient");
|
|
14781
|
-
var getLearnCloudPlugin = /* @__PURE__ */ __name(async (initialLearnCard, url, unencryptedFields = []) => {
|
|
14787
|
+
var getLearnCloudPlugin = /* @__PURE__ */ __name(async (initialLearnCard, url, unencryptedFields = [], unencryptedCustomFields = []) => {
|
|
14782
14788
|
let learnCard = initialLearnCard;
|
|
14783
14789
|
learnCard.debug?.("Adding LearnCloud Plugin");
|
|
14784
14790
|
let client = await getLearnCloudClient(url, learnCard);
|
|
@@ -14804,7 +14810,166 @@ var getLearnCloudPlugin = /* @__PURE__ */ __name(async (initialLearnCard, url, u
|
|
|
14804
14810
|
name: "LearnCloud",
|
|
14805
14811
|
displayName: "LearnCloud",
|
|
14806
14812
|
description: "LearnCloud Integration",
|
|
14807
|
-
methods: {
|
|
14813
|
+
methods: {
|
|
14814
|
+
learnCloudCreate: async (_learnCard, document) => {
|
|
14815
|
+
await updateLearnCard(_learnCard);
|
|
14816
|
+
const item = await generateEncryptedRecord(
|
|
14817
|
+
_learnCard,
|
|
14818
|
+
document,
|
|
14819
|
+
unencryptedCustomFields
|
|
14820
|
+
);
|
|
14821
|
+
return client.customStorage.create.mutate({
|
|
14822
|
+
item: await generateJWE(_learnCard, learnCloudDid, item)
|
|
14823
|
+
});
|
|
14824
|
+
},
|
|
14825
|
+
learnCloudCreateMany: async (_learnCard, documents) => {
|
|
14826
|
+
await updateLearnCard(_learnCard);
|
|
14827
|
+
const items = await Promise.all(
|
|
14828
|
+
documents.map(
|
|
14829
|
+
async (document) => generateEncryptedRecord(_learnCard, document, unencryptedCustomFields)
|
|
14830
|
+
)
|
|
14831
|
+
);
|
|
14832
|
+
return client.customStorage.createMany.mutate({
|
|
14833
|
+
items: await generateJWE(_learnCard, learnCloudDid, items)
|
|
14834
|
+
});
|
|
14835
|
+
},
|
|
14836
|
+
learnCloudRead: async (_learnCard, query, includeAssociatedDids) => {
|
|
14837
|
+
await updateLearnCard(_learnCard);
|
|
14838
|
+
const documents = [];
|
|
14839
|
+
let result = await _learnCard.invoke.learnCloudReadPage(
|
|
14840
|
+
query,
|
|
14841
|
+
{},
|
|
14842
|
+
includeAssociatedDids
|
|
14843
|
+
);
|
|
14844
|
+
documents.push(...result.records);
|
|
14845
|
+
while (result.hasMore) {
|
|
14846
|
+
result = await _learnCard.invoke.learnCloudReadPage(
|
|
14847
|
+
query,
|
|
14848
|
+
{},
|
|
14849
|
+
includeAssociatedDids
|
|
14850
|
+
);
|
|
14851
|
+
documents.push(...result.records);
|
|
14852
|
+
}
|
|
14853
|
+
return documents;
|
|
14854
|
+
},
|
|
14855
|
+
learnCloudReadPage: async (_learnCard, query, paginationOptions, includeAssociatedDids) => {
|
|
14856
|
+
await updateLearnCard(_learnCard);
|
|
14857
|
+
if (!query) {
|
|
14858
|
+
const jwe2 = await client.customStorage.read.query({
|
|
14859
|
+
includeAssociatedDids,
|
|
14860
|
+
...paginationOptions
|
|
14861
|
+
});
|
|
14862
|
+
const encryptedRecords2 = isEncrypted(jwe2) ? await decryptJWE(_learnCard, jwe2) : jwe2;
|
|
14863
|
+
return {
|
|
14864
|
+
...encryptedRecords2,
|
|
14865
|
+
records: await Promise.all(
|
|
14866
|
+
encryptedRecords2.records.map(async (record) => ({
|
|
14867
|
+
...await decryptJWE(
|
|
14868
|
+
_learnCard,
|
|
14869
|
+
record.encryptedRecord
|
|
14870
|
+
),
|
|
14871
|
+
_id: record._id
|
|
14872
|
+
}))
|
|
14873
|
+
)
|
|
14874
|
+
};
|
|
14875
|
+
}
|
|
14876
|
+
const fields = await generateEncryptedFieldsArray(_learnCard, query, [
|
|
14877
|
+
...unencryptedCustomFields,
|
|
14878
|
+
"_id"
|
|
14879
|
+
]);
|
|
14880
|
+
const unencryptedEntries = Object.fromEntries(
|
|
14881
|
+
Object.entries(query).filter(
|
|
14882
|
+
([key]) => [...unencryptedCustomFields, "_id"].includes(key)
|
|
14883
|
+
)
|
|
14884
|
+
);
|
|
14885
|
+
const jwe = await client.customStorage.read.query({
|
|
14886
|
+
query: await generateJWE(_learnCard, learnCloudDid, {
|
|
14887
|
+
...unencryptedEntries,
|
|
14888
|
+
...fields.length > 0 ? { fields: { $in: fields } } : {}
|
|
14889
|
+
}),
|
|
14890
|
+
...paginationOptions,
|
|
14891
|
+
includeAssociatedDids
|
|
14892
|
+
});
|
|
14893
|
+
const encryptedRecords = isEncrypted(jwe) ? await decryptJWE(_learnCard, jwe) : jwe;
|
|
14894
|
+
return {
|
|
14895
|
+
...encryptedRecords,
|
|
14896
|
+
records: await Promise.all(
|
|
14897
|
+
encryptedRecords.records.map(async (record) => ({
|
|
14898
|
+
...await decryptJWE(
|
|
14899
|
+
_learnCard,
|
|
14900
|
+
record.encryptedRecord
|
|
14901
|
+
),
|
|
14902
|
+
_id: record._id
|
|
14903
|
+
}))
|
|
14904
|
+
)
|
|
14905
|
+
};
|
|
14906
|
+
},
|
|
14907
|
+
learnCloudCount: async (_learnCard, query, includeAssociatedDids) => {
|
|
14908
|
+
await updateLearnCard(_learnCard);
|
|
14909
|
+
if (!query)
|
|
14910
|
+
return client.customStorage.count.query({ includeAssociatedDids });
|
|
14911
|
+
const fields = await generateEncryptedFieldsArray(_learnCard, query, [
|
|
14912
|
+
...unencryptedCustomFields,
|
|
14913
|
+
"_id"
|
|
14914
|
+
]);
|
|
14915
|
+
const unencryptedEntries = Object.fromEntries(
|
|
14916
|
+
Object.entries(query).filter(
|
|
14917
|
+
([key]) => [...unencryptedCustomFields, "_id"].includes(key)
|
|
14918
|
+
)
|
|
14919
|
+
);
|
|
14920
|
+
return client.customStorage.count.query({
|
|
14921
|
+
query: await generateJWE(_learnCard, learnCloudDid, {
|
|
14922
|
+
...unencryptedEntries,
|
|
14923
|
+
...fields.length > 0 ? { fields: { $in: fields } } : {}
|
|
14924
|
+
}),
|
|
14925
|
+
includeAssociatedDids
|
|
14926
|
+
});
|
|
14927
|
+
},
|
|
14928
|
+
learnCloudUpdate: async (_learnCard, query, update) => {
|
|
14929
|
+
await updateLearnCard(_learnCard);
|
|
14930
|
+
const documents = await _learnCard.invoke.learnCloudRead(query);
|
|
14931
|
+
const updates = await Promise.all(
|
|
14932
|
+
documents.map(
|
|
14933
|
+
async (document) => client.customStorage.update.mutate({
|
|
14934
|
+
query: await generateJWE(_learnCard, learnCloudDid, {
|
|
14935
|
+
_id: document._id
|
|
14936
|
+
}),
|
|
14937
|
+
update: await generateJWE(
|
|
14938
|
+
_learnCard,
|
|
14939
|
+
learnCloudDid,
|
|
14940
|
+
await generateEncryptedRecord(
|
|
14941
|
+
_learnCard,
|
|
14942
|
+
{ ...document, ...update },
|
|
14943
|
+
unencryptedCustomFields
|
|
14944
|
+
)
|
|
14945
|
+
)
|
|
14946
|
+
})
|
|
14947
|
+
)
|
|
14948
|
+
);
|
|
14949
|
+
return updates.reduce((sum, current) => current + sum, 0);
|
|
14950
|
+
},
|
|
14951
|
+
learnCloudDelete: async (_learnCard, query, includeAssociatedDids) => {
|
|
14952
|
+
await updateLearnCard(_learnCard);
|
|
14953
|
+
if (!query)
|
|
14954
|
+
return client.customStorage.delete.mutate({ includeAssociatedDids });
|
|
14955
|
+
const fields = await generateEncryptedFieldsArray(_learnCard, query, [
|
|
14956
|
+
...unencryptedCustomFields,
|
|
14957
|
+
"_id"
|
|
14958
|
+
]);
|
|
14959
|
+
const unencryptedEntries = Object.fromEntries(
|
|
14960
|
+
Object.entries(query).filter(
|
|
14961
|
+
([key]) => [...unencryptedCustomFields, "_id"].includes(key)
|
|
14962
|
+
)
|
|
14963
|
+
);
|
|
14964
|
+
return client.customStorage.delete.mutate({
|
|
14965
|
+
query: await generateJWE(_learnCard, learnCloudDid, {
|
|
14966
|
+
...unencryptedEntries,
|
|
14967
|
+
...fields.length > 0 ? { fields: { $in: fields } } : {}
|
|
14968
|
+
}),
|
|
14969
|
+
includeAssociatedDids
|
|
14970
|
+
});
|
|
14971
|
+
}
|
|
14972
|
+
},
|
|
14808
14973
|
read: {
|
|
14809
14974
|
get: async (_learnCard, uri) => {
|
|
14810
14975
|
if (!uri)
|
|
@@ -14888,7 +15053,7 @@ var getLearnCloudPlugin = /* @__PURE__ */ __name(async (initialLearnCard, url, u
|
|
|
14888
15053
|
const jwe = await client.index.get.query({
|
|
14889
15054
|
query: await generateJWE(_learnCard, learnCloudDid, {
|
|
14890
15055
|
...unencryptedEntries,
|
|
14891
|
-
fields: { $in: fields }
|
|
15056
|
+
...fields.length > 0 ? { fields: { $in: fields } } : {}
|
|
14892
15057
|
}),
|
|
14893
15058
|
...paginationOptions
|
|
14894
15059
|
});
|
|
@@ -14934,7 +15099,7 @@ var getLearnCloudPlugin = /* @__PURE__ */ __name(async (initialLearnCard, url, u
|
|
|
14934
15099
|
const jwe = await client.index.count.query({
|
|
14935
15100
|
query: await generateJWE(_learnCard, learnCloudDid, {
|
|
14936
15101
|
...unencryptedEntries,
|
|
14937
|
-
fields: { $in: fields }
|
|
15102
|
+
...fields.length > 0 ? { fields: { $in: fields } } : {}
|
|
14938
15103
|
})
|
|
14939
15104
|
});
|
|
14940
15105
|
_learnCard.debug?.("LearnCloud index.count (query response)", jwe);
|