Files
lettersoup-online/002_source/pocketbase/pb_hooks/seed/041_QuizCRQuestions.js
2025-04-24 20:03:26 +08:00

188 lines
4.1 KiB
JavaScript

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 cat_id_technology = "3".padStart(15, 0);
const getId = (id) => id.padStart(15, 0);
let row_array = [
[
getId("1"),
"news (CR)",
getAsset("ci_news.jpg"),
1,
{},
"visible",
"news",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_1",
"question_sh_1",
"modal_ans_1",
cat_id_technology,
{},
],
[
getId("2"),
"sports (CR)",
getAsset("ci_sports.jpg"),
2,
{},
"visible",
"sports",
getAsset("mouse.mp3"),
cat_id_technology,
"question_fh_2",
"question_sh_2",
"modal_ans_2",
cat_id_technology,
{},
],
[
getId("3"),
"technology (CR)",
getAsset("ci_technology.jpg"),
3,
{},
"visible",
"technology",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_3",
"question_sh_3",
"modal_ans_3",
cat_id_technology,
{},
],
[
getId("4"),
"art (CR)",
getAsset("ci_art.jpg"),
4,
{},
"visible",
"art",
getAsset("mouse.mp3"),
cat_id_technology,
"question_fh_4",
"question_sh_4",
"modal_ans_4",
cat_id_technology,
{},
],
[
getId("5"),
"basic (CR)",
getAsset("ci_basic.jpg"),
5,
{},
"visible",
"basic",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_5",
"question_sh_5",
"modal_ans_5",
cat_id_technology,
{},
],
[
getId("6"),
"nature (CR)",
getAsset("ci_nature.jpg"),
6,
{},
"visible",
"nature",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_6",
"question_sh_6",
"modal_ans_6",
cat_id_technology,
{},
],
[
getId("7"),
"workplace (CR)",
getAsset("ci_workplace.jpg"),
7,
{},
"visible",
"workplace",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_7",
"question_sh_7",
"modal_ans_7",
cat_id_technology,
{},
],
[
getId("8"),
"workplace (CR)",
getAsset("ci_workplace.jpg"),
8,
{},
"visible",
"workplace",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_8",
"question_sh_8",
"modal_ans_8",
cat_id_technology,
{},
],
[
getId("99"),
"test hidden (CR)",
getAsset("ci_workplace.jpg"),
9,
{},
"hidden",
"test",
getAsset("keyboard.mp3"),
cat_id_technology,
"question_fh_9",
"question_sh_9",
"modal_ans_9",
cat_id_technology,
{},
],
];
dirtyTruncateTable("QuizCRQuestions");
let lt_collection = $app.findCollectionByNameOrId("QuizCRQuestions");
for (let i = 0; i < row_array.length; i++) {
let lesson_type = row_array[i];
let record = new Record(lt_collection);
record.set("id", lesson_type[0]);
record.set("cat_name", lesson_type[1]);
record.set("cat_image", lesson_type[2]);
record.set("pos", lesson_type[3]);
record.set("init_answer", lesson_type[4]);
record.set("visible", lesson_type[5]);
record.set("word", lesson_type[6]);
record.set("sound", lesson_type[7]);
record.set("cat_id", lesson_type[7]);
record.set("question_fh", lesson_type[9]);
record.set("question_sh", lesson_type[10]);
record.set("modal_ans", lesson_type[11]);
record.set("caf_id", lesson_type[12]);
record.set("options", lesson_type[13]);
$app.save(record);
}
console.log(`041_QuizCRQuestions 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();
};