@infrab4a/connect 0.14.6 → 0.15.0-beta.1

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,5 @@
1
1
  import { BaseModel, IdentifierFields, NonFunctionPropertyNames } from '../../general/model';
2
- import { Banner } from './types/banner.type';
3
- import { Benefit } from './types/benefit.type';
2
+ import { Banner, Benefit, HomeDataStructure } from './types';
4
3
  export declare class Home extends BaseModel<Home> implements IdentifierFields<Home> {
5
4
  benefitsSection: Benefit[];
6
5
  blockBanners: Banner[];
@@ -13,5 +12,6 @@ export declare class Home extends BaseModel<Home> implements IdentifierFields<Ho
13
12
  heroCarousel: Banner[];
14
13
  verticalCarousels: string[];
15
14
  id: string;
15
+ data: HomeDataStructure;
16
16
  identifierFields(): NonFunctionPropertyNames<Home>[];
17
17
  }
@@ -0,0 +1,15 @@
1
+ import { Category, Product } from '../../../catalog';
2
+ export declare type HomeCategoryGroup = {
3
+ category: Category;
4
+ products: Product[];
5
+ };
6
+ export declare type HomeData = {
7
+ discoverProducts: HomeCategoryGroup[];
8
+ featuredProducts: HomeCategoryGroup[];
9
+ verticalProducts: HomeCategoryGroup[];
10
+ };
11
+ export declare type HomeDataStructure = {
12
+ createdAt: Date;
13
+ expiresAt: Date;
14
+ data: HomeData;
15
+ };
@@ -2,3 +2,4 @@ export * from './banner.type';
2
2
  export * from './benefit.type';
3
3
  export * from './menu-nav.type';
4
4
  export * from './sub-menu.type';
5
+ export * from './home-data.type';
@@ -1,4 +1,4 @@
1
- import { FirebaseFirestore } from '@firebase/firestore-types';
1
+ import { DocumentData, FirebaseFirestore, QueryDocumentSnapshot } from '@firebase/firestore-types';
2
2
  import { Home, HomeRepository } from '../../../../../domain';
3
3
  declare const HomeFirestoreRepository_base: {
4
4
  new (...args: any[]): {
@@ -9,7 +9,7 @@ declare const HomeFirestoreRepository_base: {
9
9
  collectionName: string;
10
10
  model: import("../../../../../domain").BaseModelBuilder<Home>;
11
11
  collection(path?: string): import("@firebase/firestore-types").CollectionReference<Home>;
12
- toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | import("@firebase/firestore-types").QueryDocumentSnapshot<T>[]): T[];
12
+ toArray<T extends import("../../../../../domain").BaseModelWithIdentifier<T>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
13
13
  isSubCollection<T_1 extends import("../../../../../domain").BaseModelWithIdentifier<T_1>>(repository: import("@infrab4a/connect").FirestoreRepository<T_1>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_1, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
14
14
  get(identifiers: import("../../../../../domain").NonFunctionProperties<Home>): Promise<Home>;
15
15
  buildCollectionPathForGet(identifiers: import("../../../../../domain").NonFunctionProperties<Home>): string;
@@ -27,7 +27,7 @@ declare const HomeFirestoreRepository_base: {
27
27
  };
28
28
  } & {
29
29
  new (...args: any[]): {
30
- toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | import("@firebase/firestore-types").QueryDocumentSnapshot<T_2>[]): T_2[];
30
+ toArray<T_2 extends import("../../../../../domain").BaseModelWithIdentifier<T_2>>(snapShot: import("@firebase/firestore-types").QuerySnapshot<T_2> | QueryDocumentSnapshot<T_2>[]): T_2[];
31
31
  isSubCollection<T_3 extends import("../../../../../domain").BaseModelWithIdentifier<T_3>>(repository: import("@infrab4a/connect").FirestoreRepository<T_3>): repository is import("@infrab4a/connect").FirestoreSubRepository<T_3, import("../../../../../domain").BaseModelWithIdentifier<{}>>;
32
32
  };
33
33
  } & {
@@ -37,13 +37,21 @@ declare const HomeFirestoreRepository_base: {
37
37
  model: import("../../../../../domain").BaseModelBuilder<Home>;
38
38
  collection(path?: string): import("@firebase/firestore-types").CollectionReference<Home>;
39
39
  buildModelInstance(): {
40
- toFirestore: (data: Home) => import("@firebase/firestore-types").DocumentData;
41
- fromFirestore: (snap: import("@firebase/firestore-types").QueryDocumentSnapshot<Home>) => Home;
40
+ toFirestore: (data: Home) => DocumentData;
41
+ fromFirestore: (snap: QueryDocumentSnapshot<Home>) => Home;
42
42
  };
43
43
  };
44
44
  };
45
45
  export declare class HomeFirestoreRepository extends HomeFirestoreRepository_base implements HomeRepository {
46
46
  readonly firestore: FirebaseFirestore;
47
47
  constructor(firestore: FirebaseFirestore);
48
+ buildModelInstance(): {
49
+ toFirestore: (data: Home) => DocumentData;
50
+ fromFirestore: (snap: QueryDocumentSnapshot<Home>) => Home;
51
+ };
52
+ private homeToFirestore;
53
+ private homeCategoryGroupToPlain;
54
+ private homeFromFirestore;
55
+ private plainToHomeCategoryGroup;
48
56
  }
49
57
  export {};
@@ -1,4 +1,6 @@
1
+ import { add, Duration, sub } from 'date-fns';
1
2
  import { chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set } from 'lodash';
2
- export { chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set };
3
+ export declare type DateDuration = Duration;
4
+ export { add, chunk, get, isDate, isEmpty, isNil, isNumber, isObject, isString, pick, set, sub };
3
5
  export * from './mixins';
4
6
  export * from './types';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "0.14.6",
3
+ "version": "0.15.0-beta.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -10,6 +10,7 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "class-transformer": "^0.4.0",
13
+ "date-fns": "^2.28.0",
13
14
  "firebase": "7.24.0",
14
15
  "lodash": "^4.17.21",
15
16
  "reflect-metadata": "^0.1.13",