@powerhousedao/renown-package 0.0.7 → 0.0.32
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/document-models/index.d.ts +1 -0
- package/dist/document-models/index.d.ts.map +1 -0
- package/dist/document-models/index.js +1 -0
- package/dist/document-models/renown-credential/gen/actions.d.ts +1 -0
- package/dist/document-models/renown-credential/gen/actions.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/creators.d.ts +1 -0
- package/dist/document-models/renown-credential/gen/creators.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/document-model.d.ts +3 -2
- package/dist/document-models/renown-credential/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/document-model.js +3 -73
- package/dist/document-models/renown-credential/gen/index.d.ts +1 -2
- package/dist/document-models/renown-credential/gen/index.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/index.js +0 -1
- package/dist/document-models/renown-credential/gen/manager/actions.d.ts +3 -14
- package/dist/document-models/renown-credential/gen/manager/actions.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/manager/actions.js +1 -1
- package/dist/document-models/renown-credential/gen/manager/creators.d.ts +3 -5
- package/dist/document-models/renown-credential/gen/manager/creators.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/manager/creators.js +3 -5
- package/dist/document-models/renown-credential/gen/manager/error.d.ts +9 -23
- package/dist/document-models/renown-credential/gen/manager/error.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/manager/error.js +19 -38
- package/dist/document-models/renown-credential/gen/manager/operations.d.ts +2 -4
- package/dist/document-models/renown-credential/gen/manager/operations.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/manager/operations.js +3 -1
- package/dist/document-models/renown-credential/gen/ph-factories.d.ts +7 -10
- package/dist/document-models/renown-credential/gen/ph-factories.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/ph-factories.js +23 -15
- package/dist/document-models/renown-credential/gen/reducer.d.ts +3 -2
- package/dist/document-models/renown-credential/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/reducer.js +1 -16
- package/dist/document-models/renown-credential/gen/schema/index.d.ts +1 -0
- package/dist/document-models/renown-credential/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/schema/types.d.ts +83 -117
- package/dist/document-models/renown-credential/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/schema/zod.d.ts +15 -4
- package/dist/document-models/renown-credential/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/schema/zod.js +129 -35
- package/dist/document-models/renown-credential/gen/types.d.ts +10 -6
- package/dist/document-models/renown-credential/gen/types.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/types.js +1 -0
- package/dist/document-models/renown-credential/gen/utils.d.ts +10 -19
- package/dist/document-models/renown-credential/gen/utils.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/utils.js +48 -47
- package/dist/document-models/renown-credential/index.d.ts +13 -9
- package/dist/document-models/renown-credential/index.d.ts.map +1 -0
- package/dist/document-models/renown-credential/index.js +4 -3
- package/dist/document-models/renown-credential/src/reducers/manager.d.ts +1 -0
- package/dist/document-models/renown-credential/src/reducers/manager.d.ts.map +1 -0
- package/dist/document-models/renown-credential/src/reducers/manager.js +46 -121
- package/dist/document-models/renown-credential/src/tests/document-model.test.d.ts +1 -0
- package/dist/document-models/renown-credential/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/renown-credential/src/tests/document-model.test.js +1 -1
- package/dist/document-models/renown-credential/src/tests/manager.test.d.ts +1 -0
- package/dist/document-models/renown-credential/src/tests/manager.test.d.ts.map +1 -0
- package/dist/document-models/renown-credential/src/utils.d.ts +1 -0
- package/dist/document-models/renown-credential/src/utils.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/actions.d.ts +1 -0
- package/dist/document-models/renown-user/gen/actions.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/creators.d.ts +1 -0
- package/dist/document-models/renown-user/gen/creators.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/document-model.d.ts +3 -2
- package/dist/document-models/renown-user/gen/document-model.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/index.d.ts +1 -2
- package/dist/document-models/renown-user/gen/index.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/index.js +0 -1
- package/dist/document-models/renown-user/gen/ph-factories.d.ts +7 -10
- package/dist/document-models/renown-user/gen/ph-factories.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/ph-factories.js +1 -4
- package/dist/document-models/renown-user/gen/profile/actions.d.ts +1 -0
- package/dist/document-models/renown-user/gen/profile/actions.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/profile/actions.js +1 -1
- package/dist/document-models/renown-user/gen/profile/creators.d.ts +1 -0
- package/dist/document-models/renown-user/gen/profile/creators.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/profile/creators.js +2 -1
- package/dist/document-models/renown-user/gen/profile/error.d.ts +1 -0
- package/dist/document-models/renown-user/gen/profile/error.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/profile/operations.d.ts +1 -0
- package/dist/document-models/renown-user/gen/profile/operations.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/profile/operations.js +3 -1
- package/dist/document-models/renown-user/gen/reducer.d.ts +3 -2
- package/dist/document-models/renown-user/gen/reducer.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/reducer.js +1 -4
- package/dist/document-models/renown-user/gen/schema/index.d.ts +1 -0
- package/dist/document-models/renown-user/gen/schema/index.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/schema/types.d.ts +1 -0
- package/dist/document-models/renown-user/gen/schema/types.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/schema/zod.d.ts +1 -0
- package/dist/document-models/renown-user/gen/schema/zod.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/types.d.ts +10 -6
- package/dist/document-models/renown-user/gen/types.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/types.js +1 -0
- package/dist/document-models/renown-user/gen/utils.d.ts +10 -19
- package/dist/document-models/renown-user/gen/utils.d.ts.map +1 -0
- package/dist/document-models/renown-user/gen/utils.js +26 -36
- package/dist/document-models/renown-user/index.d.ts +14 -7
- package/dist/document-models/renown-user/index.d.ts.map +1 -0
- package/dist/document-models/renown-user/index.js +4 -3
- package/dist/document-models/renown-user/src/reducers/profile.d.ts +1 -0
- package/dist/document-models/renown-user/src/reducers/profile.d.ts.map +1 -0
- package/dist/document-models/renown-user/src/tests/document-model.test.d.ts +1 -0
- package/dist/document-models/renown-user/src/tests/document-model.test.d.ts.map +1 -0
- package/dist/document-models/renown-user/src/tests/document-model.test.js +1 -1
- package/dist/document-models/renown-user/src/tests/profile.test.d.ts +1 -0
- package/dist/document-models/renown-user/src/tests/profile.test.d.ts.map +1 -0
- package/dist/document-models/renown-user/src/utils.d.ts +1 -0
- package/dist/document-models/renown-user/src/utils.d.ts.map +1 -0
- package/dist/editors/hooks/useRenownCredentialDocument.d.ts +1 -0
- package/dist/editors/hooks/useRenownCredentialDocument.d.ts.map +1 -0
- package/dist/editors/hooks/useRenownUserDocument.d.ts +1 -0
- package/dist/editors/hooks/useRenownUserDocument.d.ts.map +1 -0
- package/dist/editors/index.d.ts +1 -0
- package/dist/editors/index.d.ts.map +1 -0
- package/dist/editors/index.js +1 -0
- package/dist/editors/renown-credential-editor/editor.d.ts +1 -0
- package/dist/editors/renown-credential-editor/editor.d.ts.map +1 -0
- package/dist/editors/renown-credential-editor/editor.js +7 -71
- package/dist/editors/renown-credential-editor/index.d.ts +1 -0
- package/dist/editors/renown-credential-editor/index.d.ts.map +1 -0
- package/dist/editors/renown-credential-editor/index.js +1 -3
- package/dist/editors/renown-user-editor/editor.d.ts +1 -0
- package/dist/editors/renown-user-editor/editor.d.ts.map +1 -0
- package/dist/editors/renown-user-editor/editor.js +1 -1
- package/dist/editors/renown-user-editor/index.d.ts +1 -0
- package/dist/editors/renown-user-editor/index.d.ts.map +1 -0
- package/dist/editors/renown-user-editor/index.js +1 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/processors/factory.d.ts +4 -2
- package/dist/processors/factory.d.ts.map +1 -0
- package/dist/processors/factory.js +4 -0
- package/dist/processors/index.d.ts +2 -0
- package/dist/processors/index.d.ts.map +1 -0
- package/dist/processors/index.js +2 -0
- package/dist/processors/renown-credential/factory.d.ts +8 -0
- package/dist/processors/renown-credential/factory.d.ts.map +1 -0
- package/dist/processors/renown-credential/factory.js +25 -0
- package/dist/processors/renown-credential/index.d.ts +8 -2
- package/dist/processors/renown-credential/index.d.ts.map +1 -0
- package/dist/processors/renown-credential/index.js +77 -71
- package/dist/processors/renown-credential/migrations.d.ts +2 -1
- package/dist/processors/renown-credential/migrations.d.ts.map +1 -0
- package/dist/processors/renown-credential/migrations.js +53 -22
- package/dist/processors/renown-credential/schema.d.ts +19 -13
- package/dist/processors/renown-credential/schema.d.ts.map +1 -0
- package/dist/processors/renown-user/factory.d.ts +2 -1
- package/dist/processors/renown-user/factory.d.ts.map +1 -0
- package/dist/processors/renown-user/factory.js +4 -1
- package/dist/processors/renown-user/index.d.ts +3 -2
- package/dist/processors/renown-user/index.d.ts.map +1 -0
- package/dist/processors/renown-user/index.js +3 -1
- package/dist/processors/renown-user/migrations.d.ts +2 -1
- package/dist/processors/renown-user/migrations.d.ts.map +1 -0
- package/dist/processors/renown-user/migrations.js +1 -0
- package/dist/processors/renown-user/schema.d.ts +1 -0
- package/dist/processors/renown-user/schema.d.ts.map +1 -0
- package/dist/style.css +132 -17106
- package/dist/subgraphs/index.d.ts +1 -0
- package/dist/subgraphs/index.d.ts.map +1 -0
- package/dist/subgraphs/index.js +1 -0
- package/dist/subgraphs/renown-credential/index.d.ts +3 -2
- package/dist/subgraphs/renown-credential/index.d.ts.map +1 -0
- package/dist/subgraphs/renown-credential/index.js +2 -2
- package/dist/subgraphs/renown-credential/resolvers.d.ts +3 -2
- package/dist/subgraphs/renown-credential/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/renown-credential/resolvers.js +0 -36
- package/dist/subgraphs/renown-credential/schema.d.ts +1 -0
- package/dist/subgraphs/renown-credential/schema.d.ts.map +1 -0
- package/dist/subgraphs/renown-credential/schema.js +97 -50
- package/dist/subgraphs/renown-read-model/index.d.ts +3 -2
- package/dist/subgraphs/renown-read-model/index.d.ts.map +1 -0
- package/dist/subgraphs/renown-read-model/index.js +2 -2
- package/dist/subgraphs/renown-read-model/resolvers.d.ts +3 -2
- package/dist/subgraphs/renown-read-model/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/renown-read-model/resolvers.js +35 -36
- package/dist/subgraphs/renown-read-model/schema.d.ts +1 -0
- package/dist/subgraphs/renown-read-model/schema.d.ts.map +1 -0
- package/dist/subgraphs/renown-read-model/schema.js +20 -19
- package/dist/subgraphs/renown-user/index.d.ts +3 -2
- package/dist/subgraphs/renown-user/index.d.ts.map +1 -0
- package/dist/subgraphs/renown-user/index.js +2 -2
- package/dist/subgraphs/renown-user/resolvers.d.ts +3 -2
- package/dist/subgraphs/renown-user/resolvers.d.ts.map +1 -0
- package/dist/subgraphs/renown-user/schema.d.ts +1 -0
- package/dist/subgraphs/renown-user/schema.d.ts.map +1 -0
- package/dist/vite.config.d.ts +3 -0
- package/dist/vite.config.d.ts.map +1 -0
- package/dist/vite.config.js +13 -0
- package/dist/vitest.config.d.ts +1 -0
- package/dist/vitest.config.d.ts.map +1 -0
- package/package.json +52 -39
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
import { RelationalDbProcessor } from "document-drive
|
|
1
|
+
import { RelationalDbProcessor, } from "document-drive";
|
|
2
|
+
import {} from "document-drive";
|
|
2
3
|
import { up } from "./migrations.js";
|
|
4
|
+
import {} from "./schema.js";
|
|
3
5
|
export class RenownCredentialProcessor extends RelationalDbProcessor {
|
|
6
|
+
reactor;
|
|
7
|
+
constructor(namespace, filter, relationalDb, reactor) {
|
|
8
|
+
super(namespace, filter, relationalDb);
|
|
9
|
+
this.reactor = reactor;
|
|
10
|
+
console.log(`[RenownCredentialProcessor] Constructor called - namespace: ${namespace}, has reactor: ${!!reactor}`);
|
|
11
|
+
}
|
|
4
12
|
static getNamespace(driveId) {
|
|
5
13
|
// Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
|
|
6
|
-
|
|
14
|
+
const namespace = super.getNamespace(driveId);
|
|
15
|
+
console.log(`[RenownCredentialProcessor] getNamespace called - driveId: ${driveId}, namespace: ${namespace}`);
|
|
16
|
+
return namespace;
|
|
7
17
|
}
|
|
8
18
|
async initAndUpgrade() {
|
|
19
|
+
console.log(`[RenownCredentialProcessor] initAndUpgrade called - running migrations`);
|
|
9
20
|
await up(this.relationalDb);
|
|
21
|
+
console.log(`[RenownCredentialProcessor] initAndUpgrade completed`);
|
|
10
22
|
}
|
|
11
23
|
async onStrands(strands) {
|
|
24
|
+
console.log(`[RenownCredentialProcessor] onStrands called with ${strands.length} strands`);
|
|
12
25
|
if (strands.length === 0) {
|
|
13
26
|
return;
|
|
14
27
|
}
|
|
@@ -17,6 +30,10 @@ export class RenownCredentialProcessor extends RelationalDbProcessor {
|
|
|
17
30
|
continue;
|
|
18
31
|
}
|
|
19
32
|
const documentId = strand.documentId;
|
|
33
|
+
console.log(`[RenownCredentialProcessor] Processing document ${documentId} with ${strand.operations.length} operations`);
|
|
34
|
+
console.log(`[RenownCredentialProcessor] Strand keys:`, Object.keys(strand));
|
|
35
|
+
console.log(`[RenownCredentialProcessor] Has state:`, !!strand.state);
|
|
36
|
+
console.log(`[RenownCredentialProcessor] State type:`, typeof strand.state, strand.state);
|
|
20
37
|
// Ensure the Credential exists in the database
|
|
21
38
|
const existingCredential = await this.relationalDb
|
|
22
39
|
.selectFrom("renown_credential")
|
|
@@ -25,102 +42,73 @@ export class RenownCredentialProcessor extends RelationalDbProcessor {
|
|
|
25
42
|
.executeTakeFirst();
|
|
26
43
|
// Process each operation
|
|
27
44
|
for (const operation of strand.operations) {
|
|
45
|
+
console.log(`[RenownCredentialProcessor] Processing operation: ${operation.action.type}`);
|
|
28
46
|
switch (operation.action.type) {
|
|
29
47
|
case "INIT": {
|
|
30
|
-
|
|
31
|
-
//
|
|
32
|
-
|
|
33
|
-
|
|
48
|
+
console.log(`[RenownCredentialProcessor] INIT - documentId: ${documentId}, existingCredential: ${!!existingCredential}`);
|
|
49
|
+
// INIT operation receives full EIP-712 credential structure
|
|
50
|
+
console.log(`[RenownCredentialProcessor] INIT - Processing state`);
|
|
51
|
+
// State is directly the global state, not wrapped in a .global property
|
|
52
|
+
const state = strand.state;
|
|
53
|
+
console.log(`[RenownCredentialProcessor] INIT - Credential ID:`, state?.id);
|
|
54
|
+
console.log(`[RenownCredentialProcessor] INIT - Issuer:`, state?.issuer?.id);
|
|
34
55
|
if (state && !existingCredential) {
|
|
56
|
+
console.log(`[RenownCredentialProcessor] INIT - Inserting credential: issuer=${state.issuer?.id}, credentialId=${state.id}`);
|
|
35
57
|
await this.relationalDb
|
|
36
58
|
.insertInto("renown_credential")
|
|
37
59
|
.values({
|
|
38
60
|
document_id: documentId,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
61
|
+
context: state.context ? JSON.stringify(state.context) : "[]",
|
|
62
|
+
credential_id: state.id || "",
|
|
63
|
+
type: state.type ? JSON.stringify(state.type) : "[]",
|
|
64
|
+
issuer_id: state.issuer?.id || "",
|
|
65
|
+
issuer_ethereum_address: state.issuer?.ethereumAddress || "",
|
|
44
66
|
issuance_date: state.issuanceDate
|
|
45
67
|
? new Date(state.issuanceDate)
|
|
46
|
-
:
|
|
47
|
-
credential_subject: state.credentialSubject || null,
|
|
68
|
+
: new Date(),
|
|
48
69
|
expiration_date: state.expirationDate
|
|
49
70
|
? new Date(state.expirationDate)
|
|
50
71
|
: null,
|
|
72
|
+
credential_subject_id: state.credentialSubject?.id || null,
|
|
73
|
+
credential_subject_app: state.credentialSubject?.app || "",
|
|
51
74
|
credential_status_id: state.credentialStatus?.id || null,
|
|
52
75
|
credential_status_type: state.credentialStatus?.type || null,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
credential_schema_id: state.credentialSchema?.id || "",
|
|
77
|
+
credential_schema_type: state.credentialSchema?.type || "",
|
|
78
|
+
proof_verification_method: state.proof?.verificationMethod || "",
|
|
79
|
+
proof_ethereum_address: state.proof?.ethereumAddress || "",
|
|
80
|
+
proof_created: state.proof?.created
|
|
81
|
+
? new Date(state.proof.created)
|
|
82
|
+
: new Date(),
|
|
83
|
+
proof_purpose: state.proof?.proofPurpose || "",
|
|
84
|
+
proof_type: state.proof?.type || "",
|
|
85
|
+
proof_value: state.proof?.proofValue || "",
|
|
86
|
+
proof_eip712_domain: state.proof?.eip712?.domain
|
|
87
|
+
? JSON.stringify(state.proof.eip712.domain)
|
|
88
|
+
: "{}",
|
|
89
|
+
proof_eip712_primary_type: state.proof?.eip712?.primaryType || "",
|
|
59
90
|
revoked: state.revoked || false,
|
|
60
|
-
revoked_at: state.revokedAt
|
|
91
|
+
revoked_at: state.revokedAt
|
|
92
|
+
? new Date(state.revokedAt)
|
|
93
|
+
: null,
|
|
61
94
|
revocation_reason: state.revocationReason || null,
|
|
62
95
|
created_at: new Date(),
|
|
63
96
|
updated_at: new Date(),
|
|
64
97
|
})
|
|
65
98
|
.execute();
|
|
99
|
+
console.log(`[RenownCredentialProcessor] INIT - Credential inserted successfully`);
|
|
66
100
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
case "UPDATE_CREDENTIAL_SUBJECT": {
|
|
70
|
-
// Access the updated state to get the synced vcPayload
|
|
71
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
72
|
-
const state = (strand.state)?.global;
|
|
73
|
-
if (state && existingCredential) {
|
|
74
|
-
await this.relationalDb
|
|
75
|
-
.updateTable("renown_credential")
|
|
76
|
-
.set({
|
|
77
|
-
credential_subject: state.credentialSubject || null,
|
|
78
|
-
vc_payload: state.vcPayload || null, // Sync vcPayload with updated credentialSubject
|
|
79
|
-
jwt: null, // Clear JWT when content changes
|
|
80
|
-
jwt_payload: null, // Also clear JWT payload
|
|
81
|
-
jwt_verified: false, // Mark as unverified since content changed
|
|
82
|
-
updated_at: new Date(),
|
|
83
|
-
})
|
|
84
|
-
.where("document_id", "=", documentId)
|
|
85
|
-
.execute();
|
|
86
|
-
}
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
case "SET_JWT": {
|
|
90
|
-
const input = operation.action.input;
|
|
91
|
-
if (input && existingCredential) {
|
|
92
|
-
await this.relationalDb
|
|
93
|
-
.updateTable("renown_credential")
|
|
94
|
-
.set({
|
|
95
|
-
jwt: input.jwt,
|
|
96
|
-
updated_at: new Date(),
|
|
97
|
-
})
|
|
98
|
-
.where("document_id", "=", documentId)
|
|
99
|
-
.execute();
|
|
100
|
-
}
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
case "SET_CREDENTIAL_STATUS": {
|
|
104
|
-
const input = operation.action.input;
|
|
105
|
-
if (input && existingCredential) {
|
|
106
|
-
await this.relationalDb
|
|
107
|
-
.updateTable("renown_credential")
|
|
108
|
-
.set({
|
|
109
|
-
credential_status_id: input.statusId,
|
|
110
|
-
credential_status_type: input.statusType,
|
|
111
|
-
credential_status_purpose: input.statusPurpose,
|
|
112
|
-
credential_status_list_index: input.statusListIndex,
|
|
113
|
-
credential_status_list_credential: input.statusListCredential,
|
|
114
|
-
updated_at: new Date(),
|
|
115
|
-
})
|
|
116
|
-
.where("document_id", "=", documentId)
|
|
117
|
-
.execute();
|
|
101
|
+
else {
|
|
102
|
+
console.log(`[RenownCredentialProcessor] INIT - Skipped: state=${!!state}, existingCredential=${!!existingCredential}`);
|
|
118
103
|
}
|
|
119
104
|
break;
|
|
120
105
|
}
|
|
121
106
|
case "REVOKE": {
|
|
107
|
+
console.log(`[RenownCredentialProcessor] REVOKE - documentId: ${documentId}`);
|
|
122
108
|
const input = operation.action.input;
|
|
123
109
|
if (input && existingCredential) {
|
|
110
|
+
console.log(`[RenownCredentialProcessor] REVOKE - Marking as revoked and deleting document`);
|
|
111
|
+
// Update the database to mark as revoked
|
|
124
112
|
await this.relationalDb
|
|
125
113
|
.updateTable("renown_credential")
|
|
126
114
|
.set({
|
|
@@ -131,6 +119,24 @@ export class RenownCredentialProcessor extends RelationalDbProcessor {
|
|
|
131
119
|
})
|
|
132
120
|
.where("document_id", "=", documentId)
|
|
133
121
|
.execute();
|
|
122
|
+
// Delete the credential document using the reactor
|
|
123
|
+
if (this.reactor) {
|
|
124
|
+
try {
|
|
125
|
+
console.log(`[RenownCredentialProcessor] REVOKE - Calling reactor.deleteDocument`);
|
|
126
|
+
await this.reactor.deleteDocument(documentId);
|
|
127
|
+
console.log(`[RenownCredentialProcessor] REVOKE - Document deleted successfully`);
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
// Log error but don't throw - database already updated
|
|
131
|
+
console.error(`[RenownCredentialProcessor] REVOKE - Failed to delete revoked credential document ${documentId}:`, error);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
console.log(`[RenownCredentialProcessor] REVOKE - No reactor available, skipping document deletion`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
console.log(`[RenownCredentialProcessor] REVOKE - Skipped: input=${!!input}, existingCredential=${!!existingCredential}`);
|
|
134
140
|
}
|
|
135
141
|
break;
|
|
136
142
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { type IRelationalDb } from "document-drive
|
|
1
|
+
import { type IRelationalDb } from "document-drive";
|
|
2
2
|
export declare function up(db: IRelationalDb<any>): Promise<void>;
|
|
3
3
|
export declare function down(db: IRelationalDb<any>): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAsB,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAsF9D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA6BhE"}
|
|
@@ -1,25 +1,34 @@
|
|
|
1
|
+
import {} from "document-drive";
|
|
1
2
|
export async function up(db) {
|
|
2
3
|
await down(db);
|
|
3
|
-
// Create renown_credential table with
|
|
4
|
+
// Create renown_credential table with EIP-712 signed credential schema
|
|
4
5
|
await db.schema
|
|
5
6
|
.createTable("renown_credential")
|
|
6
7
|
.addColumn("document_id", "varchar(255)")
|
|
7
|
-
|
|
8
|
-
.addColumn("context", "text") // JSON array
|
|
9
|
-
.addColumn("credential_id", "varchar(255)")
|
|
10
|
-
.addColumn("type", "text") // JSON array
|
|
11
|
-
.addColumn("
|
|
12
|
-
.addColumn("
|
|
13
|
-
.addColumn("
|
|
8
|
+
// W3C VC Fields
|
|
9
|
+
.addColumn("context", "text", (col) => col.notNull()) // JSON array
|
|
10
|
+
.addColumn("credential_id", "varchar(255)", (col) => col.notNull())
|
|
11
|
+
.addColumn("type", "text", (col) => col.notNull()) // JSON array
|
|
12
|
+
.addColumn("issuer_id", "varchar(255)", (col) => col.notNull())
|
|
13
|
+
.addColumn("issuer_ethereum_address", "varchar(255)", (col) => col.notNull())
|
|
14
|
+
.addColumn("issuance_date", "timestamp", (col) => col.notNull())
|
|
14
15
|
.addColumn("expiration_date", "timestamp")
|
|
16
|
+
.addColumn("credential_subject_id", "varchar(255)")
|
|
17
|
+
.addColumn("credential_subject_app", "varchar(255)", (col) => col.notNull())
|
|
15
18
|
.addColumn("credential_status_id", "varchar(255)")
|
|
16
19
|
.addColumn("credential_status_type", "varchar(255)")
|
|
17
|
-
.addColumn("
|
|
18
|
-
.addColumn("
|
|
19
|
-
|
|
20
|
-
.addColumn("
|
|
21
|
-
.addColumn("
|
|
22
|
-
.addColumn("
|
|
20
|
+
.addColumn("credential_schema_id", "varchar(255)", (col) => col.notNull())
|
|
21
|
+
.addColumn("credential_schema_type", "varchar(255)", (col) => col.notNull())
|
|
22
|
+
// Proof fields (EIP-712)
|
|
23
|
+
.addColumn("proof_verification_method", "text", (col) => col.notNull())
|
|
24
|
+
.addColumn("proof_ethereum_address", "varchar(255)", (col) => col.notNull())
|
|
25
|
+
.addColumn("proof_created", "timestamp", (col) => col.notNull())
|
|
26
|
+
.addColumn("proof_purpose", "varchar(255)", (col) => col.notNull())
|
|
27
|
+
.addColumn("proof_type", "varchar(255)", (col) => col.notNull())
|
|
28
|
+
.addColumn("proof_value", "text", (col) => col.notNull()) // EIP-712 signature
|
|
29
|
+
.addColumn("proof_eip712_domain", "text", (col) => col.notNull()) // JSON object
|
|
30
|
+
.addColumn("proof_eip712_primary_type", "varchar(255)", (col) => col.notNull())
|
|
31
|
+
// Revocation
|
|
23
32
|
.addColumn("revoked", "boolean", (col) => col.notNull().defaultTo(false))
|
|
24
33
|
.addColumn("revoked_at", "timestamp")
|
|
25
34
|
.addColumn("revocation_reason", "text")
|
|
@@ -35,18 +44,32 @@ export async function up(db) {
|
|
|
35
44
|
.column("credential_id")
|
|
36
45
|
.ifNotExists()
|
|
37
46
|
.execute();
|
|
38
|
-
// Create index on
|
|
47
|
+
// Create index on issuer_id for faster lookups
|
|
39
48
|
await db.schema
|
|
40
|
-
.createIndex("
|
|
49
|
+
.createIndex("idx_renown_credential_issuer_id")
|
|
41
50
|
.on("renown_credential")
|
|
42
|
-
.column("
|
|
51
|
+
.column("issuer_id")
|
|
43
52
|
.ifNotExists()
|
|
44
53
|
.execute();
|
|
45
|
-
// Create index on
|
|
54
|
+
// Create index on issuer_ethereum_address for faster lookups
|
|
46
55
|
await db.schema
|
|
47
|
-
.createIndex("
|
|
56
|
+
.createIndex("idx_renown_credential_issuer_eth")
|
|
48
57
|
.on("renown_credential")
|
|
49
|
-
.column("
|
|
58
|
+
.column("issuer_ethereum_address")
|
|
59
|
+
.ifNotExists()
|
|
60
|
+
.execute();
|
|
61
|
+
// Create index on credential_subject_app for faster lookups
|
|
62
|
+
await db.schema
|
|
63
|
+
.createIndex("idx_renown_credential_subject_app")
|
|
64
|
+
.on("renown_credential")
|
|
65
|
+
.column("credential_subject_app")
|
|
66
|
+
.ifNotExists()
|
|
67
|
+
.execute();
|
|
68
|
+
// Create index on proof_ethereum_address for faster lookups
|
|
69
|
+
await db.schema
|
|
70
|
+
.createIndex("idx_renown_credential_proof_eth")
|
|
71
|
+
.on("renown_credential")
|
|
72
|
+
.column("proof_ethereum_address")
|
|
50
73
|
.ifNotExists()
|
|
51
74
|
.execute();
|
|
52
75
|
// Create index on revoked for faster validity checks
|
|
@@ -64,11 +87,19 @@ export async function down(db) {
|
|
|
64
87
|
.ifExists()
|
|
65
88
|
.execute();
|
|
66
89
|
await db.schema
|
|
67
|
-
.dropIndex("
|
|
90
|
+
.dropIndex("idx_renown_credential_proof_eth")
|
|
91
|
+
.ifExists()
|
|
92
|
+
.execute();
|
|
93
|
+
await db.schema
|
|
94
|
+
.dropIndex("idx_renown_credential_subject_app")
|
|
95
|
+
.ifExists()
|
|
96
|
+
.execute();
|
|
97
|
+
await db.schema
|
|
98
|
+
.dropIndex("idx_renown_credential_issuer_eth")
|
|
68
99
|
.ifExists()
|
|
69
100
|
.execute();
|
|
70
101
|
await db.schema
|
|
71
|
-
.dropIndex("
|
|
102
|
+
.dropIndex("idx_renown_credential_issuer_id")
|
|
72
103
|
.ifExists()
|
|
73
104
|
.execute();
|
|
74
105
|
await db.schema
|
|
@@ -3,22 +3,27 @@ export type Generated<T> = T extends ColumnType<infer S, infer I, infer U> ? Col
|
|
|
3
3
|
export type Timestamp = ColumnType<Date, Date | string, Date | string>;
|
|
4
4
|
export interface RenownCredential {
|
|
5
5
|
document_id: string;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
issuance_date: Timestamp
|
|
12
|
-
credential_subject: string | null;
|
|
6
|
+
context: string;
|
|
7
|
+
credential_id: string;
|
|
8
|
+
type: string;
|
|
9
|
+
issuer_id: string;
|
|
10
|
+
issuer_ethereum_address: string;
|
|
11
|
+
issuance_date: Timestamp;
|
|
13
12
|
expiration_date: Timestamp | null;
|
|
13
|
+
credential_subject_id: string | null;
|
|
14
|
+
credential_subject_app: string;
|
|
14
15
|
credential_status_id: string | null;
|
|
15
16
|
credential_status_type: string | null;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
credential_schema_id: string;
|
|
18
|
+
credential_schema_type: string;
|
|
19
|
+
proof_verification_method: string;
|
|
20
|
+
proof_ethereum_address: string;
|
|
21
|
+
proof_created: Timestamp;
|
|
22
|
+
proof_purpose: string;
|
|
23
|
+
proof_type: string;
|
|
24
|
+
proof_value: string;
|
|
25
|
+
proof_eip712_domain: string;
|
|
26
|
+
proof_eip712_primary_type: string;
|
|
22
27
|
revoked: boolean;
|
|
23
28
|
revoked_at: Timestamp | null;
|
|
24
29
|
revocation_reason: string | null;
|
|
@@ -28,3 +33,4 @@ export interface RenownCredential {
|
|
|
28
33
|
export interface DB {
|
|
29
34
|
renown_credential: RenownCredential;
|
|
30
35
|
}
|
|
36
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACtE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB,EAAE,MAAM,CAAC;IAChC,aAAa,EAAE,SAAS,CAAC;IACzB,eAAe,EAAE,SAAS,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;IAE/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,SAAS,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAElC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,EAAE;IACjB,iBAAiB,EAAE,gBAAgB,CAAC;CACrC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { type ProcessorRecord, type IProcessorHostModule } from "document-drive
|
|
1
|
+
import { type ProcessorRecord, type IProcessorHostModule } from "document-drive";
|
|
2
2
|
import { type PHDocumentHeader } from "document-model";
|
|
3
3
|
export declare const renownUserProcessorFactory: (module: IProcessorHostModule) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
|
|
4
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,eAAO,MAAM,0BAA0B,GACpC,QAAQ,oBAAoB,MACtB,aAAa,gBAAgB,KAAG,OAAO,CAAC,eAAe,EAAE,CAwB/D,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import {} from "document-drive";
|
|
2
|
+
import {} from "document-drive";
|
|
3
|
+
import {} from "document-model";
|
|
1
4
|
import { RenownUserProcessor } from "./index.js";
|
|
2
5
|
export const renownUserProcessorFactory = (module) => async (driveHeader) => {
|
|
3
6
|
// Create a namespace for the processor and the provided drive id
|
|
4
|
-
const namespace = RenownUserProcessor.getNamespace(
|
|
7
|
+
const namespace = RenownUserProcessor.getNamespace("renown-user");
|
|
5
8
|
// Create a namespaced db for the processor
|
|
6
9
|
const store = await module.relationalDb.createNamespace(namespace);
|
|
7
10
|
// Create a filter for the processor
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RelationalDbProcessor } from "document-drive
|
|
2
|
-
import { type InternalTransmitterUpdate } from "document-drive
|
|
1
|
+
import { RelationalDbProcessor } from "document-drive";
|
|
2
|
+
import { type InternalTransmitterUpdate } from "document-drive";
|
|
3
3
|
import { type DB } from "./schema.js";
|
|
4
4
|
export declare class RenownUserProcessor extends RelationalDbProcessor<DB> {
|
|
5
5
|
static getNamespace(driveId: string): string;
|
|
@@ -7,3 +7,4 @@ export declare class RenownUserProcessor extends RelationalDbProcessor<DB> {
|
|
|
7
7
|
onStrands(strands: InternalTransmitterUpdate[]): Promise<void>;
|
|
8
8
|
onDisconnect(): Promise<void>;
|
|
9
9
|
}
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,qBAAa,mBAAoB,SAAQ,qBAAqB,CAAC,EAAE,CAAC;WAChD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKtC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,SAAS,CACtB,OAAO,EAAE,yBAAyB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAwFV,YAAY;CACnB"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { RelationalDbProcessor } from "document-drive
|
|
1
|
+
import { RelationalDbProcessor } from "document-drive";
|
|
2
|
+
import {} from "document-drive";
|
|
2
3
|
import { up } from "./migrations.js";
|
|
4
|
+
import {} from "./schema.js";
|
|
3
5
|
export class RenownUserProcessor extends RelationalDbProcessor {
|
|
4
6
|
static getNamespace(driveId) {
|
|
5
7
|
// Default namespace: `${this.name}_${driveId.replaceAll("-", "_")}`
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { type IRelationalDb } from "document-drive
|
|
1
|
+
import { type IRelationalDb } from "document-drive";
|
|
2
2
|
export declare function up(db: IRelationalDb<any>): Promise<void>;
|
|
3
3
|
export declare function down(db: IRelationalDb<any>): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=migrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,wBAAsB,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA8B9D;AAED,wBAAsB,IAAI,CAAC,EAAE,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../processors/renown-user/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACtE,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,GAC/B,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;AAEpC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACxC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,EAAE;IACjB,WAAW,EAAE,UAAU,CAAC;CACzB"}
|