@infrab4a/connect 3.9.0-beta.7 → 3.9.0-beta.8

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.
@@ -0,0 +1,63 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Client } from '@elastic/elasticsearch';
3
+ import { NotFoundError } from '../../../errors';
4
+ export class ElasticAdapter {
5
+ constructor(config) {
6
+ this.config = config;
7
+ this.client = new Client(config);
8
+ }
9
+ get(index, id) {
10
+ return __awaiter(this, void 0, void 0, function* () {
11
+ try {
12
+ const data = yield this.client.get({ index, id });
13
+ return data._source;
14
+ }
15
+ catch (erro) {
16
+ throw new NotFoundError(erro.message);
17
+ }
18
+ });
19
+ }
20
+ query(index, query) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const result = yield this.client.search({
23
+ index,
24
+ query,
25
+ });
26
+ return {
27
+ total: result.hits.total,
28
+ hits: result.hits.hits,
29
+ };
30
+ });
31
+ }
32
+ save(index, data) {
33
+ return this.client.index({
34
+ index,
35
+ document: data,
36
+ });
37
+ }
38
+ update(index, id, data) {
39
+ try {
40
+ return this.client.update({
41
+ index,
42
+ id,
43
+ doc: data,
44
+ });
45
+ }
46
+ catch (error) {
47
+ console.log(error);
48
+ throw new Error(error.message);
49
+ }
50
+ }
51
+ delete(index, id) {
52
+ try {
53
+ this.client.delete({
54
+ index,
55
+ id,
56
+ });
57
+ }
58
+ catch (error) {
59
+ console.log(error);
60
+ }
61
+ }
62
+ }
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpYy5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvaW5mcmEvZWxhc3RpY3NlYXJjaC9hZGFwdGVycy9lbGFzdGljLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUUvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFPL0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBNkIsTUFBMkI7UUFBM0IsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUssR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFVOztZQUNqQyxJQUFJO2dCQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtnQkFDakQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO2FBQ3BCO1lBQUMsT0FBTyxJQUFJLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7YUFDdEM7UUFDSCxDQUFDO0tBQUE7SUFFSyxLQUFLLENBQUMsS0FBYSxFQUFFLEtBQVU7O1lBQ25DLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ3RDLEtBQUs7Z0JBQ0wsS0FBSzthQUNOLENBQUMsQ0FBQTtZQUVGLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSTthQUN2QixDQUFBO1FBQ0gsQ0FBQztLQUFBO0lBRUQsSUFBSSxDQUFDLEtBQWEsRUFBRSxJQUFnQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLEtBQUs7WUFDTCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYSxFQUFFLEVBQVUsRUFBRSxJQUFnQjtRQUNoRCxJQUFJO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDeEIsS0FBSztnQkFDTCxFQUFFO2dCQUNGLEdBQUcsRUFBRSxJQUFJO2FBQ1YsQ0FBQyxDQUFBO1NBQ0g7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDL0I7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWEsRUFBRSxFQUFVO1FBQzlCLElBQUk7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDakIsS0FBSztnQkFDTCxFQUFFO2FBQ0gsQ0FBQyxDQUFBO1NBQ0g7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDbkI7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnQgfSBmcm9tICdAZWxhc3RpYy9lbGFzdGljc2VhcmNoJ1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnXHJcblxyXG5leHBvcnQgdHlwZSBFbGFzdGljU2VhcmNoQ29uZmlnID0ge1xyXG4gIGNsb3VkOiB7IGlkOiBzdHJpbmcgfVxyXG4gIGF1dGg6IHsgYXBpS2V5OiBzdHJpbmcgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRWxhc3RpY0FkYXB0ZXI8VCBleHRlbmRzIEJhc2VNb2RlbDxUPj4ge1xyXG4gIGNsaWVudDogQ2xpZW50XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjb25maWc6IEVsYXN0aWNTZWFyY2hDb25maWcpIHtcclxuICAgIHRoaXMuY2xpZW50ID0gbmV3IENsaWVudChjb25maWcpXHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXQoaW5kZXg6IHN0cmluZywgaWQ6IHN0cmluZykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldCh7IGluZGV4LCBpZCB9KVxyXG4gICAgICByZXR1cm4gZGF0YS5fc291cmNlXHJcbiAgICB9IGNhdGNoIChlcnJvKSB7XHJcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGVycm8ubWVzc2FnZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHF1ZXJ5KGluZGV4OiBzdHJpbmcsIHF1ZXJ5OiBhbnkpIHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnNlYXJjaCh7XHJcbiAgICAgIGluZGV4LFxyXG4gICAgICBxdWVyeSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdG90YWw6IHJlc3VsdC5oaXRzLnRvdGFsLFxyXG4gICAgICBoaXRzOiByZXN1bHQuaGl0cy5oaXRzLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2F2ZShpbmRleDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPFQ+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5jbGllbnQuaW5kZXgoe1xyXG4gICAgICBpbmRleCxcclxuICAgICAgZG9jdW1lbnQ6IGRhdGEsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGluZGV4OiBzdHJpbmcsIGlkOiBzdHJpbmcsIGRhdGE6IFBhcnRpYWw8VD4pIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNsaWVudC51cGRhdGUoe1xyXG4gICAgICAgIGluZGV4LFxyXG4gICAgICAgIGlkLFxyXG4gICAgICAgIGRvYzogZGF0YSxcclxuICAgICAgfSlcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRlbGV0ZShpbmRleDogc3RyaW5nLCBpZDogc3RyaW5nKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLmNsaWVudC5kZWxldGUoe1xyXG4gICAgICAgIGluZGV4LFxyXG4gICAgICAgIGlkLFxyXG4gICAgICB9KVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5sb2coZXJyb3IpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export * from './axios.adapter';
2
- // export * from './elastic-search.adapter'
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2FkYXB0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsMkNBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9heGlvcy5hZGFwdGVyJ1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2VsYXN0aWMtc2VhcmNoLmFkYXB0ZXInXHJcbiJdfQ==
2
+ export * from './elastic.adapter';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2FkYXB0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxtQkFBbUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXhpb3MuYWRhcHRlcidcclxuZXhwb3J0ICogZnJvbSAnLi9lbGFzdGljLmFkYXB0ZXInXHJcbiJdfQ==
@@ -60,7 +60,18 @@ export class ProductsIndex {
60
60
  must: {
61
61
  multi_match: {
62
62
  query: `${searchTerm}`,
63
- fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
63
+ type: 'bool_prefix',
64
+ fields: [
65
+ 'name',
66
+ 'name.folded',
67
+ 'name.search',
68
+ 'description',
69
+ 'description.search',
70
+ 'description.folded',
71
+ 'brand',
72
+ 'brand.search',
73
+ 'brand.folded',
74
+ ],
64
75
  fuzziness: 2,
65
76
  },
66
77
  },
@@ -112,4 +123,4 @@ export class ProductsIndex {
112
123
  });
