@goatlab/fluent-formio 0.6.5 → 0.6.7

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.
Files changed (50) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -4
  3. package/package.json +21 -108
  4. package/dist/FormioConnector.d.ts +0 -37
  5. package/dist/FormioConnector.js +0 -344
  6. package/dist/index.d.ts +0 -2
  7. package/dist/index.js +0 -5
  8. package/dist/test/advanced/advancedTestSuite.d.ts +0 -1
  9. package/dist/test/advanced/advancedTestSuite.js +0 -114
  10. package/dist/test/advanced/typeOrm.entity.d.ts +0 -16
  11. package/dist/test/advanced/typeOrm.entity.js +0 -57
  12. package/dist/test/advanced/typeOrm.repository.d.ts +0 -5
  13. package/dist/test/advanced/typeOrm.repository.js +0 -11
  14. package/dist/test/basic/basicTestSuite.d.ts +0 -1
  15. package/dist/test/basic/basicTestSuite.js +0 -45
  16. package/dist/test/basic/goat.dto.d.ts +0 -8
  17. package/dist/test/basic/goat.dto.js +0 -18
  18. package/dist/test/basic/goat.entity.d.ts +0 -10
  19. package/dist/test/basic/goat.entity.js +0 -41
  20. package/dist/test/basic/goat.repository.d.ts +0 -6
  21. package/dist/test/basic/goat.repository.js +0 -11
  22. package/dist/test/flock.d.ts +0 -4
  23. package/dist/test/flock.js +0 -25
  24. package/dist/test/relations/car/car.dto.d.ts +0 -5
  25. package/dist/test/relations/car/car.dto.js +0 -12
  26. package/dist/test/relations/car/car.entity.d.ts +0 -7
  27. package/dist/test/relations/car/car.entity.js +0 -32
  28. package/dist/test/relations/car/car.repositoryTypeOrm.d.ts +0 -8
  29. package/dist/test/relations/car/car.repositoryTypeOrm.js +0 -13
  30. package/dist/test/relations/relationsTestsSuite.d.ts +0 -1
  31. package/dist/test/relations/relationsTestsSuite.js +0 -93
  32. package/dist/test/relations/roles/role.dto.d.ts +0 -5
  33. package/dist/test/relations/roles/role.dto.js +0 -12
  34. package/dist/test/relations/roles/roles.entity.d.ts +0 -6
  35. package/dist/test/relations/roles/roles.entity.js +0 -29
  36. package/dist/test/relations/roles/roles.repositoryTypeOrm.d.ts +0 -8
  37. package/dist/test/relations/roles/roles.repositoryTypeOrm.js +0 -14
  38. package/dist/test/relations/roles/roles_user.dto.d.ts +0 -5
  39. package/dist/test/relations/roles/roles_user.dto.js +0 -12
  40. package/dist/test/relations/roles/roles_user.entity.d.ts +0 -5
  41. package/dist/test/relations/roles/roles_user.entity.js +0 -23
  42. package/dist/test/relations/roles/roles_users.repositoryTypeOrm.d.ts +0 -6
  43. package/dist/test/relations/roles/roles_users.repositoryTypeOrm.js +0 -11
  44. package/dist/test/relations/user/user.dto.d.ts +0 -5
  45. package/dist/test/relations/user/user.dto.js +0 -12
  46. package/dist/test/relations/user/user.entity.d.ts +0 -14
  47. package/dist/test/relations/user/user.entity.js +0 -56
  48. package/dist/test/relations/user/user.repositoryTypeOrm.d.ts +0 -10
  49. package/dist/test/relations/user/user.repositoryTypeOrm.js +0 -16
  50. package/dist/tsconfig.tsbuildinfo +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) GOAT, SPA. and its affiliates.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -12,20 +12,38 @@
12
12
  <img src="https://docs.goatlab.io/logo.png" alt="Logo" width="150" height="150">
13
13
  </a>
14
14
 
15
- <h3 align="center">GOAT-FLUENT</h3>
15
+ <h3 align="center">GOAT - FLUENT-FORM.IO</h3>
16
16
 
17
17
  <p align="center">
18
- Readable query Interface & API generator
18
+ Fluent - Time Saving (TS) utils
19
19
  <br />
20
- <a href="https://docs.goatlab.io/#/0.5.x/fluent/fluent"><strong>Explore the docs »</strong></a>
20
+ <a href="https://docs.goatlab.io/#/0.7.x/fluent/fluent"><strong>Explore the docs »</strong></a>
21
21
  <br />
