@powerhousedao/renown-package 0.0.30 → 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 -59
- 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 +2 -16
- package/dist/document-models/renown-credential/gen/manager/error.d.ts.map +1 -0
- package/dist/document-models/renown-credential/gen/manager/error.js +0 -19
- 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 -13
- 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 -115
- 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 -33
- 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 -43
- 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 -108
- 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 -34
- 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 -69
- 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 -21
- package/dist/processors/renown-credential/schema.d.ts +19 -12
- 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 -17100
- 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 +96 -47
- 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 -35
- 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 -18
- 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,4 +1,4 @@
|
|
|
1
|
-
import { baseCreateDocument,
|
|
1
|
+
import { baseCreateDocument, baseSaveToFileHandle, baseLoadFromInput, defaultBaseState, generateId, } from "document-model/core";
|
|
2
2
|
import { reducer } from "./reducer.js";
|
|
3
3
|
export const initialGlobalState = {
|
|
4
4
|
username: null,
|
|
@@ -6,39 +6,31 @@ export const initialGlobalState = {
|
|
|
6
6
|
userImage: null,
|
|
7
7
|
};
|
|
8
8
|
export const initialLocalState = {};
|
|
9
|
-
export const createState = (state) => {
|
|
10
|
-
return {
|
|
11
|
-
...defaultBaseState(),
|
|
12
|
-
global: { ...initialGlobalState, ...(state?.global ?? {}) },
|
|
13
|
-
local: { ...initialLocalState, ...(state?.local ?? {}) },
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
export const createDocument = (state) => {
|
|
17
|
-
const document = baseCreateDocument(createState, state);
|
|
18
|
-
document.header.documentType = "powerhouse/renown-user";
|
|
19
|
-
// for backwards compatibility, but this is NOT a valid signed document id
|
|
20
|
-
document.header.id = generateId();
|
|
21
|
-
return document;
|
|
22
|
-
};
|
|
23
|
-
export const saveToFile = (document, path, name) => {
|
|
24
|
-
return baseSaveToFile(document, path, "phru", name);
|
|
25
|
-
};
|
|
26
|
-
export const saveToFileHandle = (document, input) => {
|
|
27
|
-
return baseSaveToFileHandle(document, input);
|
|
28
|
-
};
|
|
29
|
-
export const loadFromFile = (path) => {
|
|
30
|
-
return baseLoadFromFile(path, reducer);
|
|
31
|
-
};
|
|
32
|
-
export const loadFromInput = (input) => {
|
|
33
|
-
return baseLoadFromInput(input, reducer);
|
|
34
|
-
};
|
|
35
9
|
const utils = {
|
|
36
10
|
fileExtension: "phru",
|
|
37
|
-
createState
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
11
|
+
createState(state) {
|
|
12
|
+
return {
|
|
13
|
+
...defaultBaseState(),
|
|
14
|
+
global: { ...initialGlobalState, ...state?.global },
|
|
15
|
+
local: { ...initialLocalState, ...state?.local },
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
createDocument(state) {
|
|
19
|
+
const document = baseCreateDocument(utils.createState, state);
|
|
20
|
+
document.header.documentType = "powerhouse/renown-user";
|
|
21
|
+
// for backwards compatibility, but this is NOT a valid signed document id
|
|
22
|
+
document.header.id = generateId();
|
|
23
|
+
return document;
|
|
24
|
+
},
|
|
25
|
+
saveToFileHandle(document, input) {
|
|
26
|
+
return baseSaveToFileHandle(document, input);
|
|
27
|
+
},
|
|
28
|
+
loadFromInput(input) {
|
|
29
|
+
return baseLoadFromInput(input, reducer);
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
export const createDocument = utils.createDocument;
|
|
33
|
+
export const createState = utils.createState;
|
|
34
|
+
export const saveToFileHandle = utils.saveToFileHandle;
|
|
35
|
+
export const loadFromInput = utils.loadFromInput;
|
|
44
36
|
export default utils;
|
|
@@ -5,22 +5,29 @@
|
|
|
5
5
|
import { type DocumentModelModule } from "document-model";
|
|
6
6
|
import { reducer } from "./gen/reducer.js";
|
|
7
7
|
import { documentModel } from "./gen/document-model.js";
|
|
8
|
-
import type { RenownUserPHState } from "./gen/
|
|
8
|
+
import type { RenownUserPHState } from "./gen/types.js";
|
|
9
9
|
declare const utils: {
|
|
10
10
|
fileExtension: string;
|
|
11
11
|
createState: import("document-model").CreateState<RenownUserPHState>;
|
|
12
12
|
createDocument: import("document-model").CreateDocument<RenownUserPHState>;
|
|
13
|
-
saveToFile: (document: any, path: string, name?: string) => Promise<string>;
|
|
14
|
-
saveToFileHandle: (document: any, input: any) => Promise<void>;
|
|
15
|
-
loadFromFile: import("document-model").LoadFromFile<RenownUserPHState>;
|
|
16
13
|
loadFromInput: import("document-model").LoadFromInput<RenownUserPHState>;
|
|
14
|
+
saveToFileHandle: import("document-model").SaveToFileHandle;
|
|
17
15
|
};
|
|
18
16
|
declare const actions: {
|
|
19
|
-
setUsername: (input: import("./index.js").SetUsernameInput) => import("./gen/
|
|
20
|
-
setEthAddress: (input: import("./index.js").SetEthAddressInput) => import("./gen/
|
|
21
|
-
setUserImage: (input: import("./index.js").SetUserImageInput) => import("./gen/
|
|
17
|
+
setUsername: (input: import("./gen/index.js").SetUsernameInput) => import("./gen/index.js").SetUsernameAction;
|
|
18
|
+
setEthAddress: (input: import("./gen/index.js").SetEthAddressInput) => import("./gen/index.js").SetEthAddressAction;
|
|
19
|
+
setUserImage: (input: import("./gen/index.js").SetUserImageInput) => import("./gen/index.js").SetUserImageAction;
|
|
20
|
+
setName: (name: string) => import("document-model").SetNameAction;
|
|
21
|
+
undo: (skip?: number, scope?: string) => import("document-model").UndoAction;
|
|
22
|
+
redo: (count?: number, scope?: string) => import("document-model").RedoAction;
|
|
23
|
+
prune: (start?: number, end?: number, scope?: string) => import("document-model").SchemaPruneAction;
|
|
24
|
+
loadState: <TState extends import("document-model").PHBaseState = import("document-model").PHBaseState>(state: TState & {
|
|
25
|
+
name: string;
|
|
26
|
+
}, operations: number) => import("document-model").LoadStateAction;
|
|
27
|
+
noop: (scope?: string) => import("document-model").NOOPAction;
|
|
22
28
|
};
|
|
23
29
|
export declare const module: DocumentModelModule<RenownUserPHState>;
|
|
24
30
|
export { reducer, actions, utils, documentModel };
|
|
25
31
|
export * from "./gen/types.js";
|
|
26
32
|
export * from "./src/utils.js";
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../document-models/renown-user/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEL,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,QAAA,MAAM,KAAK;;;;;;CAAkC,CAAC;AAC9C,QAAA,MAAM,OAAO;kBARiB,gDAAuB;oBAI7B,kDACvB;mBAKe,iDAAwB;;eAW2oM,CAAC,eAAe,CAAC;gBAAkE,CAAC,eAAe,CAAC;iBAAmE,CAAC,aAAa,CAAC,eAAe,CAAC;;;;gBAAqS,CAAC;CAbvmN,CAAC;AAEzD,eAAO,MAAM,MAAM,EAAE,mBAAmB,CAAC,iBAAiB,CAKzD,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AAElD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
* This is a scaffold file meant for customization.
|
|
3
3
|
* Delete the file and run the code generator again to have it reset
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { createState, baseActions, } from "document-model";
|
|
6
|
+
import { defaultBaseState } from "document-model/core";
|
|
6
7
|
import { actions as RenownUserActions } from "./gen/index.js";
|
|
7
8
|
import { reducer } from "./gen/reducer.js";
|
|
8
9
|
import { documentModel } from "./gen/document-model.js";
|
|
9
10
|
import genUtils from "./gen/utils.js";
|
|
10
11
|
import * as customUtils from "./src/utils.js";
|
|
11
12
|
const utils = { ...genUtils, ...customUtils };
|
|
12
|
-
const actions = { ...
|
|
13
|
+
const actions = { ...baseActions, ...RenownUserActions };
|
|
13
14
|
export const module = {
|
|
14
15
|
reducer,
|
|
15
16
|
actions,
|
|
16
17
|
utils,
|
|
17
|
-
documentModel,
|
|
18
|
+
documentModel: createState(defaultBaseState(), documentModel),
|
|
18
19
|
};
|
|
19
20
|
export { reducer, actions, utils, documentModel };
|
|
20
21
|
export * from "./gen/types.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../../document-models/renown-user/src/reducers/profile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAEnF,eAAO,MAAM,OAAO,EAAE,2BAUrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-model.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/renown-user/src/tests/document-model.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* This is a scaffold file meant for customization:
|
|
3
3
|
* - change it by adding new tests or modifying the existing ones
|
|
4
4
|
*/
|
|
5
|
-
import { describe, it, expect } from "vitest";
|
|
5
|
+
import { describe, it, expect, beforeEach } from "vitest";
|
|
6
6
|
import utils, { initialGlobalState, initialLocalState, } from "../../gen/utils.js";
|
|
7
7
|
describe("Renown User Document Model", () => {
|
|
8
8
|
it("should create a new Renown User document", () => {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.test.d.ts","sourceRoot":"","sources":["../../../../../document-models/renown-user/src/tests/profile.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../document-models/renown-user/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { RenownCredentialDocument } from "../../document-models/renown-credential/index.js";
|
|
2
2
|
export declare function useRenownCredentialDocument(documentId: string | null | undefined): never[] | [RenownCredentialDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-credential/gen/actions.js").RenownCredentialManagerAction>];
|
|
3
3
|
export declare function useSelectedRenownCredentialDocument(): never[] | [RenownCredentialDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-credential/gen/actions.js").RenownCredentialManagerAction>];
|
|
4
|
+
//# sourceMappingURL=useRenownCredentialDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRenownCredentialDocument.d.ts","sourceRoot":"","sources":["../../../editors/hooks/useRenownCredentialDocument.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,kDAAkD,CAAC;AAE1D,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,mMAKhF;AAED,wBAAgB,mCAAmC,oMAGlD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { RenownUserDocument } from "../../document-models/renown-user/index.js";
|
|
2
2
|
export declare function useRenownUserDocument(documentId: string | null | undefined): never[] | [RenownUserDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-user/gen/actions.js").RenownUserProfileAction>];
|
|
3
3
|
export declare function useSelectedRenownUserDocument(): never[] | [RenownUserDocument, import("@powerhousedao/reactor-browser").DocumentDispatch<import("../../document-models/renown-user/gen/actions.js").RenownUserProfileAction>];
|
|
4
|
+
//# sourceMappingURL=useRenownUserDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRenownUserDocument.d.ts","sourceRoot":"","sources":["../../../editors/hooks/useRenownUserDocument.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,kBAAkB,EACnB,MAAM,4CAA4C,CAAC;AAEpD,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iLAK1E;AAED,wBAAgB,6BAA6B,kLAG5C"}
|
package/dist/editors/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AACV,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
|
package/dist/editors/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/renown-credential-editor/editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQlD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,2CA4VnC"}
|
|
@@ -1,55 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSelectedDocument } from "@powerhousedao/reactor-browser";
|
|
3
|
-
import { useCallback
|
|
3
|
+
import { useCallback } from "react";
|
|
4
4
|
import { actions, } from "../../document-models/renown-credential/index.js";
|
|
5
|
-
import {
|
|
5
|
+
import { Button } from "@powerhousedao/document-engineering";
|
|
6
6
|
export function Editor(props) {
|
|
7
7
|
const [document, dispatch] = useSelectedDocument();
|
|
8
8
|
if (!document) {
|
|
9
9
|
return _jsx("div", { children: "Loading..." });
|
|
10
10
|
}
|
|
11
11
|
const typedDocument = document;
|
|
12
|
-
// Local form state
|
|
13
|
-
const [isInitializing, setIsInitializing] = useState(false);
|
|
14
|
-
const [isEditingSubject, setIsEditingSubject] = useState(false);
|
|
15
|
-
const [isSettingJwt, setIsSettingJwt] = useState(false);
|
|
16
|
-
const [isSettingStatus, setIsSettingStatus] = useState(false);
|
|
17
12
|
const { state: { global }, } = typedDocument;
|
|
18
|
-
const {
|
|
19
|
-
const isInitialized = issuer && issuanceDate;
|
|
20
|
-
// Initialize credential from JWT
|
|
21
|
-
const handleInit = useCallback((values) => {
|
|
22
|
-
try {
|
|
23
|
-
dispatch(actions.init({
|
|
24
|
-
jwt: values.jwt,
|
|
25
|
-
}));
|
|
26
|
-
setIsInitializing(false);
|
|
27
|
-
}
|
|
28
|
-
catch (error) {
|
|
29
|
-
console.error("Error initializing credential:", error);
|
|
30
|
-
}
|
|
31
|
-
}, [dispatch]);
|
|
32
|
-
// Update credential subject
|
|
33
|
-
const handleUpdateSubject = useCallback((newSubject) => {
|
|
34
|
-
try {
|
|
35
|
-
JSON.parse(newSubject); // Validate JSON
|
|
36
|
-
dispatch(actions.updateCredentialSubject({ credentialSubject: newSubject }));
|
|
37
|
-
setIsEditingSubject(false);
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
console.error("Error updating credential subject:", error);
|
|
41
|
-
}
|
|
42
|
-
}, [dispatch]);
|
|
43
|
-
// Set JWT
|
|
44
|
-
const handleSetJwt = useCallback((newJwt) => {
|
|
45
|
-
dispatch(actions.setJwt({ jwt: newJwt }));
|
|
46
|
-
setIsSettingJwt(false);
|
|
47
|
-
}, [dispatch]);
|
|
48
|
-
// Set credential status
|
|
49
|
-
const handleSetStatus = useCallback((values) => {
|
|
50
|
-
dispatch(actions.setCredentialStatus(values));
|
|
51
|
-
setIsSettingStatus(false);
|
|
52
|
-
}, [dispatch]);
|
|
13
|
+
const { context, id: credentialId, type, issuer, issuanceDate, credentialSubject, credentialSchema, credentialStatus, expirationDate, proof, revoked, revokedAt, revocationReason, } = global;
|
|
14
|
+
const isInitialized = issuer?.id && issuanceDate;
|
|
53
15
|
// Revoke credential
|
|
54
16
|
const handleRevoke = useCallback((reason) => {
|
|
55
17
|
if (window.confirm("Are you sure you want to revoke this credential?")) {
|
|
@@ -59,40 +21,14 @@ export function Editor(props) {
|
|
|
59
21
|
}));
|
|
60
22
|
}
|
|
61
23
|
}, [dispatch]);
|
|
62
|
-
return (_jsxs("div", { className: "html-defaults-container min-h-screen bg-gray-50", children: [_jsx("div", { className: "bg-white border-b border-gray-200", children: _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8", children: _jsx("div", { className: "py-8", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("h1", { className: "text-3xl font-bold text-gray-900", children: "
|
|
24
|
+
return (_jsxs("div", { className: "html-defaults-container min-h-screen bg-gray-50", children: [_jsx("div", { className: "bg-white border-b border-gray-200", children: _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8", children: _jsx("div", { className: "py-8", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("h1", { className: "text-3xl font-bold text-gray-900", children: "EIP-712 Signed Credential" }), revoked && (_jsx("span", { className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-red-100 text-red-800", children: "Revoked" })), !isInitialized && (_jsx("span", { className: "inline-flex items-center px-3 py-1 rounded-full text-sm font-medium bg-yellow-100 text-yellow-800", children: "Not Initialized" }))] }), issuer?.id && (_jsxs("p", { className: "text-gray-600 mt-2 text-sm", children: ["Issued by: ", _jsx("span", { className: "font-mono", children: issuer.id })] }))] }), isInitialized && !revoked && (_jsx(Button, { color: "danger", onClick: () => {
|
|
63
25
|
const reason = window.prompt("Enter revocation reason (optional):");
|
|
64
26
|
if (reason !== null) {
|
|
65
27
|
handleRevoke(reason || undefined);
|
|
66
28
|
}
|
|
67
|
-
}, children: "Revoke Credential" }))] }) }) }) }), _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8", children: _jsx("div", { className: "grid grid-cols-1 gap-8", children: !isInitialized ? (
|
|
68
|
-
/* Initialize Section */
|
|
69
|
-
_jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsxs("div", { className: "px-6 py-5 bg-blue-50", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Initialize Credential" }), _jsx("p", { className: "text-sm text-gray-600 mt-1", children: "Create a new W3C Verifiable Credential" })] }), _jsx("div", { className: "p-6", children: _jsx(Form, { onSubmit: (e) => {
|
|
70
|
-
e.preventDefault();
|
|
71
|
-
const formData = new FormData(e.target);
|
|
72
|
-
handleInit({
|
|
73
|
-
jwt: formData.get("jwt"),
|
|
74
|
-
});
|
|
75
|
-
}, children: _jsxs("div", { className: "space-y-6", children: [_jsx(TextareaField, { name: "jwt", label: "JWT (JSON Web Token)", required: true, placeholder: "eyJhbGciOiJFUzI1NksifQ.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSJdLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmV4YW1wbGU6MTIzIn19LCJzdWIiOiJkaWQ6ZXhhbXBsZToxMjMiLCJuYmYiOjE3MDkyMDAwMDAsImlzcyI6ImRpZDpleGFtcGxlOmlzc3VlciJ9.signature", description: "Paste the signed JWT representing a W3C Verifiable Credential. The JWT should be cryptographically verified before submitting.", rows: 6 }), _jsx("div", { className: "flex justify-end pt-4", children: _jsx(Button, { type: "submit", children: "Initialize Credential from JWT" }) })] }) }) })] })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Information" }) }), _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Credential ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialId || (_jsx("span", { className: "text-gray-400 italic", children: "Not set" })) })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuer" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: issuer })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuance Date" }), _jsx("p", { className: "text-sm text-gray-900", children: issuanceDate
|
|
29
|
+
}, children: "Revoke Credential" }))] }) }) }) }), _jsx("div", { className: "max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8", children: _jsx("div", { className: "grid grid-cols-1 gap-8", children: !isInitialized ? (_jsx("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden p-8", children: _jsxs("p", { className: "text-gray-500 text-center", children: ["This credential has not been initialized yet.", _jsx("br", {}), "Use the API or mutations to create an EIP-712 signed credential."] }) })) : (_jsxs(_Fragment, { children: [_jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Information" }) }), _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Credential ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialId })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuer ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: issuer?.id })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuer Ethereum Address" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: issuer?.ethereumAddress })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Issuance Date" }), _jsx("p", { className: "text-sm text-gray-900", children: issuanceDate
|
|
76
30
|
? new Date(issuanceDate).toLocaleString()
|
|
77
|
-
: "N/A" })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Expiration Date" }), _jsx("p", { className: "text-sm text-gray-900", children: expirationDate ? (new Date(expirationDate).toLocaleString()) : (_jsx("span", { className: "text-gray-400 italic", children: "No expiration" })) })] })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Context" }), _jsx("div", { className: "flex flex-wrap gap-2", children: context && context.map((ctx, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-blue-100 text-blue-800 rounded", children: ctx }, i))) })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("div", { className: "flex flex-wrap gap-2", children: type && type.map((t, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-green-100 text-green-800 rounded", children: t }, i))) })] })] })] }),
|
|
78
|
-
e.preventDefault();
|
|
79
|
-
const formData = new FormData(e.target);
|
|
80
|
-
handleUpdateSubject(formData.get("credentialSubject"));
|
|
81
|
-
}, children: _jsxs("div", { className: "space-y-4", children: [_jsx(TextareaField, { name: "credentialSubject", label: "Credential Subject (JSON)", defaultValue: credentialSubject || "", required: true, rows: 8, description: "JSON object containing the claims about the subject" }), _jsxs("div", { className: "flex justify-end space-x-3", children: [_jsx(Button, { color: "light", onClick: () => setIsEditingSubject(false), children: "Cancel" }), _jsx(Button, { type: "submit", children: "Update Subject" })] })] }) })) : (_jsx("pre", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200 overflow-auto text-sm", children: JSON.stringify(JSON.parse(credentialSubject || "{}"), null, 2) })) })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "JWT Representation" }), !isSettingJwt && (_jsx(Button, { color: "light", onClick: () => setIsSettingJwt(true), children: jwt ? "Update JWT" : "Set JWT" }))] }) }), _jsx("div", { className: "p-6", children: isSettingJwt ? (_jsx(Form, { onSubmit: (e) => {
|
|
82
|
-
e.preventDefault();
|
|
83
|
-
const formData = new FormData(e.target);
|
|
84
|
-
handleSetJwt(formData.get("jwt"));
|
|
85
|
-
}, children: _jsxs("div", { className: "space-y-4", children: [_jsx(TextareaField, { name: "jwt", label: "JWT Token", defaultValue: jwt || "", required: true, rows: 6, description: "Signed JWT representation of the credential" }), _jsxs("div", { className: "flex justify-end space-x-3", children: [_jsx(Button, { color: "light", onClick: () => setIsSettingJwt(false), children: "Cancel" }), _jsx(Button, { type: "submit", children: "Set JWT" })] })] }) })) : jwt ? (_jsx(_Fragment, { children: _jsx("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: _jsx("p", { className: "text-xs font-mono text-gray-900 break-all", children: jwt }) }) })) : (_jsx("p", { className: "text-gray-500 italic", children: "No JWT set" })) })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Status (StatusList2021)" }), !credentialStatus && !isSettingStatus && (_jsx(Button, { color: "light", onClick: () => setIsSettingStatus(true), children: "Set Status" }))] }) }), _jsx("div", { className: "p-6", children: isSettingStatus ? (_jsx(Form, { onSubmit: (e) => {
|
|
86
|
-
e.preventDefault();
|
|
87
|
-
const formData = new FormData(e.target);
|
|
88
|
-
handleSetStatus({
|
|
89
|
-
statusId: formData.get("statusId"),
|
|
90
|
-
statusType: formData.get("statusType"),
|
|
91
|
-
statusPurpose: formData.get("statusPurpose"),
|
|
92
|
-
statusListIndex: formData.get("statusListIndex"),
|
|
93
|
-
statusListCredential: formData.get("statusListCredential"),
|
|
94
|
-
});
|
|
95
|
-
}, children: _jsxs("div", { className: "space-y-4", children: [_jsx(StringField, { name: "statusId", label: "Status ID", required: true, placeholder: "https://example.com/status/1" }), _jsx(StringField, { name: "statusType", label: "Status Type", required: true, placeholder: "StatusList2021Entry" }), _jsx(StringField, { name: "statusPurpose", label: "Status Purpose", required: true, placeholder: "revocation", description: "Either 'revocation' or 'suspension'" }), _jsx(StringField, { name: "statusListIndex", label: "Status List Index", required: true, placeholder: "12345" }), _jsx(TextareaField, { name: "statusListCredential", label: "Status List Credential URL", required: true, placeholder: "https://example.com/status-lists/1", rows: 2 }), _jsxs("div", { className: "flex justify-end space-x-3", children: [_jsx(Button, { color: "light", onClick: () => setIsSettingStatus(false), children: "Cancel" }), _jsx(Button, { type: "submit", children: "Set Status" })] })] }) })) : credentialStatus ? (_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-4", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Status ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialStatus.id })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialStatus.type })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Purpose" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialStatus.statusPurpose })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "List Index" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialStatus.statusListIndex })] }), _jsxs("div", { className: "col-span-2 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Status List Credential" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialStatus.statusListCredential })] })] })) : (_jsx("p", { className: "text-gray-500 italic", children: "No credential status set" })) })] }), revoked && (_jsxs("div", { className: "bg-red-50 rounded-xl shadow-md border border-red-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-red-100", children: _jsx("h2", { className: "text-2xl font-bold text-red-900", children: "Revocation Information" }) }), _jsx("div", { className: "p-6", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-white p-4 rounded-lg border border-red-200", children: [_jsx("label", { className: "block text-xs font-semibold text-red-600 uppercase tracking-wider mb-2", children: "Revoked At" }), _jsx("p", { className: "text-sm text-gray-900", children: revokedAt
|
|
31
|
+
: "N/A" })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Expiration Date" }), _jsx("p", { className: "text-sm text-gray-900", children: expirationDate ? (new Date(expirationDate).toLocaleString()) : (_jsx("span", { className: "text-gray-400 italic", children: "No expiration" })) })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Schema ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialSchema?.id })] })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Context" }), _jsx("div", { className: "flex flex-wrap gap-2", children: context && context.map((ctx, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-blue-100 text-blue-800 rounded", children: ctx }, i))) })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("div", { className: "flex flex-wrap gap-2", children: type && type.map((t, i) => (_jsx("span", { className: "inline-block px-2 py-1 text-xs font-mono bg-green-100 text-green-800 rounded", children: t }, i))) })] })] })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-gray-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "Credential Subject" }) }), _jsx("div", { className: "p-6", children: _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Subject ID" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: credentialSubject?.id || (_jsx("span", { className: "text-gray-400 italic", children: "Not set" })) })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "App" }), _jsx("p", { className: "text-sm text-gray-900", children: credentialSubject?.app })] })] }) })] }), _jsxs("div", { className: "bg-white rounded-xl shadow-md border border-gray-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-purple-50", children: _jsx("h2", { className: "text-2xl font-bold text-gray-900", children: "EIP-712 Proof" }) }), _jsxs("div", { className: "p-6", children: [_jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Verification Method" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: proof?.verificationMethod })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Ethereum Address" }), _jsx("p", { className: "text-sm font-mono text-gray-900 break-all", children: proof?.ethereumAddress })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Created" }), _jsx("p", { className: "text-sm text-gray-900", children: proof?.created ? new Date(proof.created).toLocaleString() : "N/A" })] }), _jsxs("div", { className: "bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Type" }), _jsx("p", { className: "text-sm text-gray-900", children: proof?.type })] })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "Signature (EIP-712)" }), _jsx("p", { className: "text-xs font-mono text-gray-900 break-all", children: proof?.proofValue })] }), _jsxs("div", { className: "mt-6 bg-gray-50 p-4 rounded-lg border border-gray-200", children: [_jsx("label", { className: "block text-xs font-semibold text-gray-500 uppercase tracking-wider mb-2", children: "EIP-712 Domain" }), _jsx("pre", { className: "text-xs text-gray-900 overflow-auto", children: JSON.stringify(proof?.eip712?.domain, null, 2) })] })] })] }), revoked && (_jsxs("div", { className: "bg-red-50 rounded-xl shadow-md border border-red-200 overflow-hidden", children: [_jsx("div", { className: "px-6 py-5 bg-red-100", children: _jsx("h2", { className: "text-2xl font-bold text-red-900", children: "Revocation Information" }) }), _jsx("div", { className: "p-6", children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "bg-white p-4 rounded-lg border border-red-200", children: [_jsx("label", { className: "block text-xs font-semibold text-red-600 uppercase tracking-wider mb-2", children: "Revoked At" }), _jsx("p", { className: "text-sm text-gray-900", children: revokedAt
|
|
96
32
|
? new Date(revokedAt).toLocaleString()
|
|
97
33
|
: "N/A" })] }), revocationReason && (_jsxs("div", { className: "bg-white p-4 rounded-lg border border-red-200", children: [_jsx("label", { className: "block text-xs font-semibold text-red-600 uppercase tracking-wider mb-2", children: "Revocation Reason" }), _jsx("p", { className: "text-sm text-gray-900", children: revocationReason })] }))] }) })] }))] })) }) })] }));
|
|
98
34
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/renown-credential-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/renown-user-editor/editor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAalD,MAAM,MAAM,MAAM,GAAG,WAAW,CAAC;AAEjC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,2CA8VnC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useSelectedDocument, } from "@powerhousedao/reactor-browser";
|
|
2
|
+
import { useDocumentById, useSelectedDocument, } from "@powerhousedao/reactor-browser";
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { actions, } from "../../document-models/renown-user/index.js";
|
|
5
5
|
import { Form, StringField, UrlField, Button, } from "@powerhousedao/document-engineering";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/renown-user-editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,MAAM,EAAE,YAOpB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Manifest } from "document-model";
|
|
2
2
|
export declare const manifest: Manifest;
|
|
3
|
-
export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/renown-user/
|
|
3
|
+
export declare const documentModels: (import("document-model").DocumentModelModule<import("./document-models/renown-user/index.js").RenownUserPHState> | import("document-model").DocumentModelModule<import("./document-models/renown-credential/index.js").RenownCredentialPHState>)[];
|
|
4
4
|
export declare const editors: import("document-model").EditorModule[];
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,QAAQ,EAAE,QAAuB,CAAC;AAC/C,eAAO,MAAM,cAAc,qPAAuC,CAAC;AACnE,eAAO,MAAM,OAAO,yCAAgC,CAAC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* This file aggregates all processor factories
|
|
3
3
|
* Auto-generated by codegen - DO NOT EDIT MANUALLY
|
|
4
4
|
*/
|
|
5
|
-
import { type ProcessorRecord, type IProcessorHostModule } from "document-drive
|
|
5
|
+
import { type ProcessorRecord, type IProcessorHostModule } from "document-drive";
|
|
6
6
|
import { type PHDocumentHeader } from "document-model";
|
|
7
|
-
|
|
7
|
+
import { type IProcessorHostModuleWithReactor } from "./renown-credential/factory.js";
|
|
8
|
+
export declare const processorFactory: (module: IProcessorHostModule | IProcessorHostModuleWithReactor) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
|
|
9
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../processors/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAE1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,oBAAoB,GAAG,+BAA+B,MAgBhD,aAAa,gBAAgB,KAAG,OAAO,CAAC,eAAe,EAAE,CAUxE,CAAC"}
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
* This file aggregates all processor factories
|
|
3
3
|
* Auto-generated by codegen - DO NOT EDIT MANUALLY
|
|
4
4
|
*/
|
|
5
|
+
import {} from "document-drive";
|
|
6
|
+
import {} from "document-model";
|
|
5
7
|
// Import processor factories here as they are generated
|
|
6
8
|
import { renownUserProcessorFactory } from "./renown-user/factory.js";
|
|
9
|
+
import { renownCredentialProcessorFactory, } from "./renown-credential/factory.js";
|
|
7
10
|
export const processorFactory = (module) => {
|
|
8
11
|
// Initialize all processor factories once with the module
|
|
9
12
|
const factories = [];
|
|
10
13
|
// Add processors here as they are generated
|
|
11
14
|
factories.push(renownUserProcessorFactory(module));
|
|
15
|
+
factories.push(renownCredentialProcessorFactory(module));
|
|
12
16
|
// Return the inner function that will be called for each drive
|
|
13
17
|
return async (driveHeader) => {
|
|
14
18
|
const processors = [];
|
|
@@ -2,4 +2,6 @@ export {};
|
|
|
2
2
|
export * as RenownUserProcessor from "./renown-user/index.js";
|
|
3
3
|
export { renownUserProcessorFactory } from "./renown-user/factory.js";
|
|
4
4
|
export * as RenownCredentialProcessor from "./renown-credential/index.js";
|
|
5
|
+
export { renownCredentialProcessorFactory } from "./renown-credential/factory.js";
|
|
5
6
|
export * from "./factory.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../processors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AACV,OAAO,KAAK,mBAAmB,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,KAAK,yBAAyB,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,cAAc,cAAc,CAAC"}
|
package/dist/processors/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
export {};
|
|
1
2
|
export * as RenownUserProcessor from "./renown-user/index.js";
|
|
2
3
|
export { renownUserProcessorFactory } from "./renown-user/factory.js";
|
|
3
4
|
export * as RenownCredentialProcessor from "./renown-credential/index.js";
|
|
5
|
+
export { renownCredentialProcessorFactory } from "./renown-credential/factory.js";
|
|
4
6
|
export * from "./factory.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ProcessorRecord, type IProcessorHostModule } from "document-drive";
|
|
2
|
+
import { type PHDocumentHeader } from "document-model";
|
|
3
|
+
import { type IReactor } from "./index.js";
|
|
4
|
+
export interface IProcessorHostModuleWithReactor extends IProcessorHostModule {
|
|
5
|
+
reactor?: IReactor;
|
|
6
|
+
}
|
|
7
|
+
export declare const renownCredentialProcessorFactory: (module: IProcessorHostModuleWithReactor) => (driveHeader: PHDocumentHeader) => Promise<ProcessorRecord[]>;
|
|
8
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/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;AACvD,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,+BAAgC,SAAQ,oBAAoB;IAC3E,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,eAAO,MAAM,gCAAgC,GAC1C,QAAQ,+BAA+B,MACjC,aAAa,gBAAgB,KAAG,OAAO,CAAC,eAAe,EAAE,CAgC/D,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {} from "document-drive";
|
|
2
|
+
import {} from "document-drive";
|
|
3
|
+
import {} from "document-model";
|
|
4
|
+
import { RenownCredentialProcessor } from "./index.js";
|
|
5
|
+
export const renownCredentialProcessorFactory = (module) => async (driveHeader) => {
|
|
6
|
+
// Create a namespace for the processor and the provided drive id
|
|
7
|
+
const namespace = RenownCredentialProcessor.getNamespace("renown-credential");
|
|
8
|
+
// Create a namespaced db for the processor
|
|
9
|
+
const store = await module.relationalDb.createNamespace(namespace);
|
|
10
|
+
// Create a filter for the processor
|
|
11
|
+
const filter = {
|
|
12
|
+
branch: ["main"],
|
|
13
|
+
documentId: ["*"],
|
|
14
|
+
documentType: ["powerhouse/renown-credential"],
|
|
15
|
+
scope: ["global"],
|
|
16
|
+
};
|
|
17
|
+
// Create the processor with reactor support
|
|
18
|
+
const processor = new RenownCredentialProcessor(namespace, filter, store, module.reactor);
|
|
19
|
+
return [
|
|
20
|
+
{
|
|
21
|
+
processor,
|
|
22
|
+
filter,
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
};
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import { RelationalDbProcessor } from "document-drive
|
|
2
|
-
import { type InternalTransmitterUpdate } from "document-drive
|
|
1
|
+
import { RelationalDbProcessor, type RelationalDbProcessorFilter, type IRelationalDb } from "document-drive";
|
|
2
|
+
import { type InternalTransmitterUpdate } from "document-drive";
|
|
3
3
|
import { type DB } from "./schema.js";
|
|
4
|
+
export interface IReactor {
|
|
5
|
+
deleteDocument(documentId: string): Promise<boolean>;
|
|
6
|
+
}
|
|
4
7
|
export declare class RenownCredentialProcessor extends RelationalDbProcessor<DB> {
|
|
8
|
+
private reactor?;
|
|
9
|
+
constructor(namespace: string, filter: RelationalDbProcessorFilter, relationalDb: IRelationalDb<DB>, reactor?: IReactor);
|
|
5
10
|
static getNamespace(driveId: string): string;
|
|
6
11
|
initAndUpgrade(): Promise<void>;
|
|
7
12
|
onStrands(strands: InternalTransmitterUpdate[]): Promise<void>;
|
|
8
13
|
onDisconnect(): Promise<void>;
|
|
9
14
|
}
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../processors/renown-credential/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,KAAK,aAAa,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,MAAM,WAAW,QAAQ;IACvB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAED,qBAAa,yBAA0B,SAAQ,qBAAqB,CAAC,EAAE,CAAC;IACtE,OAAO,CAAC,OAAO,CAAC,CAAW;gBAGzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,2BAA2B,EACnC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC,EAC/B,OAAO,CAAC,EAAE,QAAQ;WASJ,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAStC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B,SAAS,CACtB,OAAO,EAAE,yBAAyB,EAAE,GACnC,OAAO,CAAC,IAAI,CAAC;IAmNV,YAAY;CACnB"}
|