@tucmc/hazel
Version:
Clubs Data Processing Framework
32 lines (31 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.docGenSnippet = void 0;
const lib_1 = require("../lib");
const docGenSnippet = async (debug) => {
const eCollection = new lib_1.FirestoreCollection('evaluate');
const eData = await eCollection.readFromCacheNoRef(true);
if (!eData)
return;
const uData = await new lib_1.FirestoreCollection('data')
.setDefaultMutator(lib_1.Mutators.SpecificKeyFieldKVMutator((doc) => doc.get('student_id')))
.readFromCache(true);
if (!uData)
return;
const eMap = new lib_1.ClubRecord(eData.getRecord()).transformToMainClubs();
const template = new lib_1.DocumentTemplate('assets/eTemplate.html');
await eMap.iterate(async (key, value) => {
debug.info(`working on ${key}`);
const clubEMap = new lib_1.DMap(value);
const grouped = clubEMap.groupBy((v) => v.action);
const doc = new lib_1.EvaluationDocument(key, {
semester: '2',
year: '2566'
}, {
all: clubEMap,
...grouped.getRecord()
}, uData);
await doc.generate(template, `${key}`);
});
};
exports.docGenSnippet = docGenSnippet;