@infrab4a/connect 5.4.0-beta.11 → 5.4.0-beta.13

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.
package/index.cjs.js CHANGED
@@ -1815,7 +1815,7 @@ class AntifraudCardService {
1815
1815
  }
1816
1816
  getTodayDateRange() {
1817
1817
  const timeZone = 'America/Sao_Paulo';
1818
- const today = dateFnsTz.toZonedTime(new Date(), timeZone);
1818
+ const today = dateFnsTz.utcToZonedTime(new Date(), timeZone);
1819
1819
  const day = dateFns.startOfDay(today);
1820
1820
  const endOfDay = dateFns.endOfDay(today);
1821
1821
  return { day: dateFns.addHours(day, 3), endOfDay: dateFns.addHours(endOfDay, 3) };
@@ -7892,22 +7892,6 @@ const fieldsConfiguration$2 = [
7892
7892
  subscriberPrice: data.subscriber_price,
7893
7893
  fullPriceDiscountPercentage: data.full_price_discount_percentage,
7894
7894
  }),
7895
- bindFindFilter: (sentence) => {
7896
- const filters = Object.values(sentence).shift();
7897
- return {
7898
- ...((filters?.price || filters?.price === 0) && { price: filters.price }),
7899
- ...((filters.fullPrice || filters.fullPrice === 0) && { full_price: filters.fullPrice }),
7900
- ...((filters.subscriberDiscountPercentage || filters.subscriberDiscountPercentage === 0) && {
7901
- subscriber_discount_percentage: filters.subscriberDiscountPercentage,
7902
- }),
7903
- ...((filters.subscriberPrice || filters.subscriberPrice === 0) && {
7904
- subscriber_price: filters.subscriberPrice,
7905
- }),
7906
- ...((filters.fullPriceDiscountPercentage || filters.fullPriceDiscountPercentage === 0) && {
7907
- full_price_discount_percentage: filters.fullPriceDiscountPercentage,
7908
- }),
7909
- };
7910
- },
7911
7895
  bindPersistData: (priceData) => ({
7912
7896
  ...((priceData?.price || 0) >= 0 && { price: priceData.price }),
7913
7897
  ...((priceData?.fullPrice || 0) >= 0 && { full_price: priceData.fullPrice }),
@@ -7921,6 +7905,10 @@ const fieldsConfiguration$2 = [
7921
7905
  }),
7922
7906
  },
7923
7907
  },
7908
+ { fullPrice: { columnName: 'full_price' } },
7909
+ { subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
7910
+ { subscriberPrice: { columnName: 'subscriber_price' } },
7911
+ { fullPriceDiscountPercentage: { columnName: 'full_price_discount_percentage' } },
7924
7912
  'published',
7925
7913
  {
7926
7914
  stock: {
@@ -7972,6 +7960,16 @@ const fieldsConfiguration$2 = [
7972
7960
  ],
7973
7961
  },
7974
7962
  },
7963
+ { filters: { columnName: 'filters', type: HasuraGraphQLColumnType.Jsonb } },
7964
+ {
7965
+ metadata: {
7966
+ columnName: 'metadata',
7967
+ fields: ['title', 'description'],
7968
+ bindPersistData: (value) => ({
7969
+ metadata: { data: value },
7970
+ }),
7971
+ },
7972
+ },
7975
7973
  ],
7976
7974
  },
7977
7975
  },
@@ -8059,7 +8057,7 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8059
8057
  options.options?.maximum?.splice(options.options?.maximum.indexOf('price'), 1);
8060
8058
  return super.find({
8061
8059
  ...options,
8062
- filters: { ...filters },
8060
+ filters: { ...filters, productId: { operator: exports.Where.ISNULL } },
8063
8061
  fields: [
8064
8062
  ...bindFields,
8065
8063
  ...(bindFields.includes('price')
@@ -8280,7 +8278,8 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8280
8278
  const plainData = this.paramsToPlain({ metadata });
8281
8279
  if (!plainData.metadata)
8282
8280
  return null;
8283
- await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8281
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8282
+ const { update_product_metadata_by_pk } = await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8284
8283
  pk_columns: {
8285
8284
  value: { product_id: productId },
8286
8285
  type: 'product_metadata_pk_columns_input',
@@ -8292,6 +8291,14 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8292
8291
  required: true,
8293
8292
  },
8294
8293
  });
8294
+ if (!update_product_metadata_by_pk) {
8295
+ await this.mutation('insert_product_metadata', ['affected_rows'], {
8296
+ objects: {
8297
+ type: '[product_metadata_insert_input!]!',
8298
+ value: [{ product_id: productId, ...metadata }],
8299
+ },
8300
+ });
8301
+ }
8295
8302
  return plainData.metadata;
8296
8303
  }
8297
8304
  async getId(id) {
@@ -8654,6 +8661,7 @@ const fieldsConfiguration$1 = [
8654
8661
  },
8655
8662
  },
8656
8663
  'group',
8664
+ 'type',
8657
8665
  'validity',
8658
8666
  'published',
8659
8667
  { tagsCollection: { columnName: 'tags_collection', type: HasuraGraphQLColumnType.Jsonb } },
@@ -8750,6 +8758,17 @@ const fieldsConfiguration$1 = [
8750
8758
  fields: ['id', 'name', 'reference', 'slug'],
8751
8759
  },
8752
8760
  },
