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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1kZWxpdmVyeS1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9jb250ZW50L2NvbnRlbnQtZGVsaXZlcnktZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUk1QyxNQUFNLGtCQUFtQixTQUFRLHFCQUF3QjtDQUV4RDtBQUVZLFFBQUEsa0JBQWtCLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY0RBTyB9IGZyb20gXCIuLi8uLi9iYXNlLWRhb1wiO1xuaW1wb3J0IHsgQ29udGVudE1vZGVsIH0gZnJvbSBcIi4vY29udGVudC1tb2RlbFwiO1xuXG5cbmNsYXNzIENvbnRlbnREZWxpdmVyeURBTyBleHRlbmRzIEdlbmVyaWNEQU88Q29udGVudE1vZGVsPiB7XG5cbn1cblxuZXhwb3J0IGNvbnN0IGNvbnRlbnREZWxpdmVyeURBTyA9IG5ldyBDb250ZW50RGVsaXZlcnlEQU8oKTsiXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1kZWxpdmVyeS1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci9jb250ZW50L2NvbnRlbnQtZGVsaXZlcnktZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QyxtREFBK0M7QUFFL0MsTUFBTSxrQkFBbUIsU0FBUSxxQkFBd0I7SUFFckQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQW1EO1FBQ2hHLHlGQUF5RjtRQUN6RiwrRUFBK0U7UUFDL0UsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUNwQyw0QkFBWSxFQUNaLENBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQzNDLENBQUMsRUFDRCxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxDQUM5QyxDQUFDO1FBQ0YsT0FBTyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRVksUUFBQSxrQkFBa0IsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmljREFPIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZGFvXCI7XG5pbXBvcnQgeyBDb250ZW50TW9kZWwgfSBmcm9tIFwiLi9jb250ZW50LW1vZGVsXCI7XG5cbmNsYXNzIENvbnRlbnREZWxpdmVyeURBTyBleHRlbmRzIEdlbmVyaWNEQU88Q29udGVudE1vZGVsPiB7XG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29udGVudCBpdGVtcyBieSBjYXRlZ29yeSBhbmQgYWN0aXZlIHN0YXR1cy5cbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlOYW1lIC0gQ2F0ZWdvcnkgbmFtZSB0byBmaWx0ZXIgYnlcbiAgICAgKiBAcGFyYW0gY29udGVudEFjdGl2ZSAtIEFjdGl2ZSBzdGF0dXMgZmlsdGVyIChlLmcuIFwiWUVTXCIgLyBcIk5PXCIpXG4gICAgICogQHJldHVybnMgUHJvbWlzZSByZXNvbHZpbmcgdG8gYXJyYXkgb2YgQ29udGVudE1vZGVsXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBjb25zdCBpdGVtcyA9IGF3YWl0IGNvbnRlbnREZWxpdmVyeURBTy5nZXRCeUNhdGVnb3J5KHsgY2F0ZWdvcnlOYW1lOiBcIkhPTUVfQ09OVEVOVFwiLCBjb250ZW50QWN0aXZlOiBcIkFDVElWRVwiIH0pO1xuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gU2FtcGxlIG91dHB1dDpcbiAgICAgKiBbXG4gICAgICogICB7XG4gICAgICogICAgIGlkOiBcImNvbnRlbnQtdXVpZC0xXCIsXG4gICAgICogICAgIGNhdGVnb3J5OiBcIkhPTUVfQ09OVEVOVFwiLFxuICAgICAqICAgfVxuICAgICAqIF1cbiAgICAgKi9cbiAgICBhc3luYyBnZXRCeUNhdGVnb3J5KHsgY2F0ZWdvcnlOYW1lLCBjb250ZW50QWN0aXZlIH06IHsgY2F0ZWdvcnlOYW1lOiBzdHJpbmc7IGNvbnRlbnRBY3RpdmU6IHN0cmluZyB9KTogUHJvbWlzZTxDb250ZW50TW9kZWxbXT4ge1xuICAgICAgICAvLyBwYXJhbGxlbFF1ZXJ5IHJ1bnMgbXVsdGlwbGUgRHluYW1vREIgcXVlcmllcyBpbiBwYXJhbGxlbCBmb3IgdGhlIGdpdmVuIGtleSBjb25kaXRpb25zLlxuICAgICAgICAvLyBVc2VzIEdTSSBcImNvbnRlbnRDYXRlZ29yeUFjdGl2ZUluZGV4XCIgdG8gZmlsdGVyIGJ5IGNhdGVnb3J5ICsgY29udGVudEFjdGl2ZS5cbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IHRoaXMucGFyYWxsZWxRdWVyeShcbiAgICAgICAgICAgIENvbnRlbnRNb2RlbCxcbiAgICAgICAgICAgIFt7IGNhdGVnb3J5OiBjYXRlZ29yeU5hbWUsIGNvbnRlbnRBY3RpdmUgfV0sXG4gICAgICAgICAgICAxLFxuICAgICAgICAgICAgeyBpbmRleE5hbWU6IFwiY29udGVudENhdGVnb3J5QWN0aXZlSW5kZXhcIiB9XG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHRzLmZsYXQoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZW50RGVsaXZlcnlEQU8gPSBuZXcgQ29udGVudERlbGl2ZXJ5REFPKCk7Il19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cmp-aws-database",
3
- "version": "1.2.0-dev.119",
3
+ "version": "1.2.0-dev.120",
4
4
  "bin": {
5
5
  "craft-my-plate-database": "bin/craft-my-plate-database.js"
6
6
  },