22
22
  <br />
23
- <a href="https://codesandbox.io/s/goat-nestjs-tytmv?file=/src/main.ts">View Demo</a>
24
23
  ·
25
24
  <a href="https://github.com/goat-io/fluent/issues">Report Bug</a>
26
25
  ·
27
26
  <a href="https://github.com/goat-io/fluent/issues">Request Feature</a>
28
27
  </p>
28
+ </p>
29
29
  </p>
30
30
 
31
31
  # Goat - Fluent
32
+
33
+ Fluent query interface for Multiple database types and helpers for fast API generation and general App building.
34
+
35
+ ## Supported Databases
36
+
37
+ 1. Form.io
38
+
39
+ ### Installing
40
+
41
+ To install this package in your project, you can use the following command within your terminal.
42
+
43
+ ```bash
44
+ yarn add @goatlab/fluent-formio
45
+ ```
46
+
47
+ ### Documentation
48
+
49
+ To learn how to use this visit the [Goat Docs](https://docs.goatlab.io/#/0.7.x/fluent/fluent)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goatlab/fluent-formio",
3
- "version": "0.6.5",
3
+ "version": "0.6.7",
4
4
  "description": "Readable query Interface & API generator for TS and Node",
5
5
  "homepage": "https://docs.goatlab.io",
6
6
  "main": "dist/index.js",
@@ -12,131 +12,44 @@
12
12
  "files": [
13
13
  "./dist/**/*"
14
14
  ],
15
- "scripts": {
16
- "install-p": "yarn",
17
- "prebuild": "rimraf dist",
18
- "prestart": "rimraf dist",
19
- "predev": "rimraf dist",
20
- "test": "jest --forceExit --passWithNoTests",
21
- "dev": "tsc --watch",
22
- "lint": "eslint src --fix",
23
- "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
24
- "update:packages": "npm-check-updates -u && yarn",
25
- "serve": "tsc -w",
26
- "build": "tsc",
27
- "pack": "npm-pack-zip",
28
- "release": "release-it patch --no-npm.publish --ci",
29
- "release:patch": "release-it patch --no-npm.publish --ci",
30
- "release:minor": "release-it minor --no-npm.publish --ci",
31
- "release:major": "release-it major --no-npm.publish --ci ",
32
- "rc": "release-it --no-npm.publish --ci --preRelease=rc",
33
- "rc:patch": "release-it patch --no-npm.publish --ci --preRelease=rc",
34
- "rc:minor": "release-it minor --no-npm.publish --ci --preRelease=rc",
35
- "rc:major": "release-it major --no-npm.publish --ci --preRelease=rc",
36
- "changelog": "auto-changelog --template changelog-template.hbs -p -u --commit-limit false",
37
- "changelog-debug": "auto-changelog --template changelog-template.hbs -p --template json --output changelog-data.json"
38
- },
39
15
  "keywords": [
40
16
  "typescript",
41
17
  "TS"
42
18
  ],
43
19
  "author": "ignacio.cabrera@goatlab.io",
44
20
  "license": "MIT",
45
- "commitlint": {
46
- "extends": [
47
- "@commitlint/config-conventional"
48
- ],
49
- "rules": {
50
- "subject-case": [
51
- 2,
52
- "never",
53
- []
54
- ]
55
- }
56
- },
57
- "husky": {
58
- "hooks": {
59
- "pre-commit": "pretty-quick --staged && npm test",
60
- "commit-msg": "exec < /dev/tty && git cz --hook || true && commitlint -E HUSKY_GIT_PARAMS",
61
- "pre-push": "npm run build"
62
- }
63
- },
64
- "release-it": {
65
- "src": {
66
- "commitMessage": "ci: CI-1 [Release] v%s"
67
- },
68
- "git": {
69
- "requireBranch": "master",
70
- "commitArgs": [
71
- "--no-verify"
72
- ]
73
- },
74
- "hooks": {
75
- "before:init": [
76
- "npm run build",
77
- "npm run pack"
78
- ],
79
- "after:bump": "npm run changelog",
80
- "after:release": "echo Successfully released ${name} v${version} to ${repo.repository}."
81
- },
82
- "github": {
83
- "release": true,
84
- "assets": [
85
- "./*.zip"
86
- ]
87
- }
88
- },
89
- "auto-changelog": {
90
- "commitLimit": false,
91
- "unreleased": true,
92
- "issueUrl": "https://goatlab.atlassian.net/browse/{id}",
93
- "replaceText": {
94
- "[Ff]eature:": "",
95
- "[Ff]ix:": "",
96
- "[Bb]reak:": "",
97
- "([A-Z]+-\\d+)": "[$1](https://goatlab.atlassian.net/browse//$1) - "
98
- },
99
- "includeBranch": [
100
- "master"
101
- ]
102
- },
103
- "config": {
104
- "commitizen": {
105
- "path": "./node_modules/@digitalroute/cz-conventional-changelog-for-jira"
106
- },
107
- "mongodbMemoryServer": {
108
- "version": "latest"
109
- }
110
- },
111
21
  "dependencies": {
112
- "@goatlab/fluent": "0.6.24"
22
+ "@goatlab/fluent": "0.7.32",
23
+ "@goatlab/js-utils": "0.8.34"
113
24
  },
114
25
  "devDependencies": {
115
- "@commitlint/cli": "^16.2.3",
116
- "@commitlint/config-conventional": "^16.2.1",
117
- "@commitlint/prompt-cli": "^16.2.3",
118
- "@digitalroute/cz-conventional-changelog-for-jira": "^7.2.1",
119
26
  "@types/jest": "^27.4.1",
120
27
  "@types/node": "^17.0.23",
121
- "auto-changelog": "^2.4.0",
122
- "commitizen": "^4.2.4",
123
- "cz-conventional-changelog": "^3.3.0",
124
- "cz-jira-smart-commit": "^3.0.0",
125
28
  "dotenv-cli": "^5.1.0",
126
29
  "eslint": "^8.5.0",
127
- "husky": "^7.0.4",
128
- "jest": "^27.5.1",
30
+ "jest": "^29.7.0",
129
31
  "jest-environment-node": "^27.5.1",
130
- "npm-pack-zip": "^1.3.0",
131
32
  "prettier": "^2.6.1",
132
33
  "pretty-quick": "^3.1.3",
133
- "release-it": "^14.13.1",
134
- "ts-jest": "^27.1.4",
135
- "ts-node": "^10.7.0",
34
+ "ts-jest": "^29.2.6",
35
+ "ts-node": "^10.9.2",
136
36
  "turbo": "^1.1.10",
137
- "typescript": "^4.6.3"
37
+ "typescript": "^4.6.3",
38
+ "@goatlab/tsconfig": "0.0.11"
138
39
  },
139
40
  "engines": {
140
41
  "node": ">=14.16.0"
42
+ },
43
+ "scripts": {
44
+ "prebuild": "rimraf dist",
45
+ "prestart": "rimraf dist",
46
+ "predev": "rimraf dist",
47
+ "test": "echo 'skip'",
48
+ "dev": "tsc --watch",
49
+ "lint": "echo 'skip'",
50
+ "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\"",
51
+ "update:packages": "npm-check-updates -u && yarn",
52
+ "serve": "tsc -w",
53
+ "build": "echo 'skip'"
141
54
  }
142
- }
55
+ }
@@ -1,37 +0,0 @@
1
- import type { Filter, BaseDataElement, PaginatedData, Paginator, Sure } from '@goatlab/fluent';
2
- import { BaseConnector, FluentConnectorInterface } from '@goatlab/fluent';
3
- interface IFormioConnector {
4
- baseEndPoint: string;
5
- token?: string;
6
- }
7
- export declare class Formioconnector<ModelDTO = BaseDataElement, InputDTO = ModelDTO, OutputDTO = ModelDTO> extends BaseConnector<ModelDTO, InputDTO, OutputDTO> implements FluentConnectorInterface<InputDTO, OutputDTO> {
8
- private baseEndPoint;
9
- private authToken;
10
- constructor({ baseEndPoint, token }: IFormioConnector);
11
- get(): Promise<OutputDTO[]>;
12
- all(): Promise<OutputDTO[]>;
13
- find(filter: Filter): Promise<OutputDTO[]>;
14
- paginate(paginator: Paginator): Promise<PaginatedData<OutputDTO>>;
15
- insert(data: InputDTO): Promise<OutputDTO>;
16
- insertMany(data: InputDTO[]): Promise<OutputDTO[]>;
17
- updateById(id: string, data: InputDTO): Promise<OutputDTO>;
18
- truncate({ sure }: Sure): Promise<void>;
19
- deleteById(id: string): Promise<string>;
20
- findById(id: string): Promise<OutputDTO>;
21
- private numberOfRows;
22
- private getToken;
23
- private getUrl;
24
- private getHeaders;
25
- private getSpacer;
26
- private httpGET;
27
- private httpPOST;
28
- private httpPUT;
29
- private httpDelete;
30
- private getTokenType;
31
- private getFilters;
32
- private getLimit;
33
- private getSkip;
34
- private getOrder;
35
- private getSelect;
36
- }
37
- export {};
@@ -1,344 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Formioconnector = void 0;
4
- const tslib_1 = require("tslib");
5
- const axios_1 = tslib_1.__importDefault(require("axios"));
6
- const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
7
- const isSameOrAfter_1 = tslib_1.__importDefault(require("dayjs/plugin/isSameOrAfter"));
8
- const jwt_decode_1 = tslib_1.__importDefault(require("jwt-decode"));
9
- const await_to_js_1 = tslib_1.__importDefault(require("await-to-js"));
10
- const js_utils_1 = require("@goatlab/js-utils");
11
- const fluent_1 = require("@goatlab/fluent");
12
- dayjs_1.default.extend(isSameOrAfter_1.default);
13
- const GoatExtenderAttributes = [
14
- 'id',
15
- 'owner',
16
- 'roles',
17
- 'created',
18
- 'modified',
19
- '_ngram'
20
- ];
21
- class Formioconnector extends fluent_1.BaseConnector {
22
- constructor({ baseEndPoint, token }) {
23
- super();
24
- this.baseEndPoint = '';
25
- this.authToken = '';
26
- this.baseEndPoint = baseEndPoint;
27
- this.authToken = token;
28
- }
29
- async get() {
30
- const [error, result] = await (0, await_to_js_1.default)(this.httpGET());
31
- if (error) {
32
- console.log(error);
33
- throw new Error('Error while getting submissions');
34
- }
35
- const data = result.data.map(r => {
36
- const response = {
37
- ...{
38
- id: r.id,
39
- owner: r.owner,
40
- roles: r.roles,
41
- created: r.created,
42
- modified: r.modified
43
- },
44
- ...r.data
45
- };
46
- return response;
47
- });
48
- let orderedResults = this.jsApplySelect(data);
49
- orderedResults = this.jsApplyOrderBy(orderedResults);
50
- this.reset();
51
- return orderedResults;
52
- }
53
- async all() {
54
- return this.get();
55
- }
56
- async find(filter) {
57
- return this.get();
58
- }
59
- async paginate(paginator) {
60
- const numberOfRows = await this.numberOfRows();
61
- this.offset((paginator.page - 1) * paginator.perPage).take(paginator.perPage);
62
- const results = {
63
- data: await this.get(),
64
- current_page: paginator.page,
65
- first_page_url: '',
66
- prev_page_url: '',
67
- next_page_url: '',
68
- per_page: paginator.perPage,
69
- path: '',
70
- total: Number(numberOfRows)
71
- };
72
- this.reset();
73
- return results;
74
- }
75
- async insert(data) {
76
- const [error, result] = await (0, await_to_js_1.default)(this.httpPOST(data));
77
- if (error) {
78
- console.log(error);
79
- throw new Error('Cannot insert data');
80
- }
81
- const response = {
82
- ...{
83
- id: result.data.id,
84
- owner: result.data.owner,
85
- roles: result.data.roles,
86
- created: result.data.created,
87
- modified: result.data.modified
88
- },
89
- ...result.data.data
90
- };
91
- this.reset();
92
- return response;
93
- }
94
- async insertMany(data) {
95
- const insertedElements = [];
96
- for (const element of data) {
97
- const inserted = await this.insert({
98
- ...element
99
- });
100
- insertedElements.push(inserted);
101
- }
102
- this.reset();
103
- return insertedElements;
104
- }
105
- async updateById(id, data) {
106
- if (!id) {
107
- throw new Error('Formio connector error. Cannot update a Model without id key');
108
- }
109
- if (id.includes('_local')) {
110
- throw new Error('Formio connector error. Cannot update a local document');
111
- }
112
- const [error, result] = await (0, await_to_js_1.default)(this.httpPUT(id, data));
113
- if (error) {
114
- console.log(error);
115
- throw new Error('Cannot insert data');
116
- }
117
- const response = result.data;
118
- this.reset();
119
- return response;
120
- }
121
- async truncate({ sure }) {
122
- }
123
- async deleteById(id) {
124
- const [error, removed] = await (0, await_to_js_1.default)(this.httpDelete(id));
125
- if (error) {
126
- console.log(error);
127
- throw new Error(`FormioConnector: Could not delete ${id}`);
128
- }
129
- this.reset();
130
- return removed.data;
131
- }
132
- async findById(id) {
133
- const [error, data] = await (0, await_to_js_1.default)(this.first());
134
- if (error) {
135
- console.log(error);
136
- throw new Error('Find() could not get remote data');
137
- }
138
- this.reset();
139
- return data;
140
- }
141
- async numberOfRows() {
142
- let url = this.getUrl();
143
- const headers = this.getHeaders();
144
- const filters = this.getFilters();
145
- const limit = '?limit=1';
146
- const skip = this.getSkip();
147
- const order = this.getOrder();
148
- const select = this.getSelect();
149
- const spacer = '';
150
- url = url + spacer + limit;
151
- url = filters ? url + this.getSpacer(url) + filters : url;
152
- url = skip ? url + this.getSpacer(url) + skip : url;
153
- url = order ? url + this.getSpacer(url) + order : url;
154
- url = select ? url + this.getSpacer(url) + select : url;
155
- const isOnline = true;
156
- if (!isOnline) {
157
- throw new Error(`Cannot make get request to ${url}.You are not online`);
158
- }
159
- const response = await axios_1.default.get(url, { headers });
160
- return response.headers['content-range'].split('/')[1];
161
- }
162
- getToken() {
163
- if (typeof localStorage === 'undefined') {
164
- return;
165
- }
166
- const token = localStorage.getItem('formioToken');
167
- if (!token || this.getTokenType(token) === 'x-jwt-token') {
168
- return token;
169
- }
170
- const decodedToken = (0, jwt_decode_1.default)(token);
171
- const expDate = dayjs_1.default.unix(decodedToken.exp);
172
- if ((0, dayjs_1.default)().isSameOrAfter(expDate)) {
173
- js_utils_1.Events.emit('GOAT:SESSION:EXPIRED', {
174
- data: expDate,
175
- text: 'Session expired'
176
- });
177
- throw new Error('Token has expired.');
178
- }
179
- return token;
180
- }
181
- getUrl() {
182
- const baseUrl = `${this.baseEndPoint}/submission`;
183
- return baseUrl;
184
- }
185
- getHeaders() {
186
- const headers = {};
187
- let token = {};
188
- if (typeof localStorage !== 'undefined') {
189
- token = this.getToken();
190
- }
191
- if (this.authToken || this.authToken === '') {
192
- token = this.authToken;
193
- }
194
- if (!token) {
195
- return headers;
196
- }
197
- const type = this.getTokenType(token);
198
- headers[type] = token;
199
- return headers;
200
- }
201
- getSpacer(url) {
202
- return url.substr(url.length - 1) === '&' ? '' : '&';
203
- }
204
- async httpGET() {
205
- let url = this.getUrl();
206
- const headers = this.getHeaders();
207
- const filters = this.getFilters();
208
- const limit = this.getLimit();
209
- const skip = this.getSkip();
210
- const order = this.getOrder();
211
- const select = this.getSelect();
212
- const spacer = '';
213
- url = url + spacer + limit;
214
- url = filters ? url + this.getSpacer(url) + filters : url;
215
- url = skip ? url + this.getSpacer(url) + skip : url;
216
- url = order ? url + this.getSpacer(url) + order : url;
217
- url = select ? url + this.getSpacer(url) + select : url;
218
- const isOnline = true;
219
- if (!isOnline) {
220
- throw new Error(`Cannot make get request to ${url}.You are not online`);
221
- }
222
- return axios_1.default.get(url, { headers });
223
- }
224
- async httpPOST(data) {
225
- const url = this.getUrl();
226
- const headers = this.getHeaders();
227
- const isOnline = true;
228
- if (!isOnline) {
229
- throw new Error(`Cannot make request post to ${url}.You are not online`);
230
- }
231
- return axios_1.default.post(url, { data }, { headers });
232
- }
233
- async httpPUT(id, data) {
234
- const isOnline = true;
235
- const url = `${this.getUrl()}/${id}`;
236
- const headers = this.getHeaders();
237
- if (!isOnline) {
238
- throw new Error(`Cannot make request post to ${url}.You are not online`);
239
- }
240
- return axios_1.default.put(url, { data }, { headers });
241
- }
242
- httpDelete(id) {
243
- const headers = this.getHeaders();
244
- const url = `${this.getUrl()}/${id}`;
245
- return axios_1.default.delete(url, { headers });
246
- }
247
- getTokenType(token) {
248
- return token.length > 32 ? 'x-jwt-token' : 'x-token';
249
- }
250
- getFilters() {
251
- const filter = this.whereArray;
252
- if (!filter || filter.length === 0) {
253
- return undefined;
254
- }
255
- let filterQuery = '';
256
- filter.forEach(condition => {
257
- let valueString = '';
258
- const element = GoatExtenderAttributes.includes(condition[0])
259
- ? condition[0]
260
- : `data.${condition[0]}`;
261
- const operator = condition[1];
262
- const value = condition[2];
263
- switch (operator) {
264
- case '=':
265
- filterQuery = `${filterQuery + element}=${value}&`;
266
- break;
267
- case '!=':
268
- filterQuery = `${filterQuery + element}__ne=${value}&`;
269
- break;
270
- case '>':
271
- filterQuery = `${filterQuery + element}__gt=${value}&`;
272
- break;
273
- case '>=':
274
- filterQuery = `${filterQuery + element}__gte=${value}&`;
275
- break;
276
- case '<':
277
- filterQuery = `${filterQuery + element}__lt=${value}&`;
278
- break;
279
- case '<=':
280
- filterQuery = `${filterQuery + element}__lte=${value}&`;
281
- break;
282
- case 'in':
283
- valueString = '';
284
- value.forEach((val, index, array) => {
285
- valueString =
286
- index === array.length - 1
287
- ? valueString + val
288
- : `${valueString + val},`;
289
- });
290
- filterQuery = `${filterQuery + element}__in=${valueString}&`;
291
- break;
292
- case 'nin':
293
- valueString = '';
294
- value.forEach((val, index, array) => {
295
- valueString =
296
- index === array.length - 1
297
- ? valueString + val
298
- : `${valueString + val},`;
299
- });
300
- filterQuery = `${filterQuery + element}__nin=${valueString}&`;
301
- break;
302
- case 'exists':
303
- filterQuery = `${filterQuery + element}__exists=${true}&`;
304
- break;
305
- case '!exists':
306
- filterQuery = `${filterQuery + element}__exists=${false}&`;
307
- break;
308
- case 'regex':
309
- filterQuery = `${filterQuery + element}__regex=${value}&`;
310
- break;
311
- }
312
- });
313
- return filterQuery.substring(0, filterQuery.length - 1);
314
- }
315
- getLimit() {
316
- const limit = '?limit=';
317
- if (!this.limitNumber || this.limitNumber === 0) {
318
- this.limitNumber = 50;
319
- }
320
- return `${limit}${this.limitNumber}`;
321
- }
322
- getSkip() {
323
- const skip = 'skip=';
324
- if (!this.offsetNumber) {
325
- this.offsetNumber = 0;
326
- }
327
- return skip + this.offsetNumber;
328
- }
329
- getOrder() {
330
- const order = 'sort=';
331
- const or = this.orderByArray[1] === 'DESC' ? '-' : '';
332
- return order + or + this.orderByArray[0];
333
- }
334
- getSelect() {
335
- let select = this.selectArray;
336
- select = select.map(e => e.split(' as ')[0]);
337
- if (!select) {
338
- return;
339
- }
340
- select = select.map(e => GoatExtenderAttributes.includes(e) ? e : `data.${e}`);
341
- return `select=${select.join(',')}`;
342
- }
343
- }
344
- exports.Formioconnector = Formioconnector;
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { Formioconnector } from './FormioConnector';
2
- export { Formioconnector };
package/dist/index.js DELETED
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Formioconnector = void 0;
4
- const FormioConnector_1 = require("./FormioConnector");
5
- Object.defineProperty(exports, "Formioconnector", { enumerable: true, get: function () { return FormioConnector_1.Formioconnector; } });
@@ -1 +0,0 @@
1
- export declare const advancedTestSuite: (Model: any) => void;