cmp-aws-database 1.2.0-dev.119 → 1.2.0-dev.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
import { GenericDAO } from "../../base-dao";
|
|
2
2
|
import { ContentModel } from "./content-model";
|
|
3
3
|
declare class ContentDeliveryDAO extends GenericDAO<ContentModel> {
|
|
4
|
+
/**
|
|
5
|
+
* Get content items by category and active status.
|
|
6
|
+
* @param categoryName - Category name to filter by
|
|
7
|
+
* @param contentActive - Active status filter (e.g. "YES" / "NO")
|
|
8
|
+
* @returns Promise resolving to array of ContentModel
|
|
9
|
+
* @example
|
|
10
|
+
* const items = await contentDeliveryDAO.getByCategory({ categoryName: "HOME_CONTENT", contentActive: "ACTIVE" });
|
|
11
|
+
* @example
|
|
12
|
+
* // Sample output:
|
|
13
|
+
* [
|
|
14
|
+
* {
|
|
15
|
+
* id: "content-uuid-1",
|
|
16
|
+
* category: "HOME_CONTENT",
|
|
17
|
+
* }
|
|
18
|
+
* ]
|
|
19
|
+
*/
|
|
20
|
+
getByCategory({ categoryName, contentActive }: {
|
|
21
|
+
categoryName: string;
|
|
22
|
+
contentActive: string;
|
|
23
|
+
}): Promise<ContentModel[]>;
|
|
4
24
|
}
|
|
5
25
|
export declare const contentDeliveryDAO: ContentDeliveryDAO;
|
|
6
26
|
export {};
|
|
@@ -2,7 +2,30 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.contentDeliveryDAO = void 0;
|
|
4
4
|
const base_dao_1 = require("../../base-dao");
|
|
5
|
+
const content_model_1 = require("./content-model");
|
|
5
6
|
class ContentDeliveryDAO extends base_dao_1.GenericDAO {
|
|
7
|
+
/**
|
|
8
|
+
* Get content items by category and active status.
|
|
9
|
+
* @param categoryName - Category name to filter by
|
|
10
|
+
* @param contentActive - Active status filter (e.g. "YES" / "NO")
|
|
11
|
+
* @returns Promise resolving to array of ContentModel
|
|
12
|
+
* @example
|
|
13
|
+
* const items = await contentDeliveryDAO.getByCategory({ categoryName: "HOME_CONTENT", contentActive: "ACTIVE" });
|
|
14
|
+
* @example
|
|
15
|
+
* // Sample output:
|
|
16
|
+
* [
|
|
17
|
+
* {
|
|
18
|
+
* id: "content-uuid-1",
|
|
19
|
+
* category: "HOME_CONTENT",
|
|
20
|
+
* }
|
|
21
|
+
* ]
|
|
22
|
+
*/
|
|
23
|
+
async getByCategory({ categoryName, contentActive }) {
|
|
24
|
+
// parallelQuery runs multiple DynamoDB queries in parallel for the given key conditions.
|
|
25
|
+
// Uses GSI "contentCategoryActiveIndex" to filter by category + contentActive.
|
|
26
|
+
const results = await this.parallelQuery(content_model_1.ContentModel, [{ category: categoryName, contentActive }], 1, { indexName: "contentCategoryActiveIndex" });
|
|
27
|
+
return results.flat();
|
|
28
|
+
}
|
|
6
29
|
}
|
|
7
30
|
exports.contentDeliveryDAO = new ContentDeliveryDAO();
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1kZWxpdmVyeS1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9jb250ZW50L2NvbnRlbnQtZGVsaXZlcnktZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QyxtREFBK0M7QUFFL0MsTUFBTSxrQkFBbUIsU0FBUSxxQkFBd0I7SUFFckQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQW1EO1FBQ2hHLHlGQUF5RjtRQUN6RiwrRUFBK0U7UUFDL0UsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUNwQyw0QkFBWSxFQUNaLENBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQzNDLENBQUMsRUFDRCxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxDQUM5QyxDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRVksUUFBQSxrQkFBa0IsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljREFPIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZGFvXCI7XG5pbXBvcnQgeyBDb250ZW50TW9kZWwgfSBmcm9tIFwiLi9jb250ZW50LW1vZGVsXCI7XG5cbmNsYXNzIENvbnRlbnREZWxpdmVyeURBTyBleHRlbmRzIEdlbmVyaWNEQU88Q29udGVudE1vZGVsPiB7XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29udGVudCBpdGVtcyBieSBjYXRlZ29yeSBhbmQgYWN0aXZlIHN0YXR1cy5cbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlOYW1lIC0gQ2F0ZWdvcnkgbmFtZSB0byBmaWx0ZXIgYnlcbiAgICAgKiBAcGFyYW0gY29udGVudEFjdGl2ZSAtIEFjdGl2ZSBzdGF0dXMgZmlsdGVyIChlLmcuIFwiWUVTXCIgLyBcIk5PXCIpXG4gICAgICogQHJldHVybnMgUHJvbWlzZSByZXNvbHZpbmcgdG8gYXJyYXkgb2YgQ29udGVudE1vZGVsXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBjb25zdCBpdGVtcyA9IGF3YWl0IGNvbnRlbnREZWxpdmVyeURBTy5nZXRCeUNhdGVnb3J5KHsgY2F0ZWdvcnlOYW1lOiBcIkhPTUVfQ09OVEVOVFwiLCBjb250ZW50QWN0aXZlOiBcIkFDVElWRVwiIH0pO1xuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gU2FtcGxlIG91dHB1dDpcbiAgICAgKiBbXG4gICAgICogICB7XG4gICAgICogICAgIGlkOiBcImNvbnRlbnQtdXVpZC0xXCIsXG4gICAgICogICAgIGNhdGVnb3J5OiBcIkhPTUVfQ09OVEVOVFwiLFxuICAgICAqICAgfVxuICAgICAqIF1cbiAgICAgKi9cbiAgICBhc3luYyBnZXRCeUNhdGVnb3J5KHsgY2F0ZWdvcnlOYW1lLCBjb250ZW50QWN0aXZlIH06IHsgY2F0ZWdvcnlOYW1lOiBzdHJpbmc7IGNvbnRlbnRBY3RpdmU6IHN0cmluZyB9KTogUHJvbWlzZTxDb250ZW50TW9kZWxbXT4ge1xuICAgICAgICAvLyBwYXJhbGxlbFF1ZXJ5IHJ1bnMgbXVsdGlwbGUgRHluYW1vREIgcXVlcmllcyBpbiBwYXJhbGxlbCBmb3IgdGhlIGdpdmVuIGtleSBjb25kaXRpb25zLlxuICAgICAgICAvLyBVc2VzIEdTSSBcImNvbnRlbnRDYXRlZ29yeUFjdGl2ZUluZGV4XCIgdG8gZmlsdGVyIGJ5IGNhdGVnb3J5ICsgY29udGVudEFjdGl2ZS5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMucGFyYWxsZWxRdWVyeShcbiAgICAgICAgICAgIENvbnRlbnRNb2RlbCxcbiAgICAgICAgICAgIFt7IGNhdGVnb3J5OiBjYXRlZ29yeU5hbWUsIGNvbnRlbnRBY3RpdmUgfV0sXG4gICAgICAgICAgICAxLFxuICAgICAgICAgICAgeyBpbmRleE5hbWU6IFwiY29udGVudENhdGVnb3J5QWN0aXZlSW5kZXhcIiB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmZsYXQoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZW50RGVsaXZlcnlEQU8gPSBuZXcgQ29udGVudERlbGl2ZXJ5REFPKCk7Il19
|