8761
+ {
8762
+ categories: {
8763
+ columnName: 'categories',
8764
+ fields: ['category_id'],
8765
+ bindPersistData: (value) => ({
8766
+ categories: { data: value.map((category) => ({ category_id: +category })) },
8767
+ }),
8768
+ to: (categories) => categories.map((categoryId) => +categoryId),
8769
+ from: (categories) => categories?.map((category) => category?.category_id?.toString()) || [],
8770
+ },
8771
+ },
8753
8772
  {
8754
8773
  metadata: {
8755
8774
  columnName: 'metadata',
@@ -8841,7 +8860,8 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8841
8860
  const plainData = this.paramsToPlain({ metadata });
8842
8861
  if (!plainData.metadata)
8843
8862
  return null;
8844
- await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8863
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8864
+ const { update_product_metadata_by_pk } = await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8845
8865
  pk_columns: {
8846
8866
  value: { product_id: productId },
8847
8867
  type: 'product_metadata_pk_columns_input',
@@ -8853,6 +8873,14 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8853
8873
  required: true,
8854
8874
  },
8855
8875
  });
8876
+ if (!update_product_metadata_by_pk) {
8877
+ await this.mutation('insert_product_metadata', ['affected_rows'], {
8878
+ objects: {
8879
+ type: '[product_metadata_insert_input!]!',
8880
+ value: [{ product_id: productId, ...metadata }],
8881
+ },
8882
+ });
8883
+ }
8856
8884
  return plainData.metadata;
8857
8885
  }
8858
8886
  async getId(id) {
@@ -10234,14 +10262,6 @@ Object.defineProperty(exports, 'formatInTimeZone', {
10234
10262
  enumerable: true,
10235
10263
  get: function () { return dateFnsTz.formatInTimeZone; }
10236
10264
  });
10237
- Object.defineProperty(exports, 'fromZonedTime', {
10238
- enumerable: true,
10239
- get: function () { return dateFnsTz.fromZonedTime; }
10240
- });
10241
- Object.defineProperty(exports, 'toZonedTime', {
10242
- enumerable: true,
10243
- get: function () { return dateFnsTz.toZonedTime; }
10244
- });
10245
10265
  Object.defineProperty(exports, 'chunk', {
10246
10266
  enumerable: true,
10247
10267
  get: function () { return lodash.chunk; }
package/index.esm.js CHANGED
@@ -3,8 +3,8 @@ import { __decorate, __metadata } from 'tslib';
3
3
  import { plainToInstance, instanceToPlain, Type } from 'class-transformer';
4
4
  import { parseISO, startOfDay, endOfDay, addHours, subDays, format, addDays } from 'date-fns';
5
5
  export { add, addBusinessDays, addDays, addMonths, addYears, endOfDay, format, formatISO9075, parseISO, startOfDay, sub, subDays } from 'date-fns';
6
- import { toZonedTime } from 'date-fns-tz';
7
- export { formatInTimeZone, fromZonedTime, toZonedTime } from 'date-fns-tz';
6
+ import { utcToZonedTime } from 'date-fns-tz';
7
+ export { formatInTimeZone } from 'date-fns-tz';
8
8
  import { compact, get, isNil, isArray, first, last, flatten, isString, omit, each, unset, isObject, isEmpty, isDate, isBoolean, isInteger, isNumber, isNaN as isNaN$1, set, chunk, sortBy } from 'lodash';
9
9
  export { chunk, each, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set, sortBy, unset } from 'lodash';
10
10
  import { debug } from 'debug';
@@ -1791,7 +1791,7 @@ class AntifraudCardService {
1791
1791
  }
1792
1792
  getTodayDateRange() {
1793
1793
  const timeZone = 'America/Sao_Paulo';
1794
- const today = toZonedTime(new Date(), timeZone);
1794
+ const today = utcToZonedTime(new Date(), timeZone);
1795
1795
  const day = startOfDay(today);
1796
1796
  const endOfDay$1 = endOfDay(today);
1797
1797
  return { day: addHours(day, 3), endOfDay: addHours(endOfDay$1, 3) };
@@ -7868,22 +7868,6 @@ const fieldsConfiguration$2 = [
7868
7868
  subscriberPrice: data.subscriber_price,
7869
7869
  fullPriceDiscountPercentage: data.full_price_discount_percentage,
7870
7870
  }),
7871
- bindFindFilter: (sentence) => {
7872
- const filters = Object.values(sentence).shift();
7873
- return {
7874
- ...((filters?.price || filters?.price === 0) && { price: filters.price }),
7875
- ...((filters.fullPrice || filters.fullPrice === 0) && { full_price: filters.fullPrice }),
7876
- ...((filters.subscriberDiscountPercentage || filters.subscriberDiscountPercentage === 0) && {
7877
- subscriber_discount_percentage: filters.subscriberDiscountPercentage,
7878
- }),
7879
- ...((filters.subscriberPrice || filters.subscriberPrice === 0) && {
7880
- subscriber_price: filters.subscriberPrice,
7881
- }),
7882
- ...((filters.fullPriceDiscountPercentage || filters.fullPriceDiscountPercentage === 0) && {
7883
- full_price_discount_percentage: filters.fullPriceDiscountPercentage,
7884
- }),
7885
- };
7886
- },
7887
7871
  bindPersistData: (priceData) => ({
7888
7872
  ...((priceData?.price || 0) >= 0 && { price: priceData.price }),
7889
7873
  ...((priceData?.fullPrice || 0) >= 0 && { full_price: priceData.fullPrice }),
@@ -7897,6 +7881,10 @@ const fieldsConfiguration$2 = [
7897
7881
  }),
7898
7882
  },
7899
7883
  },
7884
+ { fullPrice: { columnName: 'full_price' } },
7885
+ { subscriberDiscountPercentage: { columnName: 'subscriber_discount_percentage' } },
7886
+ { subscriberPrice: { columnName: 'subscriber_price' } },
7887
+ { fullPriceDiscountPercentage: { columnName: 'full_price_discount_percentage' } },
7900
7888
  'published',
7901
7889
  {
7902
7890
  stock: {
@@ -7948,6 +7936,16 @@ const fieldsConfiguration$2 = [
7948
7936
  ],
7949
7937
  },
7950
7938
  },
7939
+ { filters: { columnName: 'filters', type: HasuraGraphQLColumnType.Jsonb } },
7940
+ {
7941
+ metadata: {
7942
+ columnName: 'metadata',
7943
+ fields: ['title', 'description'],
7944
+ bindPersistData: (value) => ({
7945
+ metadata: { data: value },
7946
+ }),
7947
+ },
7948
+ },
7951
7949
  ],
7952
7950
  },
