{displayFields.map(({ field, format }) => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/consistent-type-assertions, @typescript-eslint/no-explicit-any
const value = item.get(field as any);
return | {format ? format(value, item) : value} | ;
})}
|
;
}`,
}
);
await writeFile(list_path, list_content);
/* create the shared fields file */
const fields_path = target_locreq.resolve(
`src/back/routes/${escape_url_params(url)}/shared.ts`
);
const fields_content = await sharedCrudFormFields(collection_name);
await writeFile(fields_path, fields_content);
/* create the create endpoint */
const create_path = target_locreq.resolve(
`src/back/routes/${escape_url_params(url)}/create.form.ts`
);
const create_content = await createItemFormTemplate(
create_action_name,
create_path,
collection_name,
list_action_name
);
await writeFile(create_path, create_content);
/* create the edit endpoint */
const edit_path = target_locreq.resolve(
`src/back/routes/${escape_url_params(url)}/[id]/edit.form.ts`
);
const edit_content = await editItemFormTemplate(
edit_action_name,
edit_path,
collection_name,
list_action_name
);
await writeFile(edit_path, edit_content);
/* create the actual delete endpoint */
const delete_path = target_locreq.resolve(
`src/back/routes/${escape_url_params(url)}/[id]/delete.page.tsx`
);
const base_import_path = curryImportPath(delete_path);
const delete_content = await itemDeleteTemplate(
delete_action_name,
collection_name,
list_action_name,
base_import_path
);
await writeFile(delete_path, delete_content);
await generateRoutes();
}