113
124
  }
114
125
  }
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJaEQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBNkIsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFEbkQsVUFBSyxHQUFHLFVBQVUsQ0FBQTtJQUNvQyxDQUFDO0lBRXpELE9BQU8sQ0FBQyxFQUFVOztZQUN0QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7S0FBQTtJQUVLLFlBQVksQ0FBQyxFQUFVOztZQUMzQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hELEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFOzRCQUNKLEtBQUssRUFBRTtnQ0FDTCxFQUFFLEVBQUUsRUFBRTs2QkFDUDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2pELENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxJQUFZOztZQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUUxQyxNQUFNLE1BQU0sR0FBRztnQkFDYixLQUFLO2dCQUNMLE9BQU87Z0JBQ1AsSUFBSTtnQkFDSixRQUFRO2dCQUNSLFlBQVk7Z0JBQ1osTUFBTTtnQkFDTixPQUFPO2dCQUNQLEtBQUs7Z0JBQ0wsT0FBTztnQkFDUCxNQUFNO2dCQUNOLFNBQVM7Z0JBQ1QsYUFBYTtnQkFDYixNQUFNO2FBQ1AsQ0FBQTtZQUVELE1BQU0sTUFBTSxHQUFrRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUU3RyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7Z0JBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7YUFDbkU7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUE7YUFDbkY7WUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2xELElBQUk7Z0JBQ0osT0FBTyxFQUFFLE1BQU07Z0JBQ2YsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUU7NEJBQ0osV0FBVyxFQUFFO2dDQUNYLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRTtnQ0FDdEIsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQztnQ0FDdEUsU0FBUyxFQUFFLENBQUM7NkJBQ2I7eUJBQ0Y7d0JBQ0QsTUFBTSxFQUFFOzRCQUNOLG1CQUFtQixFQUFFO2dDQUNuQixhQUFhLEVBQUU7b0NBQ2IsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFO29DQUN0QixJQUFJLEVBQUUsRUFBRTtpQ0FDVDs2QkFDRjt5QkFDRjt3QkFDRCxNQUFNO3FCQUNQO2lCQUNGO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUE7WUFFbkUsT0FBTyxNQUFNLENBQUE7UUFDZixDQUFDO0tBQUE7SUFFSyxJQUFJLENBQUMsT0FBNkI7O1lBQ3RDLElBQUk7Z0JBQ0YsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxLQUFjLE9BQU8sRUFBaEIsSUFBSSxVQUFLLE9BQU8sRUFBeEQseUNBQThDLENBQVUsQ0FBQTtnQkFFOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTthQUNwQztZQUFDLE9BQU8sS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDckI7UUFDSCxDQUFDO0tBQUE7SUFFSyxNQUFNLENBQUMsT0FBNkI7O1lBQ3hDLElBQUk7Z0JBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7YUFDM0Q7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ3JCO1FBQ0gsQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLEVBQVU7O1lBQ3JCLElBQUk7Z0JBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2FBQzFDO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTthQUNyQjtRQUNILENBQUM7S0FBQTtDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvZHVjdCwgU2hvcHMgfSBmcm9tICcuLi8uLi8uLi9kb21haW4nXHJcbmltcG9ydCB7IFByb2R1Y3RIYXN1cmFHcmFwaFFMIH0gZnJvbSAnLi4vLi4vaGFzdXJhLWdyYXBocWwnXHJcbmltcG9ydCB7IEF4aW9zQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RzSW5kZXgge1xyXG4gIHByaXZhdGUgaW5kZXggPSBgcHJvZHVjdHNgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBhZGFwdGVyOiBBeGlvc0FkYXB0ZXI8UHJvZHVjdD4pIHt9XHJcblxyXG4gIGFzeW5jIGdldEJ5SWQoaWQ6IHN0cmluZyk6IFByb21pc2U8UHJvZHVjdD4ge1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5nZXQodGhpcy5pbmRleCwgaWQpXHJcbiAgICByZXR1cm4gUHJvZHVjdC50b0luc3RhbmNlKGRhdGEpXHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRCeUFsbG95SWQoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5xdWVyeSh0aGlzLmluZGV4LCB7XHJcbiAgICAgIHF1ZXJ5OiB7XHJcbiAgICAgICAgYm9vbDoge1xyXG4gICAgICAgICAgbXVzdDoge1xyXG4gICAgICAgICAgICBtYXRjaDoge1xyXG4gICAgICAgICAgICAgIGlkOiBpZCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIFByb2R1Y3QudG9JbnN0YW5jZShkYXRhLmhpdHNbMF0uX3NvdXJjZSlcclxuICB9XHJcblxyXG4gIGFzeW5jIHNlYXJjaChzZWFyY2hUZXJtOiBzdHJpbmcsIHRvdGFsOiBudW1iZXIsIHNob3A6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc2l6ZTogbnVtYmVyID0gdG90YWwgPj0gMTAgPyA1MDAgOiA5XHJcblxyXG4gICAgY29uc3QgZmllbGRzID0gW1xyXG4gICAgICAnRUFOJyxcclxuICAgICAgJ2JyYW5kJyxcclxuICAgICAgJ2lkJyxcclxuICAgICAgJ2ltYWdlcycsXHJcbiAgICAgICdtaW5pYXR1cmVzJyxcclxuICAgICAgJ25hbWUnLFxyXG4gICAgICAncHJpY2UnLFxyXG4gICAgICAnc2t1JyxcclxuICAgICAgJ3N0b2NrJyxcclxuICAgICAgJ3NsdWcnLFxyXG4gICAgICAncmV2aWV3cycsXHJcbiAgICAgICdoYXNWYXJpYW50cycsXHJcbiAgICAgICdyYXRlJyxcclxuICAgIF1cclxuXHJcbiAgICBjb25zdCBmaWx0ZXI6IEFycmF5PHsgdGVybTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuIHwgbnVtYmVyIH0gfT4gPSBbeyB0ZXJtOiB7IHB1Ymxpc2hlZDogdHJ1ZSB9IH1dXHJcblxyXG4gICAgaWYgKHNpemUgPiA5KSB7XHJcbiAgICAgIGZpZWxkcy5wdXNoKC4uLlsncHJpY2VQYWlkJywgJ2lzR2lmdCcsICdzdG9jaycsICd3ZWlnaHQnLCAndGFncyddKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZmlsdGVyLnB1c2goeyB0ZXJtOiB7IHRhZ3M6IHNob3AgPT0gU2hvcHMuR0xBTVNIT1AgPyAnZmVtaW5pbm8nIDogJ21hc2N1bGlubycgfSB9KVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNlYXJjaCA9IGF3YWl0IHRoaXMuYWRhcHRlci5xdWVyeSh0aGlzLmluZGV4LCB7XHJcbiAgICAgIHNpemUsXHJcbiAgICAgIF9zb3VyY2U6IGZpZWxkcyxcclxuICAgICAgcXVlcnk6IHtcclxuICAgICAgICBib29sOiB7XHJcbiAgICAgICAgICBtdXN0OiB7XHJcbiAgICAgICAgICAgIG11bHRpX21hdGNoOiB7XHJcbiAgICAgICAgICAgICAgcXVlcnk6IGAke3NlYXJjaFRlcm19YCxcclxuICAgICAgICAgICAgICBmaWVsZHM6IFsnbmFtZScsICduYW1lLmZvbGRlZCcsICduYW1lLnNlYXJjaCcsICdkZXNjcmlwdGlvbicsICdicmFuZCddLFxyXG4gICAgICAgICAgICAgIGZ1enppbmVzczogMixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBzaG91bGQ6IHtcclxuICAgICAgICAgICAgbWF0Y2hfcGhyYXNlX3ByZWZpeDoge1xyXG4gICAgICAgICAgICAgICduYW1lLnNlYXJjaCc6IHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBgJHtzZWFyY2hUZXJtfWAsXHJcbiAgICAgICAgICAgICAgICBzbG9wOiAxMCxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZpbHRlcixcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgICBzZWFyY2guaGl0cyA9IHNlYXJjaC5oaXRzLmZpbHRlcigoZTogYW55KSA9PiBlLl9zb3VyY2UubmFtZSAhPT0gJycpXHJcblxyXG4gICAgcmV0dXJuIHNlYXJjaFxyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2F2ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgeyBjcmVhdGVkQXQsIHVwZGF0ZWRBdCwga2l0UHJvZHVjdHMsIC4uLmRhdGEgfSA9IHByb2R1Y3RcclxuXHJcbiAgICAgIHRoaXMuYWRhcHRlci5zYXZlKHRoaXMuaW5kZXgsIGRhdGEpXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBkYXRlKHByb2R1Y3Q6IFByb2R1Y3RIYXN1cmFHcmFwaFFMKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIudXBkYXRlKHRoaXMuaW5kZXgsIHByb2R1Y3QuaWQsIHByb2R1Y3QpXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuYWRhcHRlci5kZWxldGUodGhpcy5pbmRleCwgaWQpXHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9pbmZyYS9lbGFzdGljc2VhcmNoL2luZGV4ZXMvcHJvZHVjdHMtaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFJaEQsTUFBTSxPQUFPLGFBQWE7SUFFeEIsWUFBNkIsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFEbkQsVUFBSyxHQUFHLFVBQVUsQ0FBQTtJQUNvQyxDQUFDO0lBRXpELE9BQU8sQ0FBQyxFQUFVOztZQUN0QixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7WUFDbkQsT0FBTyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7S0FBQTtJQUVLLFlBQVksQ0FBQyxFQUFVOztZQUMzQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hELEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFOzRCQUNKLEtBQUssRUFBRTtnQ0FDTCxFQUFFLEVBQUUsRUFBRTs2QkFDUDt5QkFDRjtxQkFDRjtpQkFDRjthQUNGLENBQUMsQ0FBQTtZQUVGLE9BQU8sT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ2pELENBQUM7S0FBQTtJQUVLLE1BQU0sQ0FBQyxVQUFrQixFQUFFLEtBQWEsRUFBRSxJQUFZOztZQUMxRCxNQUFNLElBQUksR0FBVyxLQUFLLElBQUks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QUE7SUFFSyxNQUFNLENBQUMsRUFBVTs7WUFDckIsSUFBSTtnQkFDRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7YUFDMUM7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO2FBQ3JCO1FBQ0gsQ0FBQztLQUFBO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9kdWN0LCBTaG9wcyB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbidcclxuaW1wb3J0IHsgUHJvZHVjdEhhc3VyYUdyYXBoUUwgfSBmcm9tICcuLi8uLi9oYXN1cmEtZ3JhcGhxbCdcclxuaW1wb3J0IHsgQXhpb3NBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMnXHJcblxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNJbmRleCB7XHJcbiAgcHJpdmF0ZSBpbmRleCA9IGBwcm9kdWN0c2BcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFkYXB0ZXI6IEF4aW9zQWRhcHRlcjxQcm9kdWN0Pikge31cclxuXHJcbiAgYXN5bmMgZ2V0QnlJZChpZDogc3RyaW5nKTogUHJvbWlzZTxQcm9kdWN0PiB7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5hZGFwdGVyLmdldCh0aGlzLmluZGV4LCBpZClcclxuICAgIHJldHVybiBQcm9kdWN0LnRvSW5zdGFuY2UoZGF0YSlcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldEJ5QWxsb3lJZChpZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KHRoaXMuaW5kZXgsIHtcclxuICAgICAgcXVlcnk6IHtcclxuICAgICAgICBib29sOiB7XHJcbiAgICAgICAgICBtdXN0OiB7XHJcbiAgICAgICAgICAgIG1hdGNoOiB7XHJcbiAgICAgICAgICAgICAgaWQ6IGlkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSlcclxuXHJcbiAgICByZXR1cm4gUHJvZHVjdC50b0luc3RhbmNlKGRhdGEuaGl0c1swXS5fc291cmNlKVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2VhcmNoKHNlYXJjaFRlcm06IHN0cmluZywgdG90YWw6IG51bWJlciwgc2hvcDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzaXplOiBudW1iZXIgPSB0b3RhbCA+PSAxMCA/IDUwMCA6IDlcclxuXHJcbiAgICBjb25zdCBmaWVsZHMgPSBbXHJcbiAgICAgICdFQU4nLFxyXG4gICAgICAnYnJhbmQnLFxyXG4gICAgICAnaWQnLFxyXG4gICAgICAnaW1hZ2VzJyxcclxuICAgICAgJ21pbmlhdHVyZXMnLFxyXG4gICAgICAnbmFtZScsXHJcbiAgICAgICdwcmljZScsXHJcbiAgICAgICdza3UnLFxyXG4gICAgICAnc3RvY2snLFxyXG4gICAgICAnc2x1ZycsXHJcbiAgICAgICdyZXZpZXdzJyxcclxuICAgICAgJ2hhc1ZhcmlhbnRzJyxcclxuICAgICAgJ3JhdGUnLFxyXG4gICAgXVxyXG5cclxuICAgIGNvbnN0IGZpbHRlcjogQXJyYXk8eyB0ZXJtOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfSB9PiA9IFt7IHRlcm06IHsgcHVibGlzaGVkOiB0cnVlIH0gfV1cclxuXHJcbiAgICBpZiAoc2l6ZSA+IDkpIHtcclxuICAgICAgZmllbGRzLnB1c2goLi4uWydwcmljZVBhaWQnLCAnaXNHaWZ0JywgJ3N0b2NrJywgJ3dlaWdodCcsICd0YWdzJ10pXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmaWx0ZXIucHVzaCh7IHRlcm06IHsgdGFnczogc2hvcCA9PSBTaG9wcy5HTEFNU0hPUCA/ICdmZW1pbmlubycgOiAnbWFzY3VsaW5vJyB9IH0pXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgc2VhcmNoID0gYXdhaXQgdGhpcy5hZGFwdGVyLnF1ZXJ5KHRoaXMuaW5kZXgsIHtcclxuICAgICAgc2l6ZSxcclxuICAgICAgX3NvdXJjZTogZmllbGRzLFxyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIGJvb2w6IHtcclxuICAgICAgICAgIG11c3Q6IHtcclxuICAgICAgICAgICAgbXVsdGlfbWF0Y2g6IHtcclxuICAgICAgICAgICAgICBxdWVyeTogYCR7c2VhcmNoVGVybX1gLFxyXG4gICAgICAgICAgICAgIHR5cGU6ICdib29sX3ByZWZpeCcsXHJcbiAgICAgICAgICAgICAgZmllbGRzOiBbXHJcbiAgICAgICAgICAgICAgICAnbmFtZScsXHJcbiAgICAgICAgICAgICAgICAnbmFtZS5mb2xkZWQnLFxyXG4gICAgICAgICAgICAgICAgJ25hbWUuc2VhcmNoJyxcclxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbicsXHJcbiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24uc2VhcmNoJyxcclxuICAgICAgICAgICAgICAgICdkZXNjcmlwdGlvbi5mb2xkZWQnLFxyXG4gICAgICAgICAgICAgICAgJ2JyYW5kJyxcclxuICAgICAgICAgICAgICAgICdicmFuZC5zZWFyY2gnLFxyXG4gICAgICAgICAgICAgICAgJ2JyYW5kLmZvbGRlZCcsXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBmdXp6aW5lc3M6IDIsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgc2hvdWxkOiB7XHJcbiAgICAgICAgICAgIG1hdGNoX3BocmFzZV9wcmVmaXg6IHtcclxuICAgICAgICAgICAgICAnbmFtZS5zZWFyY2gnOiB7XHJcbiAgICAgICAgICAgICAgICBxdWVyeTogYCR7c2VhcmNoVGVybX1gLFxyXG4gICAgICAgICAgICAgICAgc2xvcDogMTAsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBmaWx0ZXIsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0pXHJcblxyXG4gICAgc2VhcmNoLmhpdHMgPSBzZWFyY2guaGl0cy5maWx0ZXIoKGU6IGFueSkgPT4gZS5fc291cmNlLm5hbWUgIT09ICcnKVxyXG5cclxuICAgIHJldHVybiBzZWFyY2hcclxuICB9XHJcblxyXG4gIGFzeW5jIHNhdmUocHJvZHVjdDogUHJvZHVjdEhhc3VyYUdyYXBoUUwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHsgY3JlYXRlZEF0LCB1cGRhdGVkQXQsIGtpdFByb2R1Y3RzLCAuLi5kYXRhIH0gPSBwcm9kdWN0XHJcblxyXG4gICAgICB0aGlzLmFkYXB0ZXIuc2F2ZSh0aGlzLmluZGV4LCBkYXRhKVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZShwcm9kdWN0OiBQcm9kdWN0SGFzdXJhR3JhcGhRTCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy5hZGFwdGVyLnVwZGF0ZSh0aGlzLmluZGV4LCBwcm9kdWN0LmlkLCBwcm9kdWN0KVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIGRlbGV0ZShpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLmFkYXB0ZXIuZGVsZXRlKHRoaXMuaW5kZXgsIGlkKVxyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -7,6 +7,7 @@ import { isString, isNil, isNumber, isDate, set, isObject, isEmpty, chunk, isBoo
7
7
  export { chunk, isBoolean, isDate, isEmpty, isInteger, isNaN, isNil, isNumber, isObject, isString, now, omit, pick, set } from 'lodash';
8
8
  import { CustomError } from 'ts-custom-error';
9
9
  import axios from 'axios';
10
+ import { Client } from '@elastic/elasticsearch';
10
11
  import firebase from 'firebase';
11
12
  import { mutation, query } from 'gql-query-builder';
12
13
 
@@ -1149,7 +1150,65 @@ class AxiosAdapter {
1149
1150
  }
1150
1151
  }