7953
7951
  },
@@ -8035,7 +8033,7 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8035
8033
  options.options?.maximum?.splice(options.options?.maximum.indexOf('price'), 1);
8036
8034
  return super.find({
8037
8035
  ...options,
8038
- filters: { ...filters },
8036
+ filters: { ...filters, productId: { operator: Where.ISNULL } },
8039
8037
  fields: [
8040
8038
  ...bindFields,
8041
8039
  ...(bindFields.includes('price')
@@ -8256,7 +8254,8 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8256
8254
  const plainData = this.paramsToPlain({ metadata });
8257
8255
  if (!plainData.metadata)
8258
8256
  return null;
8259
- await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8257
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8258
+ const { update_product_metadata_by_pk } = await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8260
8259
  pk_columns: {
8261
8260
  value: { product_id: productId },
8262
8261
  type: 'product_metadata_pk_columns_input',
@@ -8268,6 +8267,14 @@ class ProductHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8268
8267
  required: true,
8269
8268
  },
8270
8269
  });
8270
+ if (!update_product_metadata_by_pk) {
8271
+ await this.mutation('insert_product_metadata', ['affected_rows'], {
8272
+ objects: {
8273
+ type: '[product_metadata_insert_input!]!',
8274
+ value: [{ product_id: productId, ...metadata }],
8275
+ },
8276
+ });
8277
+ }
8271
8278
  return plainData.metadata;
8272
8279
  }
8273
8280
  async getId(id) {
@@ -8630,6 +8637,7 @@ const fieldsConfiguration$1 = [
8630
8637
  },
8631
8638
  },
8632
8639
  'group',
8640
+ 'type',
8633
8641
  'validity',
8634
8642
  'published',
8635
8643
  { tagsCollection: { columnName: 'tags_collection', type: HasuraGraphQLColumnType.Jsonb } },
@@ -8726,6 +8734,17 @@ const fieldsConfiguration$1 = [
8726
8734
  fields: ['id', 'name', 'reference', 'slug'],
8727
8735
  },
8728
8736
  },
