working and no errors on front or back ends
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
import {ComponentDef, EndpointDef, SystemDef} from "../systemGenService";
|
||||
import path from "path";
|
||||
import {initializeComponentFile, removeTemplateFiles} from "../helpers";
|
||||
import {initializeComponentFile, removeTemplateFiles, removeTemplateFolder, uppercaseFirstLetter} from "../helpers";
|
||||
import fs from "fs";
|
||||
import {buildServiceFunctionName, getFuncParams} from "../views/service-creator";
|
||||
import {METHOD, URL} from "../views/routes-creator";
|
||||
@ -10,17 +10,20 @@ import {buildEditorView} from "./editor-view-builder";
|
||||
import {buildTypesView} from "./types-view-builder";
|
||||
const ncp = require('ncp').ncp;
|
||||
|
||||
export function createFrontend(systemDef: SystemDef): Promise<void[]> {
|
||||
export function createFrontend(systemDef: SystemDef): Promise<void> {
|
||||
let fePromises = [];
|
||||
for (let i in systemDef.components) {
|
||||
fePromises.push(createComponent(systemDef.components[i], systemDef));
|
||||
fePromises.push(createComponent(systemDef.components[i], systemDef).then(() => {
|
||||
return removeTemplateFiles(componentDestination(systemDef.name, systemDef.components[i].component));
|
||||
}));
|
||||
// TODO: add a vue view and add it to App.vue
|
||||
// TODO: build app router logic
|
||||
}
|
||||
// TODO: after all is done clean up the template files
|
||||
return Promise.all(fePromises).then((res: void[]) => {
|
||||
removeTemplateFiles(componentSource())
|
||||
return res;
|
||||
return removeTemplateFolder(componentDestination(systemDef.name, '{{component}}')).catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -131,17 +134,21 @@ function createFEServiceFunc(view: EndpointDef): string {
|
||||
if (method === 'delete') {
|
||||
method = 'del';
|
||||
}
|
||||
let addTypeDeclaration = method === 'get' || method === 'post';
|
||||
let useList = view.type === 'list' || view.type === 'search';
|
||||
let url = URL[view.type](view).replace(':' + view.component + '_id', '\' + ' + view.component + '_id');
|
||||
let isUpdateOrCreate = view.type === 'update' || view.type === 'create';
|
||||
|
||||
func = `
|
||||
public ${funcName}(${funcParams.join(', ')}) {`;
|
||||
public ${funcName}(${view.type === 'update' ? view.component + '_id: string, ': ''}${isUpdateOrCreate ? 'params: ' + uppercaseFirstLetter(view.component) + 'Config' : funcParams.join(', ')}) {`;
|
||||
|
||||
if (!isGetOrDelete) {
|
||||
if (!isGetOrDelete && !isUpdateOrCreate) {
|
||||
func = func + `
|
||||
let params = {${columnParams}${columnParams.length ? ',' : ''}${filterParams}
|
||||
};`;
|
||||
}
|
||||
func = func + `
|
||||
return ${method}('/api/v1/${URL[view.type](view)}${isGetOrDelete ? '/\' + ' + funcParams[0].split(":")[0] : '\', params'});
|
||||
return ${method}${addTypeDeclaration ? '<' + uppercaseFirstLetter(view.component) + 'Config' + (useList ? '[]' : '') + '>': ''}('/api/v1/${url}${isGetOrDelete ? '' : (view.type === 'update' ? ', params' : '\', params')});
|
||||
}
|
||||
`;
|
||||
return func;
|
||||
|
Reference in New Issue
Block a user