@golemio/gardens 1.3.0 → 1.3.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,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.GardensRepository = void 0;
13
4
  const models_1 = require("@golemio/core/dist/integration-engine/models");
@@ -22,17 +13,17 @@ class GardensRepository extends models_1.PostgresModel {
22
13
  pgSchema: _sch_1.Gardens.pgSchema,
23
14
  savingType: "insertOrUpdate",
24
15
  }, new golemio_validator_1.JSONSchemaValidator("GardensRepositoryValidator", GardensModel_1.GardensModel.jsonSchema));
25
- this.saveBulk = (data) => __awaiter(this, void 0, void 0, function* () {
26
- if (data && data.length && (yield this.validate(data))) {
16
+ this.saveBulk = async (data) => {
17
+ if (data && data.length && (await this.validate(data))) {
27
18
  const fieldsToUpdate = Object.getOwnPropertyNames(data[0])
28
19
  .filter((el) => el !== "id")
29
20
  .map((el) => el);
30
21
  fieldsToUpdate.push("updated_at");
31
- yield this.sequelizeModel.bulkCreate(data, {
22
+ await this.sequelizeModel.bulkCreate(data, {
32
23
  updateOnDuplicate: fieldsToUpdate,
33
24
  });
34
25
  }
35
- });
26
+ };
36
27
  }
37
28
  }
38
29
  exports.GardensRepository = GardensRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"GardensRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/GardensRepository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAqF;AACrF,mFAAkF;AAClF,mDAA+B;AAC/B,+EAAwD;AAGxD,MAAa,iBAAkB,SAAQ,sBAAa;IAChD;QACI,KAAK,CACD,mBAAmB,EACnB;YACI,yBAAyB,EAAE,2BAAY,CAAC,cAAc;YACtD,WAAW,EAAE,cAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW;YACpD,QAAQ,EAAE,cAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,2BAAY,CAAC,UAAU,CAAC,CACjF,CAAC;QAGC,aAAQ,GAAG,CAAO,IAAe,EAAE,EAAE;YACxC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACrD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;qBAC3B,GAAG,CAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAmB,CAAC,CAAC;gBACrD,cAAc,CAAC,IAAI,CAAC,YAAmB,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAe,IAAI,EAAE;oBACrD,iBAAiB,EAAE,cAAc;iBACpC,CAAC,CAAC;aACN;QACL,CAAC,CAAA,CAAC;IAZF,CAAC;CAaJ;AAzBD,8CAyBC"}