8737
+ {
8738
+ categories: {
8739
+ columnName: 'categories',
8740
+ fields: ['category_id'],
8741
+ bindPersistData: (value) => ({
8742
+ categories: { data: value.map((category) => ({ category_id: +category })) },
8743
+ }),
8744
+ to: (categories) => categories.map((categoryId) => +categoryId),
8745
+ from: (categories) => categories?.map((category) => category?.category_id?.toString()) || [],
8746
+ },
8747
+ },
8729
8748
  {
8730
8749
  metadata: {
8731
8750
  columnName: 'metadata',
@@ -8817,7 +8836,8 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8817
8836
  const plainData = this.paramsToPlain({ metadata });
8818
8837
  if (!plainData.metadata)
8819
8838
  return null;
8820
- await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8839
+ // eslint-disable-next-line @typescript-eslint/naming-convention
8840
+ const { update_product_metadata_by_pk } = await this.mutation('update_product_metadata_by_pk', ['product_id'], {
8821
8841
  pk_columns: {
8822
8842
  value: { product_id: productId },
8823
8843
  type: 'product_metadata_pk_columns_input',
@@ -8829,6 +8849,14 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
8829
8849
  required: true,
8830
8850
  },
8831
8851
  });
8852
+ if (!update_product_metadata_by_pk) {
8853
+ await this.mutation('insert_product_metadata', ['affected_rows'], {
8854
+ objects: {
8855
+ type: '[product_metadata_insert_input!]!',
8856
+ value: [{ product_id: productId, ...metadata }],
8857
+ },
8858
+ });
8859
+ }
8832
8860
  return plainData.metadata;
8833
8861
  }
8834
8862
  async getId(id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "5.4.0-beta.11",
3
+ "version": "5.4.0-beta.13",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -11,8 +11,8 @@
11
11
  "dependencies": {
12
12
  "axios": "^0.27.2",
13
13
  "class-transformer": "^0.5.1",
14
- "date-fns": "^2.28.0",
15
- "date-fns-tz": "^3.2.0",
14
+ "date-fns": "2.28.0",
15
+ "date-fns-tz": "2.0.1",
16
16
  "debug": "^4.3.4",
17
17
  "firebase": "^9.22.0",
18
18
  "gql-query-builder": "3.7.0",
@@ -15,4 +15,10 @@ export declare class Order extends Checkout {
15
15
  reshipmentOrderId?: string;
16
16
  isChange?: boolean;
17
17
  isReshipment?: boolean;
18
+ metadata?: {
19
+ ip?: string;
20
+ userAgent?: string;
21
+ plataform?: string;
22
+ origin?: string;
23
+ };
18
24
  }
@@ -5,7 +5,7 @@ import { FirestoreRepository, FirestoreSubRepository } from '../types';
5
5
  export declare const withHelpers: <TMixinBase extends MixinCtor<any, any[]> = MixinCtor<any, any[]>>(MixinBase: MixinCtor<any, any[]> & TMixinBase) => {
6
6
  new (...args: any[]): {
7
7
  [x: string]: any;
8
- toArray<T extends ModelBaseStructure<T, T["identifiersFields"][number]>>(snapShot: QuerySnapshot<T> | QueryDocumentSnapshot<T>[]): T[];
8
+ toArray<T extends ModelBaseStructure<T, T["identifiersFields"][number]>>(snapShot: QuerySnapshot<T, import("firebase/firestore").DocumentData> | QueryDocumentSnapshot<T, import("firebase/firestore").DocumentData>[]): T[];
9
9
  isSubCollection<T_1 extends ModelBaseStructure<T_1, T_1["identifiersFields"][number]>, E extends ModelBaseStructure<E, E["identifiersFields"][number]>>(repository: FirestoreRepository<T_1> | FirestoreSubRepository<T_1, E>): repository is FirestoreSubRepository<T_1, E>;
10
10
  };
11
11
  } & TMixinBase;
@@ -1,5 +1,5 @@
1
1
  import { add, addBusinessDays, addDays, addMonths, addYears, Duration, endOfDay, format, formatISO9075, parseISO, startOfDay, sub, subDays } from 'date-fns';
2
- import { formatInTimeZone, fromZonedTime, toZonedTime } from 'date-fns-tz';
2
+ import { formatInTimeZone } from 'date-fns-tz';
3
3
  import { chunk, each, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set, sortBy, unset } from 'lodash';
4
4
  export type DateDuration = Duration;
5
5
  export * from './circular-dependencies';
@@ -14,4 +14,4 @@ export * from './obs-emitter';
14
14
  export * from './parse-datetime';
15
15
  export * from './serialize';
16
16
  export * from './types';
17
- export { add, addBusinessDays, addDays, addMonths, addYears, toZonedTime, formatInTimeZone, fromZonedTime, chunk, each, endOfDay, format, formatISO9075, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, parseISO, pick, set, sortBy, startOfDay, sub, subDays, unset, };
17
+ export { add, addBusinessDays, addDays, addMonths, addYears, formatInTimeZone, chunk, each, endOfDay, format, formatISO9075, get, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, parseISO, pick, set, sortBy, startOfDay, sub, subDays, unset, };