"add admin user seed script and refactor common seed utilities"

This commit is contained in:
louiscklaw
2025-05-11 10:34:48 +08:00
parent c29ab4b920
commit 60eed00cb2
26 changed files with 1426 additions and 506 deletions

View File

@@ -1,53 +1,25 @@
//
// RULES: this is not a normal nodejs engine, it is a nodejs provided by golang, so fakerjs cannot be used here
//
const config = require("/pb_hooks/seed/config.js");
const utils = require("/pb_hooks/seed/utils.js");
//
module.exports = ($app) => {
const ASSETS_DIR = "/pb_hooks/assets";
const getAsset = (name) => $filesystem.fileFromPath(ASSETS_DIR + "/" + name);
const id_v = "1".padStart(15, 0); //id_vocabulary
const id_c = "2".padStart(15, 0); //id_connectives
const getId = (id) => id.padStart(15, 0);
const { CR_cat_id_news, CR_cat_id_technology } = config;
const { getId, getAsset, dirtyTruncateTable } = utils;
// const ASSETS_DIR = "/pb_hooks/assets";
// const getAsset = (name) => $filesystem.fileFromPath(ASSETS_DIR + "/" + name);
// const id_v = "1".padStart(15, 0); //id_vocabulary
// const id_c = "2".padStart(15, 0); //id_connectives
// const getId = (id) => id.padStart(15, 0);
// generate from `./project/001_documentation/Requirements/REQ0006/gen_customer/gen_customer.mjs`
const SAMPLE_CUSTOMER_ARRAY = [
[
getId('1'),
'EV-004',
false,
'new_job',
{ "id":getId("1"),"name": 'Jie Yan', "avatar": '/assets/avatar-8.png' },
{ "title": 'Remote React / React Native Developer' },
""
],
[
getId('2'),
'EV-003',
true,
'new_job',
{ "id": getId("2"),"name": 'Fran Perez', "avatar": '/assets/avatar-5.png' },
{ "title": 'Senior Golang Backend Engineer' },
""
],
[
getId('3'),
'EV-002',
true,
'new_feature',
'',
'',
'Logistics management is now available'
],
[
getId('4'),
'EV-001',
true,
'new_company',
{"id":getId("3"), "name": 'Jie Yan', "avatar": '/assets/avatar-8.png' },
{ "name": 'Stripe' },
""
],
[getId("1"), "EV-004", false, "new_job", { id: getId("1"), name: "Jie Yan", avatar: "/assets/avatar-8.png" }, { title: "Remote React / React Native Developer" }, ""],
[getId("2"), "EV-003", true, "new_job", { id: getId("2"), name: "Fran Perez", avatar: "/assets/avatar-5.png" }, { title: "Senior Golang Backend Engineer" }, ""],
[getId("3"), "EV-002", true, "new_feature", "", "", "Logistics management is now available"],
[getId("4"), "EV-001", true, "new_company", { id: getId("3"), name: "Jie Yan", avatar: "/assets/avatar-8.png" }, { name: "Stripe" }, ""],
];
let row_array = SAMPLE_CUSTOMER_ARRAY;
@@ -73,8 +45,9 @@ module.exports = ($app) => {
console.log(`060_Notifications done`);
};
const dirtyTruncateTable = (COLLECTION_NAME) => {
console.log(`perform dirty method to truncate table "${COLLECTION_NAME}"`);
const cmd_to_exec = $os.cmd("sqlite3", "/pb_data/data.db", `DELETE from ${COLLECTION_NAME};`);
cmd_to_exec.output();
};
// TODO: remove me
// const dirtyTruncateTable = (COLLECTION_NAME) => {
// console.log(`perform dirty method to truncate table "${COLLECTION_NAME}"`);
// const cmd_to_exec = $os.cmd("sqlite3", "/pb_data/data.db", `DELETE from ${COLLECTION_NAME};`);
// cmd_to_exec.output();
// };