@powerhousedao/codegen 3.3.0-dev.3 → 3.3.0-dev.5

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.
@@ -3,7 +3,7 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
3
3
  force: true
4
4
  ---
5
5
  import { type ProcessorRecord } from "document-drive/processors/types";
6
- import { type IProcessorHostModule } from "@powerhousedao/reactor-api";
6
+ import { type IProcessorHostModule } from "document-drive/processors/types";
7
7
  import { <%= pascalName %>Processor } from "./index.js";
8
8
 
9
9
  export const <%= h.changeCase.pascal(name) %>ProcessorFactory = (module: IProcessorHostModule) => (driveId: string): ProcessorRecord[] => {
@@ -8,7 +8,7 @@ unless_exists: true
8
8
  */
9
9
 
10
10
  import { type ProcessorRecord } from "document-drive/processors/types";
11
- import { type IProcessorHostModule } from "@powerhousedao/reactor-api";
11
+ import { type IProcessorHostModule } from "document-drive/processors/types";
12
12
 
13
13
  // Import processor factories here as they are generated
14
14
 
@@ -3,15 +3,15 @@ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/factory.ts"
3
3
  force: true
4
4
  ---
5
5
  import { type ProcessorRecord } from "document-drive/processors/types";
6
- import { type IProcessorHostModule } from "@powerhousedao/reactor-api";
6
+ import { type IProcessorHostModule } from "document-drive/processors/types";
7
7
  import { <%= pascalName %>Processor } from "./index.js";
8
8
 
9
9
  export const <%= h.changeCase.camel(name) %>ProcessorFactory = (module: IProcessorHostModule) => (driveId: string): ProcessorRecord[] => {
10
- const processor = new <%= pascalName %>Processor();
10
+ const processor = new <%= pascalName %>Processor(driveId, module.operationalStore);
11
11
  return [
12
12
  {
13
13
  processor,
14
- filter: processor.processorOptions.filter,
14
+ filter: processor.filter,
15
15
  },
16
16
  ];
17
17
  }
@@ -2,35 +2,34 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/index.ts"
3
3
  force: true
4
4
  ---
5
- import { generateId } from "document-model";
6
- import type {
7
- OperationalProcessor,
8
- ProcessorOptions,
9
- ProcessorSetupArgs,
10
- ProcessorUpdate,
11
- } from "@powerhousedao/reactor-api";
5
+ import { OperationalProcessor, type OperationalProcessorFilter } from "document-drive/processors/operational-processor";
6
+ import { type InternalTransmitterUpdate } from "document-drive/server/listener/transmitter/internal";
7
+ import { up } from "./migrations.js";
8
+ import { type DB } from "./schema.js";
12
9
  <% documentTypes.forEach(type => { _%>
13
10
  import type { <%= documentTypesMap[type].name %>Document } from "<%= documentTypesMap[type].importPath %>/index.js";
14
11
  %><% }); _%>
15
- <% if(documentTypes.length === 0) { %>import { PHDocument } from "document-model";<% } %>
12
+ <% if(documentTypes.length === 0) { %>import { type PHDocument } from "document-model";<% } %>
16
13
  type DocumentType = <% if(documentTypes.length) { %><%= documentTypes.map(type => `${documentTypesMap[type].name}Document`).join(" | ") %> <% } else { %>PHDocument<% } %>;
17
14
 
18
- export class <%= pascalName %>Processor extends OperationalProcessor<% if(documentTypes.length) { %><DocumentType><% } %> {
15
+ export class <%= pascalName %>Processor extends OperationalProcessor<DB> {
19
16
 
20
- protected processorOptions: ProcessorOptions = {
21
- listenerId: generateId(),
22
- filter: {
17
+ get filter(): OperationalProcessorFilter {
18
+ return {
23
19
  branch: ["main"],
24
20
  documentId: ["*"],
25
21
  documentType: [<% if(documentTypes.length) { %><%- documentTypes.map(type => `"${type}"`).join(", ") %><% } else { %>"*"<% } %>],
26
22
  scope: ["global"],
27
- },
28
- block: false,
29
- label: "<%= name %>",
30
- system: true,
31
- };
23
+ }
24
+ }
25
+
26
+ async initAndUpgrade(): Promise<void> {
27
+ await up(this.operationalStore);
28
+ }
32
29
 
33
- async onStrands(strands: ProcessorUpdate<DocumentType>[]): Promise<void> {
30
+ async onStrands(
31
+ strands: InternalTransmitterUpdate<DocumentType>[],
32
+ ): Promise<void> {
34
33
  if (strands.length === 0) {
35
34
  return;
36
35
  }
@@ -42,21 +41,17 @@ export class <%= pascalName %>Processor extends OperationalProcessor<% if(docume
42
41
 
43
42
  for (const operation of strand.operations) {
44
43
  console.log(">>> ", operation.type);
45
- await this.operationalStore("index_search_op").insert({
46
- documentId: strand.documentId,
47
- });
44
+ await this.operationalStore
45
+ .insertInto("todo")
46
+ .values({
47
+ task: strand.documentId,
48
+ status: true,
49
+ })
50
+ .execute();
48
51
  }
49
52
  }
50
53
  }
51
54
 
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
55
  async onDisconnect() {}
61
56
 
62
57
  }
@@ -7,8 +7,7 @@ unless_exists: true
7
7
  * Auto-generated by codegen - DO NOT EDIT MANUALLY
8
8
  */
9
9
 
10
- import { type ProcessorRecord } from "document-drive/processors/types";
11
- import { type IProcessorHostModule } from "@powerhousedao/reactor-api";
10
+ import { type ProcessorRecord, type IProcessorHostModule } from "document-drive/processors/types";
12
11
 
13
12
  // Import other processor factories here as they are generated
14
13
 
@@ -0,0 +1,26 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/migrations.ts"
3
+ force: true
4
+ ---
5
+ import { sql, type Kysely } from "kysely";
6
+
7
+ export async function up(db: Kysely<any>): Promise<void> {
8
+ // Create table
9
+ await db.schema
10
+ .createTable("todo")
11
+ .addColumn("task", "varchar(255)")
12
+ .addColumn("status", "boolean")
13
+ .addPrimaryKeyConstraint("todo_pkey", [
14
+ "task"
15
+ ])
16
+ .ifNotExists()
17
+ .execute();
18
+
19
+ const tables = await db.introspection.getTables();
20
+ console.log(tables);
21
+ }
22
+
23
+ export async function down(db: Kysely<any>): Promise<void> {
24
+ // drop table
25
+ await db.schema.dropTable("todo").execute();
26
+ }
@@ -0,0 +1,5 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/schema.ts"
3
+ force: true
4
+ ---
5
+ export interface DB {}
@@ -1,4 +1,5 @@
1
1
  import { type PowerhouseConfig } from "@powerhousedao/config/powerhouse";
2
+ export { generateDBSchema } from "./kysely.js";
2
3
  export type DocumentTypesMap = Record<string, {
3
4
  name: string;
4
5
  importPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAgDzE,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,iBA6B5E;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;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAoBzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA6B/C,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,iBA6B5E;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;AAED,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,iBAKzB"}
@@ -5,6 +5,7 @@ import { join, resolve } from "path";
5
5
  import { generateSchema, generateSchemas } from "./graphql.js";
6
6
  import { generateDriveEditor as _generateDriveEditor, generateEditor as _generateEditor, generateImportScript as _generateImportScript, generateProcessor as _generateProcessor, generateSubgraph as _generateSubgraph, generateAll, generateDocumentModel, } from "./hygen.js";
7
7
  import { loadDocumentModel } from "./utils.js";
8
+ export { generateDBSchema } from "./kysely.js";
8
9
  function generateGraphqlSchema(documentModel) {
9
10
  const spec = documentModel.specifications[documentModel.specifications.length - 1];
10
11
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
@@ -26,7 +27,7 @@ function generateGraphqlSchema(documentModel) {
26
27
  return schemas.join("\n\n");
27
28
  }
28
29
  // returns map of document model id to document model name in pascal case and import path
29
- async function getDocumentTypesMap(dir, pathOrigin = "../../../") {
30
+ async function getDocumentTypesMap(dir, pathOrigin = "../../") {
30
31
  const documentTypesMap = {};
31
32
  // add document types from provided dir
32
33
  if (fs.existsSync(dir)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/codegen/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface IOptions {
2
+ migrationFile: string;
3
+ schemaFile?: string;
4
+ }
5
+ export declare function generateDBSchema({ migrationFile, schemaFile, }: IOptions): Promise<void>;
6
+ //# sourceMappingURL=kysely.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kysely.d.ts","sourceRoot":"","sources":["../../../src/codegen/kysely.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,QAAQ;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,gBAAgB,CAAC,EACrC,aAAa,EACb,UAAU,GACX,EAAE,QAAQ,iBAwBV"}
@@ -0,0 +1,25 @@
1
+ import { generateId } from "document-model";
2
+ import { Kysely } from "kysely";
3
+ import { Codegen, KyselyPGlite } from "kysely-pglite";
4
+ export async function generateDBSchema({ migrationFile, schemaFile, }) {
5
+ const dataDir = `memory://${generateId()}`;
6
+ const { dialect } = new KyselyPGlite({ dataDir });
7
+ const db = new Kysely({ dialect });
8
+ try {
9
+ const migration = (await import(migrationFile));
10
+ await migration.up(db);
11
+ }
12
+ catch (error) {
13
+ console.error("Error running migration:", error);
14
+ throw error;
15
+ }
16
+ const codegen = new Codegen(dialect);
17
+ // TODO: Do not pass in outFile, so we can replace the kysely import
18
+ const typesStr = await codegen.generate({
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
20
+ db: db,
21
+ outFile: schemaFile,
22
+ });
23
+ console.log(`Types generated at ${schemaFile}`);
24
+ }
25
+ //# sourceMappingURL=kysely.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kysely.js","sourceRoot":"","sources":["../../../src/codegen/kysely.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOtD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,aAAa,EACb,UAAU,GACD;IACT,MAAM,OAAO,GAAG,YAAY,UAAU,EAAE,EAAE,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAE7C,CAAC;QACF,MAAM,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,oEAAoE;IACpE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;QACtC,mEAAmE;QACnE,EAAE,EAAE,EAAS;QACb,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;AAClD,CAAC"}