1
+ {"version":3,"file":"GardensRepository.js","sourceRoot":"","sources":["../../../src/integration-engine/repositories/GardensRepository.ts"],"names":[],"mappings":";;;AAAA,yEAAqF;AACrF,mFAAkF;AAClF,mDAA+B;AAC/B,+EAAwD;AAGxD,MAAa,iBAAkB,SAAQ,sBAAa;IAChD;QACI,KAAK,CACD,mBAAmB,EACnB;YACI,yBAAyB,EAAE,2BAAY,CAAC,cAAc;YACtD,WAAW,EAAE,cAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW;YACpD,QAAQ,EAAE,cAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,gBAAgB;SAC/B,EACD,IAAI,uCAAmB,CAAC,4BAA4B,EAAE,2BAAY,CAAC,UAAU,CAAC,CACjF,CAAC;QAGC,aAAQ,GAAG,KAAK,EAAE,IAAe,EAAE,EAAE;YACxC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;gBACpD,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACrD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;qBAC3B,GAAG,CAAgB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAmB,CAAC,CAAC;gBACrD,cAAc,CAAC,IAAI,CAAC,YAAmB,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAe,IAAI,EAAE;oBACrD,iBAAiB,EAAE,cAAc;iBACpC,CAAC,CAAC;aACN;QACL,CAAC,CAAC;IAZF,CAAC;CAaJ;AAzBD,8CAyBC"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.GardensTransformation = void 0;
13
4
  const transformations_1 = require("@golemio/core/dist/integration-engine/transformations");
@@ -15,14 +6,14 @@ const _sch_1 = require("../../schema-definitions");
15
6
  class GardensTransformation extends transformations_1.BaseTransformation {
16
7
  constructor() {
17
8
  super();
18
- this.transform = (data) => __awaiter(this, void 0, void 0, function* () {
9
+ this.transform = async (data) => {
19
10
  const gardens = [];
20
11
  for (const item of data) {
21
- const transformedData = yield this.transformElement(item);
12
+ const transformedData = await this.transformElement(item);
22
13
  gardens.push(transformedData);
23
14
  }
24
15
  return gardens;
25
- });
16
+ };
26
17
  this.transformElement = (element) => {
27
18
  const res = {
28
19
  id: element.slug,
@@ -1 +1 @@
1
- {"version":3,"file":"GardensTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/GardensTransformation.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2FAA4G;AAC5G,mDAA+B;AAI/B,MAAa,qBAAsB,SAAQ,oCAAkB;IAGzD;QACI,KAAK,EAAE,CAAC;QAIL,cAAS,GAAG,CAAO,IAAqB,EAAsB,EAAE;YACnE,MAAM,OAAO,GAAc,EAAE,CAAC;YAE9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACjC;YAED,OAAO,OAAO,CAAC;QACnB,CAAC,CAAA,CAAC;QAEQ,qBAAgB,GAAG,CAAC,OAAsB,EAAW,EAAE;YAC7D,MAAM,GAAG,GAAY;gBACjB,EAAE,EAAE,OAAO,CAAC,IAAI;gBAChB,QAAQ,EAAE;oBACN,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,OAAO;iBAChB;gBACD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAElB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAE1B,UAAU,EAAE,OAAO,CAAC,qBAAqB;gBACzC,MAAM,EAAE,OAAO,CAAC,iBAAiB;gBACjC,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,IAAI,EAAE,OAAO,CAAC,eAAe;gBAC7B,MAAM,EAAE,OAAO,CAAC,iBAAiB;gBACjC,IAAI,EAAE,OAAO,CAAC,eAAe;gBAC7B,GAAG,EAAE,OAAO,CAAC,cAAc;gBAC3B,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,OAAO,EAAE,OAAO,CAAC,kBAAkB;gBACnC,MAAM,EAAE,OAAO,CAAC,iBAAiB;gBACjC,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,EAAE,EAAE,OAAO,CAAC,aAAa;aAC5B,CAAC;YACF,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QA3CE,IAAI,CAAC,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;CA2CJ;AAjDD,sDAiDC"}
1
+ {"version":3,"file":"GardensTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/GardensTransformation.ts"],"names":[],"mappings":";;;AAAA,2FAA4G;AAC5G,mDAA+B;AAI/B,MAAa,qBAAsB,SAAQ,oCAAkB;IAGzD;QACI,KAAK,EAAE,CAAC;QAIL,cAAS,GAAG,KAAK,EAAE,IAAqB,EAAsB,EAAE;YACnE,MAAM,OAAO,GAAc,EAAE,CAAC;YAE9B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACrB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACjC;YAED,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC;QAEQ,qBAAgB,GAAG,CAAC,OAAsB,EAAW,EAAE;YAC7D,MAAM,GAAG,GAAY;gBACjB,EAAE,EAAE,OAAO,CAAC,IAAI;gBAChB,QAAQ,EAAE;oBACN,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,IAAI,EAAE,OAAO;iBAChB;gBACD,IAAI,EAAE,OAAO,CAAC,IAAI;gBAElB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAE1B,UAAU,EAAE,OAAO,CAAC,qBAAqB;gBACzC,MAAM,EAAE,OAAO,CAAC,iBAAiB;gBACjC,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,IAAI,EAAE,OAAO,CAAC,eAAe;gBAC7B,MAAM,EAAE,OAAO,CAAC,iBAAiB;gBACjC,IAAI,EAAE,OAAO,CAAC,eAAe;gBAC7B,GAAG,EAAE,OAAO,CAAC,cAAc;gBAC3B,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,OAAO,EAAE,OAAO,CAAC,kBAAkB;gBACnC,MAAM,EAAE,OAAO,CAAC,iBAAiB;gBACjC,KAAK,EAAE,OAAO,CAAC,gBAAgB;gBAC/B,EAAE,EAAE,OAAO,CAAC,aAAa;aAC5B,CAAC;YACF,OAAO,GAAG,CAAC;QACf,CAAC,CAAC;QA3CE,IAAI,CAAC,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;CA2CJ;AAjDD,sDAiDC"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.RefreshDataInDBTask = void 0;
13
4
  const integration_engine_1 = require("@golemio/core/dist/integration-engine");
@@ -23,12 +14,10 @@ class RefreshDataInDBTask extends integration_engine_1.AbstractEmptyTask {
23
14
  this.transformation = new _ie_1.GardensTransformation();
24
15
  this.repository = new GardensRepository_1.GardensRepository();
25
16
  }
26
- execute() {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- const data = yield this.dataSource.getAll();
29
- const transformedData = yield this.transformation.transform(data);
30
- yield this.repository.saveBulk(transformedData);
31
- });
17
+ async execute() {
18
+ const data = await this.dataSource.getAll();
19
+ const transformedData = await this.transformation.transform(data);
20
+ await this.repository.saveBulk(transformedData);
32
21
  }
33
22
  }
34
23
  exports.RefreshDataInDBTask = RefreshDataInDBTask;
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshDataInDBTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshDataInDBTask.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA0E;AAG1E,yFAA6E;AAC7E,+BAA4C;AAC5C,4EAAuE;AAEvE,MAAa,mBAAoB,SAAQ,sCAAiB;IAQtD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;QAQvD,IAAI,CAAC,UAAU,GAAG,4CAAiB,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,2BAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,qCAAiB,EAAE,CAAC;IAC9C,CAAC;IAEe,OAAO;;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACpD,CAAC;KAAA;CACJ;AApBD,kDAoBC"}
1
+ {"version":3,"file":"RefreshDataInDBTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RefreshDataInDBTask.ts"],"names":[],"mappings":";;;AAAA,8EAA0E;AAG1E,yFAA6E;AAC7E,+BAA4C;AAC5C,4EAAuE;AAEvE,MAAa,mBAAoB,SAAQ,sCAAiB;IAQtD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QARP,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;QAQvD,IAAI,CAAC,UAAU,GAAG,4CAAiB,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,2BAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,UAAU,GAAG,IAAI,qCAAiB,EAAE,CAAC;IAC9C,CAAC;IAES,KAAK,CAAC,OAAO;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;CACJ;AApBD,kDAoBC"}
@@ -22,7 +22,7 @@ class FilterHelper {
22
22
  ? [
23
23
  {
24
24
  updated_at: {
25
- [sequelize_1.default.Op.gt]: options === null || options === void 0 ? void 0 : options.updatedSince,
25
+ [sequelize_1.default.Op.gt]: options?.updatedSince,
26
26
  },
27
27
  },
28
28
  ]
@@ -36,7 +36,7 @@ class FilterHelper {
36
36
  : [];
37
37
  }
38
38
  static prepareOrderFunction(options) {
39
- return (options === null || options === void 0 ? void 0 : options.lat) && options.lng
39
+ return options?.lat && options.lng
40
40
  ? [
41
41
  sequelize_1.default.fn("ST_Distance", sequelize_1.default.col("geometry"), sequelize_1.default.cast(sequelize_1.default.fn("ST_SetSRID", sequelize_1.default.fn("ST_MakePoint", options.lng, options.lat), 4326), "geography")),
42
42
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"FilterHelper.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/FilterHelper.ts"],"names":[],"mappings":";;;;;;AACA,oFAA8E;AAE9E,MAAa,YAAY;IACd,MAAM,CAAC,yBAAyB,CAAC,OAAoC;QACxE,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC;gBACI;oBACI,QAAQ,EAAE;wBACN,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS;qBACvC;iBACJ;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,OAAoC;QAC1E,OAAO,OAAO,CAAC,YAAY;YACvB,CAAC,CAAC;gBACI;oBACI,UAAU,EAAE;wBACR,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;qBAC3C;iBACJ;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,OAAoC;QACvE,OAAO,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK;YAC9C,CAAC,CAAC;gBACI,mBAAS,CAAC,EAAE,CACR,YAAY,EACZ,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACzB,mBAAS,CAAC,IAAI,CACV,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAS,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EACxF,WAAW,CACd,EACD,OAAO,CAAC,KAAK,CAChB;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,OAAgD;QAC/E,OAAO,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,KAAI,OAAO,CAAC,GAAG;YAC9B,CAAC,CAAC;gBACI,mBAAS,CAAC,EAAE,CACR,aAAa,EACb,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACzB,mBAAS,CAAC,IAAI,CACV,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAS,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EACxF,WAAW,CACd,CACJ;aACJ;YACH,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;CACJ;AAvDD,oCAuDC"}
1
+ {"version":3,"file":"FilterHelper.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/FilterHelper.ts"],"names":[],"mappings":";;;;;;AACA,oFAA8E;AAE9E,MAAa,YAAY;IACd,MAAM,CAAC,yBAAyB,CAAC,OAAoC;QACxE,OAAO,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACpD,CAAC,CAAC;gBACI;oBACI,QAAQ,EAAE;wBACN,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS;qBACvC;iBACJ;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,2BAA2B,CAAC,OAAoC;QAC1E,OAAO,OAAO,CAAC,YAAY;YACvB,CAAC,CAAC;gBACI;oBACI,UAAU,EAAE;wBACR,CAAC,mBAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY;qBAC3C;iBACJ;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAC,OAAoC;QACvE,OAAO,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK;YAC9C,CAAC,CAAC;gBACI,mBAAS,CAAC,EAAE,CACR,YAAY,EACZ,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACzB,mBAAS,CAAC,IAAI,CACV,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAS,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EACxF,WAAW,CACd,EACD,OAAO,CAAC,KAAK,CAChB;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,OAAgD;QAC/E,OAAO,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG;YAC9B,CAAC,CAAC;gBACI,mBAAS,CAAC,EAAE,CACR,aAAa,EACb,mBAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EACzB,mBAAS,CAAC,IAAI,CACV,mBAAS,CAAC,EAAE,CAAC,YAAY,EAAE,mBAAS,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EACxF,WAAW,CACd,CACJ;aACJ;YACH,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;CACJ;AAvDD,oCAuDC"}
@@ -1,24 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
21
- };
22
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
23
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
@@ -35,11 +15,11 @@ class GardensRepository extends output_gateway_1.SequelizeModel {
35
15
  super("GardensRepository", _sch_1.Gardens.definitions.gardens.pgTableName, GardensModel_1.GardensModel.attributeModel, {
36
16
  schema: _sch_1.Gardens.pgSchema,
37
17
  });
38
- this.GetProperties = () => __awaiter(this, void 0, void 0, function* () {
18
+ this.GetProperties = async () => {
39
19
  throw new Error("Method not implemented.");
40
- });
41
- this.GetAll = (options = {}) => __awaiter(this, void 0, void 0, function* () {
42
- const result = yield this.sequelizeModel.findAll({
20
+ };
21
+ this.GetAll = async (options = {}) => {
22
+ const result = await this.sequelizeModel.findAll({
43
23
  attributes: {
44
24
  include: ["updated_at"],
45
25
  },
@@ -52,27 +32,27 @@ class GardensRepository extends output_gateway_1.SequelizeModel {
52
32
  ],
53
33
  }
54
34
  : {},
55
- limit: options === null || options === void 0 ? void 0 : options.limit,
56
- offset: Number.isInteger(options === null || options === void 0 ? void 0 : options.offset) ? options === null || options === void 0 ? void 0 : options.offset : undefined,
35
+ limit: options?.limit,
36
+ offset: Number.isInteger(options?.offset) ? options?.offset : undefined,
57
37
  order: FilterHelper_1.FilterHelper.prepareOrderFunction(options),
58
38
  });
59
39
  return (0, output_gateway_2.buildGeojsonFeatureCollection)(result.map((record) => {
60
40
  return this.formatOutput(record);
61
41
  }));
62
- });
63
- this.GetOne = (id) => __awaiter(this, void 0, void 0, function* () {
64
- const result = yield this.sequelizeModel.findOne({
42
+ };
43
+ this.GetOne = async (id) => {
44
+ const result = await this.sequelizeModel.findOne({
65
45
  attributes: {
66
46
  include: ["updated_at"],
67
47
  },
68
48
  where: { id },
69
49
  });
70
50
  return result ? this.formatOutput(result) : undefined;
71
- });
51
+ };
72
52
  this.formatOutput = (record) => {
73
- const _a = record.get({
53
+ const { geometry, address, image, description, district, id, name, updated_at, url, ...rest } = record.get({
74
54
  plain: true,
75
- }), { geometry, address, image, description, district, id, name, updated_at, url } = _a, rest = __rest(_a, ["geometry", "address", "image", "description", "district", "id", "name", "updated_at", "url"]);
55
+ });
76
56
  return (0, output_gateway_2.buildGeojsonFeatureLatLng)({
77
57
  address: {
78
58
  address_formatted: address,
@@ -1 +1 @@
1
- {"version":3,"file":"GardensRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/GardensRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GardensRepository.js","sourceRoot":"","sources":["../../../src/output-gateway/repositories/GardensRepository.ts"],"names":[],"mappings":";;;;;;AAAA,oFAA4D;AAC5D,sEAAmE;AAEnE,sEAM2C;AAC3C,iDAA8C;AAE9C,mDAA+B;AAC/B,+EAAwD;AAiBxD,MAAa,iBAAkB,SAAQ,+BAAc;IACjD;QACI,KAAK,CAAC,mBAAmB,EAAE,cAAO,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,2BAAY,CAAC,cAAc,EAAE;YAC7F,MAAM,EAAE,cAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAWA,kBAAa,GAAG,KAAK,IAAkB,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,EAAE,UAAuC,EAAE,EAAsC,EAAE;YACpG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAe;gBAC3D,UAAU,EAAE;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;iBAC1B;gBACD,KAAK,EAAE,OAAO;oBACV,CAAC,CAAC;wBACI,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;4BAChB,GAAG,2BAAY,CAAC,wBAAwB,CAAC,OAAO,CAAC;4BACjD,GAAG,2BAAY,CAAC,2BAA2B,CAAC,OAAO,CAAC;4BACpD,GAAG,2BAAY,CAAC,yBAAyB,CAAC,OAAO,CAAC;yBACrD;qBACJ;oBACH,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;gBACvE,KAAK,EAAE,2BAAY,CAAC,oBAAoB,CAAC,OAAO,CAAC;aACpD,CAAC,CAAC;YAEH,OAAO,IAAA,8CAA6B,EAChC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAoB,EAAE,EAAE;gBAChC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CACL,CAAC;QACN,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,EAAE,EAAU,EAAwC,EAAE;YACvE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAe;gBAC3D,UAAU,EAAE;oBACR,OAAO,EAAE,CAAC,YAAY,CAAC;iBAC1B;gBACD,KAAK,EAAE,EAAE,EAAE,EAAE;aAChB,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,MAAoB,EAA+B,EAAE;YACzE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;gBACvG,KAAK,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,OAAO,IAAA,0CAAyB,EAC5B;gBACI,OAAO,EAAE;oBACL,iBAAiB,EAAE,OAAO;iBAC7B;gBACD,KAAK,EAAE;oBACH,GAAG,EAAE,KAAK;iBACb;gBACD,WAAW;gBACX,QAAQ;gBACR,EAAE;gBACF,IAAI;gBAEJ,UAAU,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBAE7C,UAAU;gBACV,GAAG;aACN,EACD,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EACvB,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAC1B,CAAC;QACN,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,eAA2B,EAAE,EAAE;YAC7D,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;iBACtD,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE;gBACzB,IAAI,KAAK,EAAE;oBACP,OAAO;wBACH,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;wBACpD,EAAE,EAAE,UAAU;wBACd,KAAK;qBACR,CAAC;iBACL;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,OAAO,mBAAmB,CAAC;QAC/B,CAAC,CAAC;QAEM,2BAAsB,GAAG,CAAC,EAAU,EAAiB,EAAE;YAC3D,QAAQ,EAAE,EAAE;gBACR,KAAK,YAAY;oBACb,OAAO,aAAa,CAAC;gBACzB,KAAK,IAAI;oBACL,OAAO,IAAI,CAAC;gBAChB,KAAK,OAAO;oBACR,OAAO,aAAa,CAAC;gBACzB,KAAK,MAAM;oBACP,OAAO,aAAa,CAAC;gBACzB,KAAK,QAAQ;oBACT,OAAO,eAAe,CAAC;gBAC3B,KAAK,QAAQ;oBACT,OAAO,UAAU,CAAC;gBACtB,KAAK,OAAO;oBACR,OAAO,kBAAkB,CAAC;gBAC9B,KAAK,KAAK;oBACN,OAAO,KAAK,CAAC;gBACjB,KAAK,SAAS;oBACV,OAAO,WAAW,CAAC;gBACvB,KAAK,OAAO;oBACR,OAAO,aAAa,CAAC;gBACzB,KAAK,QAAQ;oBACT,OAAO,cAAc,CAAC;gBAC1B,KAAK,MAAM;oBACP,OAAO,gBAAgB,CAAC;gBAC5B;oBACI,OAAO,IAAI,CAAC;aACnB;QACL,CAAC,CAAC;IA5HF,CAAC;IAEM,iBAAiB,CAAC,KAAa;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,0BAA0B,CAAC,EAAU;QACxC,OAAO,EAAE,EAAE,EAAE,CAAC;IAClB,CAAC;CAqHJ;AAlID,8CAkIC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/gardens",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "Golemio Gardens Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,32 +32,32 @@
32
32
  "devDependencies": {
33
33
  "@commitlint/cli": "^16.2.1",
34
34
  "@commitlint/config-conventional": "^16.2.1",
35
- "@golemio/cli": "1.7.3",
36
- "@golemio/core": "1.17.1",
37
- "@golemio/db-common": "1.1.4",
35
+ "@golemio/cli": "1.11.0",
36
+ "@golemio/core": "3.0.2",
37
+ "@golemio/db-common": "1.2.1",
38
38
  "@golemio/eslint-config": "1.1.2",
39
- "@types/chai": "4.2.3",
40
- "@types/chai-as-promised": "7.1.2",
39
+ "@types/chai": "^5.2.3",
40
+ "@types/chai-as-promised": "^8.0.2",
41
41
  "@types/geojson": "^7946.0.10",
42
- "@types/mocha": "^8.2.0",
42
+ "@types/mocha": "^10.0.10",
43
43
  "@types/node": "^20.12.7",
44
- "@types/sinon": "^9.0.10",
45
- "@types/supertest": "^2.0.10",
46
- "chai": "4.2.0",
47
- "chai-as-promised": "7.1.1",
44
+ "@types/sinon": "^21.0.0",
45
+ "@types/supertest": "^6.0.3",
46
+ "chai": "^6.2.2",
47
+ "chai-as-promised": "^8.0.2",
48
48
  "cross-env": "^7.0.3",
49
49
  "dotenv": "^8.2.0",
50
50
  "eslint": "^8.1.1",
51
51
  "husky": "^4.3.7",
52
- "mocha": "^8.2.1",
52
+ "mocha": "^11.7.5",
53
53
  "npm-run-all": "^4.1.5",
54
54
  "nyc": "^15.1.0",
55
55
  "prettier": "^2.7.1",
56
56
  "pretty-quick": "^3.1.0",
57
57
  "rimraf": "^3.0.2",
58
- "sinon": "^9.2.3",
58
+ "sinon": "^21.0.1",
59
59
  "source-map-support": "0.5.21",
60
- "supertest": "^6.0.1",
60
+ "supertest": "^7.1.4",
61
61
  "ts-node": "^10.9.1",
62
62
  "ts-patch": "3.0.0-beta3",
63
63
  "tsconfig-paths": "^4.2.0",
@@ -68,4 +68,4 @@
68
68
  "peerDependencies": {
69
69
  "@golemio/core": ">=1.9.0"
70
70
  }
71
- }
71
+ }