@powerhousedao/codegen 0.37.0 → 0.37.2
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/src/codegen/.hygen/package.json +6 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +16 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +8 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +5 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +7 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +25 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +9 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/lib.esm.t +9 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/lib.inject_export.esm.t +7 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +49 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +35 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +41 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +6 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +19 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +43 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/actions.esm.t +22 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +34 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customReducers.esm.t +20 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +53 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/error.esm.t +40 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +37 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/operations.esm.t +17 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/resolvers.esm.t +62 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/schema.esm.t +31 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +23 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +22 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/lib.esm.t +9 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/lib.inject_export.esm.t +7 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/story.esm.t +31 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.esm.t +59 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/utils.esm.t +100 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +66 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +9 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.inject_export.esm.t +7 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.esm.t +62 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/lib.esm.t +9 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/lib.inject_export.esm.t +8 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +61 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.esm.t +9 -0
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/lib.inject_export.esm.t +7 -0
- package/dist/src/codegen/hygen.d.ts +1 -1
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +2 -2
- package/dist/src/codegen/index.d.ts +0 -1
- package/dist/src/codegen/index.d.ts.map +1 -1
- package/dist/src/codegen/index.js +0 -1
- package/dist/tsconfig.hygen.tsbuildinfo +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -6
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +0 -25
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +0 -60
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +0 -24
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +0 -25
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.d.ts +0 -22
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-mutations/index.js +0 -19
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +0 -21
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +0 -14
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +0 -8
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +0 -21
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.d.ts +0 -20
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.js +0 -13
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +0 -16
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +0 -1
- package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +0 -9
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
|
|
3
|
+
unless_exists: true
|
|
4
|
+
---
|
|
5
|
+
<% if(!documentTypes.length){ %>import { Action, EditorProps } from 'document-model/document';<% } else { %>import { EditorProps } from 'document-model/document';<% } %>
|
|
6
|
+
<% documentTypes.forEach(type => { _%>
|
|
7
|
+
import { <%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState, actions } from "<%= documentTypesMap[type].importPath %>";
|
|
8
|
+
%><% }); _%>
|
|
9
|
+
import { utils as documentModelUtils } from 'document-model/document';
|
|
10
|
+
import { Button } from '@powerhousedao/design-system';
|
|
11
|
+
|
|
12
|
+
export type IProps = <% if(!documentTypes.length){ %>EditorProps<unknown, Action><% } else { %><% documentTypes.forEach((type, index) => { _%>EditorProps<<%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState%>%>><% if(index < documentTypes.length - 1){ %> | <% }%><% }); _%> <% } %>;
|
|
13
|
+
|
|
14
|
+
export default function Editor(props: IProps) {
|
|
15
|
+
// generate a random id
|
|
16
|
+
// const id = documentModelUtils.hashKey();
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<div>
|
|
20
|
+
<Button onClick={() => console.log('Hello world!')}>My Button</Button>
|
|
21
|
+
</div>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
import { ExtendedEditor, EditorContextProps } from 'document-model-libs';
|
|
6
|
+
import Editor from './editor';
|
|
7
|
+
<% documentTypes.forEach(type => { _%>
|
|
8
|
+
import { <%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState } from "<%= documentTypesMap[type].importPath %>";
|
|
9
|
+
%><% }); _%>
|
|
10
|
+
|
|
11
|
+
export const module: <% if(!documentTypes.length){ %>ExtendedEditor<unknown, Action, unknown, unknown><% } else { %><% documentTypes.forEach((type, index) => { _%>ExtendedEditor<<%= documentTypesMap[type].name %>State, <%= documentTypesMap[type].name %>Action, <%= documentTypesMap[type].name %>LocalState, EditorContextProps%>%>> <% if(index < documentTypes.length - 1){ %>| <% }%><% }); _%> <% } %>= {
|
|
12
|
+
Component: Editor,
|
|
13
|
+
documentTypes: [<% if(!documentTypes.length){ %>'*'<% } else { %><% documentTypes.forEach(type => { _%>"<%= type %>", %><% }); _%> <% } %>],
|
|
14
|
+
config: {
|
|
15
|
+
id: 'editor-id',
|
|
16
|
+
disableExternalControls: true,
|
|
17
|
+
documentToolbarEnabled: true,
|
|
18
|
+
showSwitchboardLink: true,
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default module;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/<%= h.changeCase.param(name) %>.stories.tsx"
|
|
3
|
+
unless_exists: true
|
|
4
|
+
---
|
|
5
|
+
import Editor from './editor';
|
|
6
|
+
import { createDocumentStory } from 'document-model-libs/utils';
|
|
7
|
+
<% if(!documentTypes.length){ %>import { baseReducer, utils } from 'document-model/document';<% } %>
|
|
8
|
+
<% documentTypes.forEach(type => { _%>
|
|
9
|
+
import * as <%= documentTypesMap[type].name %>Module from "<%= documentTypesMap[type].importPath %>";
|
|
10
|
+
%><% }); _%>
|
|
11
|
+
|
|
12
|
+
<% if(!documentTypes.length){ %>
|
|
13
|
+
const { meta, CreateDocumentStory: <%= h.changeCase.pascal(name) %> } = createDocumentStory(
|
|
14
|
+
Editor,
|
|
15
|
+
(...args) => baseReducer(...args, document => document),
|
|
16
|
+
utils.createExtendedState(),
|
|
17
|
+
);
|
|
18
|
+
export { <%= h.changeCase.pascal(name) %> };
|
|
19
|
+
<% } %>
|
|
20
|
+
|
|
21
|
+
<% documentTypes.forEach((type, index) => { _%>
|
|
22
|
+
const { <% if(index === 0){ %>meta, <% } %>CreateDocumentStory: <%= documentTypesMap[type].name %> } = createDocumentStory(
|
|
23
|
+
Editor,
|
|
24
|
+
<%= documentTypesMap[type].name %>Module.reducer,
|
|
25
|
+
<%= documentTypesMap[type].name %>Module.utils.createDocument(),
|
|
26
|
+
);
|
|
27
|
+
export { <%= documentTypesMap[type].name %> }
|
|
28
|
+
|
|
29
|
+
%><% }); _%>
|
|
30
|
+
|
|
31
|
+
export default { ...meta, title: '<%= h.changeCase.title(name) %>' };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
import { IBaseDocumentDriveServer } from "document-drive";
|
|
6
|
+
import { actions } from "document-model";
|
|
7
|
+
import {
|
|
8
|
+
addDocument,
|
|
9
|
+
addFolder,
|
|
10
|
+
initReactorWithRemoteDrive
|
|
11
|
+
} from "./utils";
|
|
12
|
+
|
|
13
|
+
async function main() {
|
|
14
|
+
const driveServer = (await initReactorWithRemoteDrive(
|
|
15
|
+
"http://localhost:4001/d/powerhouse"
|
|
16
|
+
)) as IBaseDocumentDriveServer;
|
|
17
|
+
|
|
18
|
+
const driveIds = await driveServer.getDrives();
|
|
19
|
+
let drive = await driveServer.getDrive(driveIds[0]);
|
|
20
|
+
|
|
21
|
+
// add folder to root
|
|
22
|
+
await addFolder(driveServer, driveIds[0], "example-folder", "Example Folder");
|
|
23
|
+
drive = await driveServer.getDrive(driveIds[0]);
|
|
24
|
+
|
|
25
|
+
// get root folder
|
|
26
|
+
const rootDirId = drive.state.global.nodes.find(
|
|
27
|
+
(e) => e.name === "Example Folder"
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
// check if root folder exists and throw error if it doesn't
|
|
31
|
+
if (!rootDirId) {
|
|
32
|
+
throw new Error("Root directory not found");
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// add document to root folder
|
|
36
|
+
await addDocument(
|
|
37
|
+
driveServer,
|
|
38
|
+
driveIds[0],
|
|
39
|
+
"example-document",
|
|
40
|
+
"Example Document",
|
|
41
|
+
"powerhouse/document-model",
|
|
42
|
+
rootDirId.id
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
// set model name to example document
|
|
46
|
+
await driveServer.addAction(
|
|
47
|
+
driveIds[0],
|
|
48
|
+
"example-document",
|
|
49
|
+
actions.setModelName({
|
|
50
|
+
name: "Example Document",
|
|
51
|
+
})
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
// get document
|
|
55
|
+
const document = await driveServer.getDocument(driveIds[0], "example-document");
|
|
56
|
+
console.log(document.state.global);
|
|
57
|
+
|
|
58
|
+
process.exit(0);
|
|
59
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/utils.ts"
|
|
3
|
+
unless_exists: true
|
|
4
|
+
---
|
|
5
|
+
import { randomUUID } from "crypto";
|
|
6
|
+
import { DocumentDriveServer, IBaseDocumentDriveServer } from "document-drive";
|
|
7
|
+
import {
|
|
8
|
+
actions,
|
|
9
|
+
generateSynchronizationUnits
|
|
10
|
+
} from "document-model-libs/document-drive";
|
|
11
|
+
import * as DocumentModelsLibs from "document-model-libs/document-models";
|
|
12
|
+
import { DocumentModel } from "document-model/document";
|
|
13
|
+
import { module as DocumentModelLib } from "document-model";
|
|
14
|
+
import * as LocalDocumentModels from "../../document-models";
|
|
15
|
+
|
|
16
|
+
export const addFolder = (
|
|
17
|
+
driveServer: IBaseDocumentDriveServer,
|
|
18
|
+
driveId: string,
|
|
19
|
+
nodeId: string,
|
|
20
|
+
nodeName: string,
|
|
21
|
+
parentFolder: string | undefined = undefined
|
|
22
|
+
) => {
|
|
23
|
+
return driveServer.addDriveAction(
|
|
24
|
+
driveId,
|
|
25
|
+
actions.addFolder({
|
|
26
|
+
id: nodeId,
|
|
27
|
+
name: nodeName,
|
|
28
|
+
parentFolder: parentFolder,
|
|
29
|
+
})
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export const addDocument = async (
|
|
34
|
+
driveServer: IBaseDocumentDriveServer,
|
|
35
|
+
driveId: string,
|
|
36
|
+
documentId: string,
|
|
37
|
+
documentName: string,
|
|
38
|
+
documentType: string,
|
|
39
|
+
parentFolder: string
|
|
40
|
+
) => {
|
|
41
|
+
const drive = await driveServer.getDrive(driveId);
|
|
42
|
+
return driveServer.addDriveAction(
|
|
43
|
+
driveId,
|
|
44
|
+
actions.addFile({
|
|
45
|
+
documentType,
|
|
46
|
+
id: documentId,
|
|
47
|
+
name: documentName,
|
|
48
|
+
parentFolder,
|
|
49
|
+
synchronizationUnits: generateSynchronizationUnits(drive.state.global, [
|
|
50
|
+
"global",
|
|
51
|
+
]),
|
|
52
|
+
})
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const initReactorWithRemoteDrive = async (driveUrl: string) => {
|
|
57
|
+
const documentModels = [
|
|
58
|
+
DocumentModelLib,
|
|
59
|
+
...Object.values(LocalDocumentModels),
|
|
60
|
+
...Object.values(DocumentModelsLibs),
|
|
61
|
+
] as DocumentModel[];
|
|
62
|
+
const driveServer = new DocumentDriveServer(documentModels);
|
|
63
|
+
await driveServer.initialize();
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
// init drive server with document models
|
|
66
|
+
const listenerId = randomUUID();
|
|
67
|
+
driveServer.addRemoteDrive(driveUrl, {
|
|
68
|
+
availableOffline: true,
|
|
69
|
+
listeners: [
|
|
70
|
+
{
|
|
71
|
+
block: true,
|
|
72
|
+
callInfo: {
|
|
73
|
+
data: driveUrl,
|
|
74
|
+
name: "switchboard-push",
|
|
75
|
+
transmitterType: "SwitchboardPush",
|
|
76
|
+
},
|
|
77
|
+
filter: {
|
|
78
|
+
branch: ["main"],
|
|
79
|
+
documentId: ["*"],
|
|
80
|
+
documentType: ["*"],
|
|
81
|
+
scope: ["global"],
|
|
82
|
+
},
|
|
83
|
+
label: "Switchboard Sync",
|
|
84
|
+
listenerId,
|
|
85
|
+
system: true,
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
sharingType: "public",
|
|
89
|
+
triggers: [],
|
|
90
|
+
pullInterval: 100,
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
driveServer.on("syncStatus", (driveId, status, error, syncUnitStatus) => {
|
|
94
|
+
if (driveId !== driveId.split("/").pop() || status !== "SUCCESS") {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
return resolve(driveServer);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
import { generateId } from "document-model/utils";
|
|
6
|
+
import {
|
|
7
|
+
AnalyticsProcessor,
|
|
8
|
+
ProcessorOptions,
|
|
9
|
+
ProcessorUpdate,
|
|
10
|
+
AnalyticsPath
|
|
11
|
+
} from "@powerhousedao/reactor-api";
|
|
12
|
+
<% documentTypes.forEach(type => { _%>
|
|
13
|
+
import { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>";
|
|
14
|
+
%><% }); _%>
|
|
15
|
+
<% if(documentTypes.length === 0) { %>import { Document } from "document-model/document";<% } %>
|
|
16
|
+
type DocumentType = <% if(documentTypes.length) { %><%= documentTypes.map(type => `${documentTypesMap[type].name}Document`).join(" | ") %> <% } else { %>Document<% } %>;
|
|
17
|
+
|
|
18
|
+
export class <%= pascalName %>Processor extends AnalyticsProcessor<% if(documentTypes.length) { %><DocumentType><% } %> {
|
|
19
|
+
|
|
20
|
+
protected processorOptions: ProcessorOptions = {
|
|
21
|
+
listenerId: generateId(),
|
|
22
|
+
filter: {
|
|
23
|
+
branch: ["main"],
|
|
24
|
+
documentId: ["*"],
|
|
25
|
+
documentType: [<% if(documentTypes.length) { %><%- documentTypes.map(type => `"${type}"`).join(", ") %><% } else { %>"*"<% } %>],
|
|
26
|
+
scope: ["global"],
|
|
27
|
+
},
|
|
28
|
+
block: false,
|
|
29
|
+
label: "<%= name %>",
|
|
30
|
+
system: true,
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
async onStrands(strands: ProcessorUpdate<DocumentType>[]): Promise<void> {
|
|
34
|
+
if (strands.length === 0) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
for (const strand of strands) {
|
|
39
|
+
if (strand.operations.length === 0) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const firstOp = strand.operations[0];
|
|
44
|
+
const source = AnalyticsPath.fromString(
|
|
45
|
+
`ph/${strand.driveId}/${strand.documentId}/${strand.branch}/${strand.scope}`,
|
|
46
|
+
);
|
|
47
|
+
if (firstOp.index === 0) {
|
|
48
|
+
await this.clearSource(source);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
for (const operation of strand.operations) {
|
|
52
|
+
console.log(">>> ", operation.type);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async onDisconnect() {}
|
|
58
|
+
|
|
59
|
+
private async clearSource(source: AnalyticsPath) {
|
|
60
|
+
try {
|
|
61
|
+
await this.analyticsStore.clearSeriesBySource(source, true);
|
|
62
|
+
} catch (e) {
|
|
63
|
+
console.error(e);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-operational/index.esm.t
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
import { generateId } from "document-model/utils";
|
|
6
|
+
import {
|
|
7
|
+
OperationalProcessor,
|
|
8
|
+
ProcessorOptions,
|
|
9
|
+
ProcessorSetupArgs,
|
|
10
|
+
ProcessorUpdate,
|
|
11
|
+
} from "@powerhousedao/reactor-api";
|
|
12
|
+
<% documentTypes.forEach(type => { _%>
|
|
13
|
+
import { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>";
|
|
14
|
+
%><% }); _%>
|
|
15
|
+
<% if(documentTypes.length === 0) { %>import { Document } from "document-model/document";<% } %>
|
|
16
|
+
type DocumentType = <% if(documentTypes.length) { %><%= documentTypes.map(type => `${documentTypesMap[type].name}Document`).join(" | ") %> <% } else { %>Document<% } %>;
|
|
17
|
+
|
|
18
|
+
export class <%= pascalName %>Processor extends OperationalProcessor<% if(documentTypes.length) { %><DocumentType><% } %> {
|
|
19
|
+
|
|
20
|
+
protected processorOptions: ProcessorOptions = {
|
|
21
|
+
listenerId: generateId(),
|
|
22
|
+
filter: {
|
|
23
|
+
branch: ["main"],
|
|
24
|
+
documentId: ["*"],
|
|
25
|
+
documentType: [<% if(documentTypes.length) { %><%- documentTypes.map(type => `"${type}"`).join(", ") %><% } else { %>"*"<% } %>],
|
|
26
|
+
scope: ["global"],
|
|
27
|
+
},
|
|
28
|
+
block: false,
|
|
29
|
+
label: "<%= name %>",
|
|
30
|
+
system: true,
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
async onStrands(strands: ProcessorUpdate<DocumentType>[]): Promise<void> {
|
|
34
|
+
if (strands.length === 0) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
for (const strand of strands) {
|
|
39
|
+
if (strand.operations.length === 0) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
for (const operation of strand.operations) {
|
|
44
|
+
console.log(">>> ", operation.type);
|
|
45
|
+
await this.operationalStore("index_search_op").insert({
|
|
46
|
+
documentId: strand.documentId,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async onSetup(args: ProcessorSetupArgs) {
|
|
53
|
+
await super.onSetup(args);
|
|
54
|
+
await this.operationalStore.schema.createTable("index_search_op", (table) => {
|
|
55
|
+
table.increments("id").primary();
|
|
56
|
+
table.string("documentId").notNullable();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
async onDisconnect() {}
|
|
61
|
+
|
|
62
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
|
|
3
|
+
force: true
|
|
4
|
+
---
|
|
5
|
+
import { Subgraph } from "@powerhousedao/reactor-api";
|
|
6
|
+
import { gql } from "graphql-tag";
|
|
7
|
+
<% if (loadFromFile) { %>
|
|
8
|
+
import { readFileSync } from "fs";
|
|
9
|
+
import path from "path";
|
|
10
|
+
import { getResolvers } from "./resolvers";
|
|
11
|
+
|
|
12
|
+
// TODO: find a better way to import the graphql schema
|
|
13
|
+
const gqlFile = path.join(path.resolve(path.dirname('')), './subgraphs/<%= h.changeCase.param(name) %>/schema.graphql');
|
|
14
|
+
const gqlCode = readFileSync(gqlFile).toString();
|
|
15
|
+
<% } %>
|
|
16
|
+
|
|
17
|
+
export class <%= pascalName %>Subgraph extends Subgraph {
|
|
18
|
+
name = "<%= h.changeCase.param(name) %>";
|
|
19
|
+
<% if (loadFromFile) { %>
|
|
20
|
+
typeDefs = gql`${gqlCode}`;
|
|
21
|
+
|
|
22
|
+
resolvers = getResolvers(this, "powerhouse");
|
|
23
|
+
additionalContextFields = {};
|
|
24
|
+
async onSetup() {}
|
|
25
|
+
async onDisconnect() {}
|
|
26
|
+
<% } else { %>
|
|
27
|
+
|
|
28
|
+
resolvers = {
|
|
29
|
+
Query: {
|
|
30
|
+
example: {
|
|
31
|
+
resolve: async (parent, args, context, info) => {
|
|
32
|
+
return "example";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
typeDefs = gql`
|
|
39
|
+
type Query {
|
|
40
|
+
example(id: ID!): String
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
|
|
44
|
+
additionalContextFields = {
|
|
45
|
+
example: "test"
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async onSetup() {
|
|
49
|
+
await this.createOperationalTables();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
async createOperationalTables() {
|
|
53
|
+
await this.operationalStore.schema.createTableIfNotExists("example", (table) => {
|
|
54
|
+
table.string("id").primary();
|
|
55
|
+
table.string("name");
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async onDisconnect() {}
|
|
60
|
+
<% } %>
|
|
61
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DocumentTypesMap } from "./index.js";
|
|
2
1
|
import { DocumentModelState } from "document-model";
|
|
2
|
+
import { DocumentTypesMap } from "./index.js";
|
|
3
3
|
export declare function generateAll(dir: string, { watch, skipFormat }?: {
|
|
4
4
|
watch?: boolean | undefined;
|
|
5
5
|
skipFormat?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hygen.d.ts","sourceRoot":"","sources":["../../../src/codegen/hygen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6C9C,wBAAsB,WAAW,CAC/B,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE;;;CAAK,iBAoB3C;AAED,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,EAAE,MAAM,EACX,EAAE,KAAa,EAAE,UAAkB,EAAE;;;CAAK,iBAoC3C;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EACzB,EAAE,UAAkB,EAAE;;CAAK,iBAoB5B;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,MAAM,EACzB,IAAI,SAAc,EAClB,EAAE,UAAkB,EAAE;;CAAK,iBAuB5B;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,kBAAkB,GAAG,IAAI,EACxC,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE;;CAAK,iBAoC5B;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,EAAE,UAAkB,EAAE;;CAAK,iBAgB5B"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { pascalCase } from "change-case";
|
|
2
|
+
import { Logger, runner } from "hygen";
|
|
1
3
|
import fs from "node:fs";
|
|
2
4
|
import { createRequire } from "node:module";
|
|
3
5
|
import path from "node:path";
|
|
4
6
|
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { Logger, runner } from "hygen";
|
|
6
7
|
import { loadDocumentModel } from "./utils.js";
|
|
7
|
-
import { pascalCase } from "change-case";
|
|
8
8
|
const require = createRequire(import.meta.url);
|
|
9
9
|
const __dirname = import.meta.dirname || path.dirname(fileURLToPath(import.meta.url));
|
|
10
10
|
const logger = new Logger(console.log.bind(console));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AA4CpE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CACnC,MAAM,EACN;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CACrC,CAAC;AAyDF,wBAAsB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,iBAItD;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,iBA4B5E;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAwBzB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,MAAM,EAAE,gBAAgB,iBAQzB;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,WAAW,GAAG,aAAa,EACjC,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,gBAAgB,iBAqBzB;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAGzB"}
|