cmp-aws-database 1.2.0-dev.123 → 1.2.0-dev.125

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.
@@ -2,6 +2,18 @@ import { GenericDAO } from "../../base-dao";
2
2
  import { UserModel } from "./user-model";
3
3
  declare class UserDAO extends GenericDAO<UserModel> {
4
4
  checkEmailExists(email: String): Promise<void>;
5
+ /**
6
+ * Get User by User ID
7
+ * @param userId User ID
8
+ * @returns User Model
9
+ */
10
+ getById: (userId: string) => Promise<UserModel>;
11
+ /**
12
+ * Returns true if user was created within the last 7 days, false otherwise.
13
+ * @param userId User ID
14
+ * @returns true if created_time is within 7 days of now, else false
15
+ */
16
+ isNewUser: (userId: string) => Promise<boolean>;
5
17
  }
6
18
  export declare const userDAO: UserDAO;
7
19
  export {};
@@ -4,6 +4,30 @@ exports.userDAO = void 0;
4
4
  const base_dao_1 = require("../../base-dao");
5
5
  const user_model_1 = require("./user-model");
6
6
  class UserDAO extends base_dao_1.GenericDAO {
7
+ constructor() {
8
+ super(...arguments);
9
+ /**
10
+ * Get User by User ID
11
+ * @param userId User ID
12
+ * @returns User Model
13
+ */
14
+ this.getById = async (userId) => {
15
+ const user = new user_model_1.UserModel();
16
+ user.userId = userId;
17
+ return this.get(user);
18
+ };
19
+ /**
20
+ * Returns true if user was created within the last 7 days, false otherwise.
21
+ * @param userId User ID
22
+ * @returns true if created_time is within 7 days of now, else false
23
+ */
24
+ this.isNewUser = async (userId) => {
25
+ const user = await this.getById(userId);
26
+ const createdTime = user.created_time ? new Date(user.created_time).getTime() : Date.now();
27
+ const sevenDaysMs = 7 * 24 * 60 * 60 * 1000;
28
+ return Date.now() - createdTime <= sevenDaysMs;
29
+ };
30
+ }
7
31
  async checkEmailExists(email) {
8
32
  const Items = base_dao_1.mapper.query(user_model_1.UserModel, { emailId: email }, { indexName: 'emailIndex' });
9
33
  const allItems = [];
@@ -16,4 +40,4 @@ class UserDAO extends base_dao_1.GenericDAO {
16
40
  }
17
41
  }
18
42
  exports.userDAO = new UserDAO();
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci91c2VyL3VzZXItZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvRDtBQUNwRCw2Q0FBeUM7QUFJekMsTUFBTSxPQUFRLFNBQVEscUJBQXFCO0lBRXZDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLGlCQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtRQUN0RixNQUFNLFFBQVEsR0FBZ0IsRUFBRSxDQUFDO1FBRWpDLElBQUksS0FBSyxFQUFFLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzdCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLHNCQUFzQixDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBRVksUUFBQSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdlbmVyaWNEQU8sIG1hcHBlciB9IGZyb20gXCIuLi8uLi9iYXNlLWRhb1wiO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSBcIi4vdXNlci1tb2RlbFwiO1xuXG5cblxuY2xhc3MgVXNlckRBTyBleHRlbmRzIEdlbmVyaWNEQU88VXNlck1vZGVsPiB7XG5cbiAgICBhc3luYyBjaGVja0VtYWlsRXhpc3RzKGVtYWlsOiBTdHJpbmcpIHtcbiAgICAgICAgY29uc3QgSXRlbXMgPSBtYXBwZXIucXVlcnkoVXNlck1vZGVsLCB7IGVtYWlsSWQ6IGVtYWlsIH0sIHsgaW5kZXhOYW1lOiAnZW1haWxJbmRleCcgfSlcbiAgICAgICAgY29uc3QgYWxsSXRlbXM6IFVzZXJNb2RlbFtdID0gW107XG5cbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIEl0ZW1zKSB7XG4gICAgICAgICAgICBhbGxJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFsbEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRocm93IChuZXcgRXJyb3IoYCR7ZW1haWx9OkVtYWlsIGFscmVhZHkgVGFrZW5gKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCB1c2VyREFPID0gbmV3IFVzZXJEQU8oKTsiXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kYW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY3VzdG9tZXItdXNlci91c2VyL3VzZXItZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvRDtBQUVwRCw2Q0FBeUM7QUFJekMsTUFBTSxPQUFRLFNBQVEscUJBQXFCO0lBQTNDOztRQWVJOzs7O1dBSUc7UUFDSCxZQUFPLEdBQUcsS0FBSyxFQUFFLE1BQWMsRUFBc0IsRUFBRTtZQUNuRCxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDO1FBRUY7Ozs7V0FJRztRQUNILGNBQVMsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFvQixFQUFFO1lBQ25ELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMzRixNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQzVDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsSUFBSSxXQUFXLENBQUM7UUFDbkQsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQW5DRyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBYTtRQUNoQyxNQUFNLEtBQUssR0FBRyxpQkFBTSxDQUFDLEtBQUssQ0FBQyxzQkFBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7UUFDdEYsTUFBTSxRQUFRLEdBQWdCLEVBQUUsQ0FBQztRQUVqQyxJQUFJLEtBQUssRUFBRSxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM3QixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNMLENBQUM7Q0F3Qko7QUFFWSxRQUFBLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VuZXJpY0RBTywgbWFwcGVyIH0gZnJvbSBcIi4uLy4uL2Jhc2UtZGFvXCI7XG5pbXBvcnQgeyBPcmRlck1vZGVsIH0gZnJvbSBcIi4uL29yZGVyLW1vZHVsZS9vcmRlci9vcmRlci1tb2RlbFwiO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSBcIi4vdXNlci1tb2RlbFwiO1xuXG5cblxuY2xhc3MgVXNlckRBTyBleHRlbmRzIEdlbmVyaWNEQU88VXNlck1vZGVsPiB7XG5cbiAgICBhc3luYyBjaGVja0VtYWlsRXhpc3RzKGVtYWlsOiBTdHJpbmcpIHtcbiAgICAgICAgY29uc3QgSXRlbXMgPSBtYXBwZXIucXVlcnkoVXNlck1vZGVsLCB7IGVtYWlsSWQ6IGVtYWlsIH0sIHsgaW5kZXhOYW1lOiAnZW1haWxJbmRleCcgfSlcbiAgICAgICAgY29uc3QgYWxsSXRlbXM6IFVzZXJNb2RlbFtdID0gW107XG5cbiAgICAgICAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIEl0ZW1zKSB7XG4gICAgICAgICAgICBhbGxJdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFsbEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRocm93IChuZXcgRXJyb3IoYCR7ZW1haWx9OkVtYWlsIGFscmVhZHkgVGFrZW5gKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgVXNlciBieSBVc2VyIElEXG4gICAgICogQHBhcmFtIHVzZXJJZCBVc2VyIElEXG4gICAgICogQHJldHVybnMgVXNlciBNb2RlbFxuICAgICAqL1xuICAgIGdldEJ5SWQgPSBhc3luYyAodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPFVzZXJNb2RlbD4gPT4ge1xuICAgICAgICBjb25zdCB1c2VyID0gbmV3IFVzZXJNb2RlbCgpO1xuICAgICAgICB1c2VyLnVzZXJJZCA9IHVzZXJJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KHVzZXIpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdXNlciB3YXMgY3JlYXRlZCB3aXRoaW4gdGhlIGxhc3QgNyBkYXlzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICogQHBhcmFtIHVzZXJJZCBVc2VyIElEXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiBjcmVhdGVkX3RpbWUgaXMgd2l0aGluIDcgZGF5cyBvZiBub3csIGVsc2UgZmFsc2VcbiAgICAgKi9cbiAgICBpc05ld1VzZXIgPSBhc3luYyAodXNlcklkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHRoaXMuZ2V0QnlJZCh1c2VySWQpO1xuICAgICAgICBjb25zdCBjcmVhdGVkVGltZSA9IHVzZXIuY3JlYXRlZF90aW1lID8gbmV3IERhdGUodXNlci5jcmVhdGVkX3RpbWUpLmdldFRpbWUoKSA6IERhdGUubm93KCk7XG4gICAgICAgIGNvbnN0IHNldmVuRGF5c01zID0gNyAqIDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gICAgICAgIHJldHVybiBEYXRlLm5vdygpIC0gY3JlYXRlZFRpbWUgPD0gc2V2ZW5EYXlzTXM7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZXJEQU8gPSBuZXcgVXNlckRBTygpOyJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cmp-aws-database",
3
- "version": "1.2.0-dev.123",
3
+ "version": "1.2.0-dev.125",
4
4
  "bin": {
5
5
  "craft-my-plate-database": "bin/craft-my-plate-database.js"
6
6
  },