1151
1152
 
1152
- // export * from './elastic-search.adapter'
1153
+ class ElasticAdapter {
1154
+ constructor(config) {
1155
+ this.config = config;
1156
+ this.client = new Client(config);
1157
+ }
1158
+ get(index, id) {
1159
+ return __awaiter(this, void 0, void 0, function* () {
1160
+ try {
1161
+ const data = yield this.client.get({ index, id });
1162
+ return data._source;
1163
+ }
1164
+ catch (erro) {
1165
+ throw new NotFoundError(erro.message);
1166
+ }
1167
+ });
1168
+ }
1169
+ query(index, query) {
1170
+ return __awaiter(this, void 0, void 0, function* () {
1171
+ const result = yield this.client.search({
1172
+ index,
1173
+ query,
1174
+ });
1175
+ return {
1176
+ total: result.hits.total,
1177
+ hits: result.hits.hits,
1178
+ };
1179
+ });
1180
+ }
1181
+ save(index, data) {
1182
+ return this.client.index({
1183
+ index,
1184
+ document: data,
1185
+ });
1186
+ }
1187
+ update(index, id, data) {
1188
+ try {
1189
+ return this.client.update({
1190
+ index,
1191
+ id,
1192
+ doc: data,
1193
+ });
1194
+ }
1195
+ catch (error) {
1196
+ console.log(error);
1197
+ throw new Error(error.message);
1198
+ }
1199
+ }
1200
+ delete(index, id) {
1201
+ try {
1202
+ this.client.delete({
1203
+ index,
1204
+ id,
1205
+ });
1206
+ }
1207
+ catch (error) {
1208
+ console.log(error);
1209
+ }
1210
+ }
1211
+ }
1153
1212
 
