cmp-aws-database
Version:
The package "cmp-aws-database" is for its database, which defines global tables. These tables are designed to be imported and used across multiple applications of "craft-my-plate."
35 lines • 4.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.cuisineDAO = void 0;
const base_dao_1 = require("../../base-dao");
const cuisine_model_1 = require("./cuisine-model");
class CuisineDAO extends base_dao_1.GenericDAO {
async allCuisineFetch() {
const allcuisine = [];
for await (const cuisine of base_dao_1.mapper.scan(cuisine_model_1.CuisineModel)) {
allcuisine.push(cuisine);
}
return allcuisine;
}
async fetchActiveCuisine(cuisineActive) {
const activeCuisines = [];
let cuisines;
if (cuisineActive) {
const condition = {
cuisineActive: cuisineActive,
};
// Query using the GSI when cuisineActive is provided
cuisines = await base_dao_1.mapper.query(cuisine_model_1.CuisineModel, condition, { indexName: "cuisineActiveIndex" });
}
else {
// Scan the whole table if no filter provided
cuisines = await exports.cuisineDAO.allCuisineFetch();
}
for await (const cuisine of cuisines) {
activeCuisines.push(cuisine);
}
return activeCuisines;
}
}
exports.cuisineDAO = new CuisineDAO();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vpc2luZS1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9jdWlzaW5lL2N1aXNpbmUtZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvRDtBQUNwRCxtREFBK0M7QUFLL0MsTUFBTSxVQUFXLFNBQVEscUJBQXdCO0lBRTdDLEtBQUssQ0FBQyxlQUFlO1FBQ2pCLE1BQU0sVUFBVSxHQUFtQixFQUFFLENBQUM7UUFDdEMsSUFBSSxLQUFLLEVBQUUsTUFBTSxPQUFPLElBQUksaUJBQU0sQ0FBQyxJQUFJLENBQUMsNEJBQVksQ0FBQyxFQUFFLENBQUM7WUFDcEQsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxhQUFxQjtRQUMxQyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxRQUFRLENBQUM7UUFFYixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBRWhCLE1BQU0sU0FBUyxHQUEwQjtnQkFDckMsYUFBYSxFQUFFLGFBQWE7YUFDL0IsQ0FBQztZQUNGLHFEQUFxRDtZQUNyRCxRQUFRLEdBQUcsTUFBTSxpQkFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBWSxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDaEcsQ0FBQzthQUFNLENBQUM7WUFDSiw2Q0FBNkM7WUFDN0MsUUFBUSxHQUFHLE1BQU0sa0JBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsTUFBTSxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7WUFDbkMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxjQUFjLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRVksUUFBQSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNEQU8sIG1hcHBlciB9IGZyb20gXCIuLi8uLi9iYXNlLWRhb1wiO1xuaW1wb3J0IHsgQ3Vpc2luZU1vZGVsIH0gZnJvbSBcIi4vY3Vpc2luZS1tb2RlbFwiO1xuXG5pbnRlcmZhY2UgUXVlcnlDb25kaXRpb25DdWlzaW5lIHtcbiAgICBjdWlzaW5lQWN0aXZlOiBzdHJpbmc7XG59XG5jbGFzcyBDdWlzaW5lREFPIGV4dGVuZHMgR2VuZXJpY0RBTzxDdWlzaW5lTW9kZWw+IHtcblxuICAgIGFzeW5jIGFsbEN1aXNpbmVGZXRjaCgpOiBQcm9taXNlPEN1aXNpbmVNb2RlbFtdPiB7XG4gICAgICAgIGNvbnN0IGFsbGN1aXNpbmU6IEN1aXNpbmVNb2RlbFtdID0gW107XG4gICAgICAgIGZvciBhd2FpdCAoY29uc3QgY3Vpc2luZSBvZiBtYXBwZXIuc2NhbihDdWlzaW5lTW9kZWwpKSB7XG4gICAgICAgICAgICBhbGxjdWlzaW5lLnB1c2goY3Vpc2luZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFsbGN1aXNpbmU7XG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2hBY3RpdmVDdWlzaW5lKGN1aXNpbmVBY3RpdmU6IHN0cmluZyk6IFByb21pc2U8Q3Vpc2luZU1vZGVsW10+IHtcbiAgICAgICAgY29uc3QgYWN0aXZlQ3Vpc2luZXMgPSBbXTtcbiAgICAgICAgbGV0IGN1aXNpbmVzO1xuXG4gICAgICAgIGlmIChjdWlzaW5lQWN0aXZlKSB7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmRpdGlvbjogUXVlcnlDb25kaXRpb25DdWlzaW5lID0ge1xuICAgICAgICAgICAgICAgIGN1aXNpbmVBY3RpdmU6IGN1aXNpbmVBY3RpdmUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gUXVlcnkgdXNpbmcgdGhlIEdTSSB3aGVuIGN1aXNpbmVBY3RpdmUgaXMgcHJvdmlkZWRcbiAgICAgICAgICAgIGN1aXNpbmVzID0gYXdhaXQgbWFwcGVyLnF1ZXJ5KEN1aXNpbmVNb2RlbCwgY29uZGl0aW9uLCB7IGluZGV4TmFtZTogXCJjdWlzaW5lQWN0aXZlSW5kZXhcIiB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFNjYW4gdGhlIHdob2xlIHRhYmxlIGlmIG5vIGZpbHRlciBwcm92aWRlZFxuICAgICAgICAgICAgY3Vpc2luZXMgPSBhd2FpdCBjdWlzaW5lREFPLmFsbEN1aXNpbmVGZXRjaCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBjdWlzaW5lIG9mIGN1aXNpbmVzKSB7XG4gICAgICAgICAgICBhY3RpdmVDdWlzaW5lcy5wdXNoKGN1aXNpbmUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3RpdmVDdWlzaW5lcztcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBjdWlzaW5lREFPID0gbmV3IEN1aXNpbmVEQU8oKTsiXX0=