feat(infisical-pg): test first milestone one flow

This commit is contained in:
Akhil Mohan
2024-01-27 12:38:22 +05:30
parent aaba4a0895
commit 15b57de0ed
92 changed files with 3668 additions and 436 deletions
+16 -9
View File
@@ -16,11 +16,18 @@ const componentType = parseInt(prompt("Select a component: "), 10);
if (componentType === 1) {
const componentName = prompt("Enter service name: ");
const dir = path.join(__dirname, `../src/services/${componentName}`);
const capitalizedComponentName = componentName.at(0)?.toUpperCase() + componentName.slice(1);
const dalTypeName = `T${capitalizedComponentName}DalFactory`;
const dalName = `${componentName}DalFactory`;
const serviceTypeName = `T${capitalizedComponentName}ServiceFactory`;
const serviceName = `${componentName}ServiceFactory`;
const pascalCase = componentName
.split("-")
.map((el) => `${el[0].toUpperCase()}${el.slice(1)}`)
.join("");
const camelCase = componentName
.split("-")
.map((el, index) => (index === 0 ? el : `${el[0].toUpperCase()}${el.slice(1)}`))
.join("");
const dalTypeName = `T${pascalCase}DalFactory`;
const dalName = `${camelCase}DalFactory`;
const serviceTypeName = `T${pascalCase}ServiceFactory`;
const serviceName = `${camelCase}ServiceFactory`;
mkdirSync(dir);
@@ -29,9 +36,9 @@ if (componentType === 1) {
`import { TDbClient } from "@app/db";
import { TableName } from "@app/db/schemas";
export type ${dalTypeName} = {};
export type ${dalTypeName} = ReturnType<typeof ${dalName}>;
export const ${dalName} = (db: TDbClient): ${dalTypeName} => {
export const ${dalName} = (db: TDbClient) => {
return { };
};
@@ -43,12 +50,12 @@ export const ${dalName} = (db: TDbClient): ${dalTypeName} => {
`import { ${dalTypeName} } from "./${componentName}-dal";
type ${serviceTypeName}Dep = {
${componentName}Dal: ${dalTypeName};
${camelCase}Dal: ${dalTypeName};
};
export type ${serviceTypeName} = ReturnType<typeof ${serviceName}>;
export const ${serviceName} = ({ ${componentName}Dal }: ${serviceTypeName}Dep) => {
export const ${serviceName} = ({ ${camelCase}Dal }: ${serviceTypeName}Dep) => {
return {};
};
`
+4 -3
View File
@@ -3,6 +3,7 @@ import path from "path";
import knex from "knex";
import { appendFileSync, readFileSync, writeFileSync } from "fs";
import promptSync from "prompt-sync";
import { TableName } from "@app/db/schemas";
const prompt = promptSync();
@@ -27,11 +28,11 @@ const getZodPrimitiveType = (type: string) => {
case "boolean":
return "z.boolean()";
case "jsonb":
return "z.string()";
return "z.unknown()";
case "json":
return "z.string()";
return "z.unknown()";
case "timestamp with time zone":
return "z.string().datetime()";
return "z.date()";
case "integer":
return "z.number()";
case "text":