1154
1213
  class ProductsIndex {
1155
1214
  constructor(adapter) {
@@ -1211,7 +1270,18 @@ class ProductsIndex {
1211
1270
  must: {
1212
1271
  multi_match: {
1213
1272
  query: `${searchTerm}`,
1214
- fields: ['name', 'name.folded', 'name.search', 'description', 'brand'],
1273
+ type: 'bool_prefix',
1274
+ fields: [
1275
+ 'name',
1276
+ 'name.folded',
1277
+ 'name.search',
1278
+ 'description',
1279
+ 'description.search',
1280
+ 'description.folded',
1281
+ 'brand',
1282
+ 'brand.search',
1283
+ 'brand.folded',
1284
+ ],
1215
1285
  fuzziness: 2,
1216
1286
  },
1217
1287
  },
@@ -3701,5 +3771,5 @@ class VariantHasuraGraphQLRepository extends withCrudHasuraGraphQL(withHasuraGra
3701
3771
  * Generated bundle index. Do not edit.
3702
3772
  */
3703
3773
 
3704
- export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, CampaignDashboard, CampaignDashboardFirestoreRepository, CampaignHashtag, CampaignHashtagFirestoreRepository, Category, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
3774
+ export { AccessoryImportances, Address, Area, Authentication, AuthenticationFirebaseAuthService, AxiosAdapter, Base, BaseModel, BeardProblems, BeardSizes, BeautyProductImportances, BeautyProfile, BeautyQuestionsHelper, BillingStatus, BodyProblems, BodyShapes, BodyTattoos, Buy2Win, Buy2WinFirestoreRepository, CampaignDashboard, CampaignDashboardFirestoreRepository, CampaignHashtag, CampaignHashtagFirestoreRepository, Category, CategoryFilter, CategoryFilterHasuraGraphQLRepository, CategoryFirestoreRepository, CategoryHasuraGraphQL, CategoryHasuraGraphQLRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, DuplicatedResultsError, Edition, EditionStatus, ElasticAdapter, Exclusivities, FaceSkinOilinesses, FaceSkinProblems, FaceSkinTones, FamilyIncomes, Filter, FilterHasuraGraphQLRepository, FilterOption, FilterOptionHasuraGraphQLRepository, FilterType, FragranceImportances, GenderDestination, HairColors, HairProblems, HairStrands, HairTypes, Home, HomeFirestoreRepository, InvalidArgumentError, KitProduct, KitProductHasuraGraphQL, Lead, LeadFirestoreRepository, LegacyOrderFirestoreRepository, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductHasuraGraphQL, ProductHasuraGraphQLRepository, ProductSpents, ProductVariantFirestoreRepository, ProductsIndex, QuestionsFilters, RecoveryPassword, Register, RegisterFirebaseAuthService, RequiredArgumentError, ShippingMethod, ShopMenu, ShopMenuFirestoreRepository, ShopSettings, ShopSettingsFirestoreRepository, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, SubscriptionProductFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserAlreadyRegisteredError, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserPaymentMethod, UserPaymentMethodFirestoreRepository, UserType, Variant, VariantHasuraGraphQL, VariantHasuraGraphQLRepository, WeakPasswordError, Where, isUUID, parseDateTime, withCreateFirestore, withCreateHasuraGraphQL, withCrudFirestore, withCrudHasuraGraphQL, withDeleteFirestore, withDeleteHasuraGraphQL, withFindFirestore, withFindHasuraGraphQL, withFirestore, withGetFirestore, withGetHasuraGraphQL, withHasuraGraphQL, withHelpers, withSubCollection, withUpdateFirestore, withUpdateHasuraGraphQL };
3705
3775
  //# sourceMappingURL=infrab4a-connect.js.map