namirasoft-node 1.3.61 → 1.3.63

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,55 +1,106 @@
1
1
  import { FilterItem } from "namirasoft-core";
2
2
  export interface IFilterableDatabase {
3
3
  getIn: (filter: FilterItem, values: string[]) => {
4
- [table: string]: string[];
4
+ condition: {
5
+ [table: string]: string[];
6
+ };
7
+ partial: boolean;
5
8
  };
6
9
  getNotIn: (filter: FilterItem, values: string[]) => {
7
- [table: string]: string[];
10
+ condition: {
11
+ [table: string]: string[];
12
+ };
13
+ partial: boolean;
8
14
  };
9
15
  getLike: (filter: FilterItem, value: string) => {
10
- [table: string]: string[];
16
+ condition: {
17
+ [table: string]: string[];
18
+ };
19
+ partial: boolean;
11
20
  };
12
21
  getNotLike: (filter: FilterItem, value: string) => {
13
- [table: string]: string[];
22
+ condition: {
23
+ [table: string]: string[];
24
+ };
25
+ partial: boolean;
14
26
  };
15
27
  getRegex: (filter: FilterItem, value: string) => {
16
- [table: string]: string[];
28
+ condition: {
29
+ [table: string]: string[];
30
+ };
31
+ partial: boolean;
17
32
  };
18
33
  getNotRegex: (filter: FilterItem, value: string) => {
19
- [table: string]: string[];
34
+ condition: {
35
+ [table: string]: string[];
36
+ };
37
+ partial: boolean;
20
38
  };
21
39
  getEmpty: (filter: FilterItem) => {
22
- [table: string]: string[];
40
+ condition: {
41
+ [table: string]: string[];
42
+ };
43
+ partial: boolean;
23
44
  };
24
45
  getNotEmpty: (filter: FilterItem) => {
25
- [table: string]: string[];
46
+ condition: {
47
+ [table: string]: string[];
48
+ };
49
+ partial: boolean;
26
50
  };
27
51
  getExists: (filter: FilterItem, not: boolean) => {
28
- [table: string]: string[];
52
+ condition: {
53
+ [table: string]: string[];
54
+ };
55
+ partial: boolean;
29
56
  };
30
57
  getStartsWith: (filter: FilterItem, value: string) => {
31
- [table: string]: string[];
58
+ condition: {
59
+ [table: string]: string[];
60
+ };
61
+ partial: boolean;
32
62
  };
33
63
  getNotStartsWith: (filter: FilterItem, value: string) => {
34
- [table: string]: string[];
64
+ condition: {
65
+ [table: string]: string[];
66
+ };
67
+ partial: boolean;
35
68
  };
36
69
  getEndsWith: (filter: FilterItem, value: string) => {
37
- [table: string]: string[];
70
+ condition: {
71
+ [table: string]: string[];
72
+ };
73
+ partial: boolean;
38
74
  };
39
75
  getNotEndsWith: (filter: FilterItem, value: string) => {
40
- [table: string]: string[];
76
+ condition: {
77
+ [table: string]: string[];
78
+ };
79
+ partial: boolean;
41
80
  };
42
81
  getLT: (filter: FilterItem, value: any) => {
43
- [table: string]: string[];
82
+ condition: {
83
+ [table: string]: string[];
84
+ };
85
+ partial: boolean;
44
86
  };
45
87
  getLTE: (filter: FilterItem, value: any) => {
46
- [table: string]: string[];
88
+ condition: {
89
+ [table: string]: string[];
90
+ };
91
+ partial: boolean;
47
92
  };
48
93
  getGT: (filter: FilterItem, value: any) => {
49
- [table: string]: string[];
94
+ condition: {
95
+ [table: string]: string[];
96
+ };
97
+ partial: boolean;
50
98
  };
51
99
  getGTE: (filter: FilterItem, value: any) => {
52
- [table: string]: string[];
100
+ condition: {
101
+ [table: string]: string[];
102
+ };
103
+ partial: boolean;
53
104
  };
54
105
  }
55
106
  export declare abstract class BaseDatabase {
@@ -63,7 +114,7 @@ export declare abstract class BaseDatabase {
63
114
  offset: number;
64
115
  limit: number;
65
116
  };
66
- protected GetFiltersConditions(tables: {
117
+ protected _getFiltersConditions(tables: {
67
118
  [table: string]: string[];
68
119
  }, idatabase: IFilterableDatabase, filters?: FilterItem[] | undefined): {
69
120
  [table: string]: {
@@ -27,7 +27,7 @@ class BaseDatabase {
27
27
  let limit = page_size;
28
28
  return { offset, limit };
29
29
  }
30
- GetFiltersConditions(tables, idatabase, filters) {
30
+ _getFiltersConditions(tables, idatabase, filters) {
31
31
  let ans = {};
32
32
  Object.keys(tables).forEach(table => ans[table] = []);
33
33
  if (filters) {
@@ -55,102 +55,85 @@ class BaseDatabase {
55
55
  namirasoft_core_1.ErrorOperation.throwHTTP(400, `Invalid number values for: '${values.join(",")}'`);
56
56
  return nums;
57
57
  };
58
+ let addCondition = (res) => {
59
+ if (res.partial) {
60
+ let wh = {};
61
+ wh[filter.column.name] = res.condition;
62
+ ans[filter.table.name].push(wh);
63
+ }
64
+ else
65
+ ans[filter.table.name].push(res.condition);
66
+ };
58
67
  if (filter.operator == namirasoft_core_1.FilterItemOperator.all.equals) {
59
- let wh = {};
60
68
  if (filter.not)
61
- wh[filter.column.name] = idatabase.getNotIn(filter, values);
69
+ addCondition(idatabase.getNotIn(filter, values));
62
70
  else
63
- wh[filter.column.name] = idatabase.getIn(filter, values);
64
- ans[filter.table.name].push(wh);
71
+ addCondition(idatabase.getIn(filter, values));
65
72
  }
66
73
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.contains) {
67
74
  values.forEach(value => {
68
- let wh = {};
69
75
  if (filter.not)
70
- wh[filter.column.name] = idatabase.getNotLike(filter, value);
76
+ addCondition(idatabase.getNotLike(filter, value));
71
77
  else
72
- wh[filter.column.name] = idatabase.getLike(filter, value);
73
- ans[filter.table.name].push(wh);
78
+ addCondition(idatabase.getLike(filter, value));
74
79
  });
75
80
  }
76
81
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.regex) {
77
82
  values.forEach(value => {
78
- let wh = {};
79
83
  if (filter.not)
80
- wh[filter.column.name] = idatabase.getNotRegex(filter, value);
84
+ addCondition(idatabase.getNotRegex(filter, value));
81
85
  else
82
- wh[filter.column.name] = idatabase.getRegex(filter, value);
83
- ans[filter.table.name].push(wh);
86
+ addCondition(idatabase.getRegex(filter, value));
84
87
  });
85
88
  }
86
89
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.empty) {
87
- if (filter.not) {
88
- let wh = {};
89
- wh[filter.column.name] = idatabase.getEmpty(filter);
90
- ans[filter.table.name].push(wh);
91
- }
92
- else {
93
- let wh = {};
94
- wh[filter.column.name] = idatabase.getNotEmpty(filter);
95
- ans[filter.table.name].push(wh);
96
- }
90
+ if (filter.not)
91
+ addCondition(idatabase.getNotEmpty(filter));
92
+ else
93
+ addCondition(idatabase.getEmpty(filter));
97
94
  }
98
95
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.exists) {
99
- let wh = {};
100
- wh[filter.column.name] = idatabase.getExists(filter, filter.not);
101
- ans[filter.table.name].push(wh);
96
+ addCondition(idatabase.getExists(filter, filter.not));
102
97
  }
103
98
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.startswith) {
104
99
  values.forEach(value => {
105
- let wh = {};
106
100
  if (filter.not)
107
- wh[filter.column.name] = idatabase.getStartsWith(filter, value);
101
+ addCondition(idatabase.getNotStartsWith(filter, value));
108
102
  else
109
- wh[filter.column.name] = idatabase.getNotStartsWith(filter, value);
110
- ans[filter.table.name].push(wh);
103
+ addCondition(idatabase.getStartsWith(filter, value));
111
104
  });
112
105
  }
113
106
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.endswith) {
114
107
  values.forEach(value => {
115
- let wh = {};
116
108
  if (filter.not)
117
- wh[filter.column.name] = idatabase.getEndsWith(filter, value);
109
+ addCondition(idatabase.getNotEndsWith(filter, value));
118
110
  else
119
- wh[filter.column.name] = idatabase.getNotEndsWith(filter, value);
120
- ans[filter.table.name].push(wh);
111
+ addCondition(idatabase.getEndsWith(filter, value));
121
112
  });
122
113
  }
123
114
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.lessthan) {
124
- let wh = {};
125
115
  if (filter.not)
126
- wh[filter.column.name] = idatabase.getGTE(filter, Math.max(...getNumbers()));
116
+ addCondition(idatabase.getGTE(filter, Math.max(...getNumbers())));
127
117
  else
128
- wh[filter.column.name] = idatabase.getLT(filter, Math.max(...getNumbers()));
129
- ans[filter.table.name].push(wh);
118
+ addCondition(idatabase.getLT(filter, Math.max(...getNumbers())));
130
119
  }
131
120
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.lessthanequal) {
132
- let wh = {};
133
121
  if (filter.not)
134
- wh[filter.column.name] = idatabase.getGT(filter, Math.max(...getNumbers()));
122
+ addCondition(idatabase.getGT(filter, Math.max(...getNumbers())));
135
123
  else
136
- wh[filter.column.name] = idatabase.getLTE(filter, Math.max(...getNumbers()));
137
- ans[filter.table.name].push(wh);
124
+ addCondition(idatabase.getLTE(filter, Math.max(...getNumbers())));
138
125
  }
139
126
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.morethan) {
140
- let wh = {};
141
127
  if (filter.not)
142
- wh[filter.column.name] = idatabase.getLTE(filter, Math.max(...getNumbers()));
128
+ addCondition(idatabase.getLTE(filter, Math.max(...getNumbers())));
143
129
  else
144
- wh[filter.column.name] = idatabase.getGT(filter, Math.max(...getNumbers()));
145
- ans[filter.table.name].push(wh);
130
+ addCondition(idatabase.getGT(filter, Math.max(...getNumbers())));
146
131
  }
147
132
  else if (filter.operator == namirasoft_core_1.FilterItemOperator.all.morethanequal) {
148
- let wh = {};
149
133
  if (filter.not)
150
- wh[filter.column.name] = idatabase.getLT(filter, Math.max(...getNumbers()));
134
+ addCondition(idatabase.getLT(filter, Math.max(...getNumbers())));
151
135
  else
152
- wh[filter.column.name] = idatabase.getGTE(filter, Math.max(...getNumbers()));
153
- ans[filter.table.name].push(wh);
136
+ addCondition(idatabase.getGTE(filter, Math.max(...getNumbers())));
154
137
  }
155
138
  }
156
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDatabase.js","sourceRoot":"","sources":["../src/BaseDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseDatabase.js","sourceRoot":"","sources":["../src/BaseDatabase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.61",
11
+ "version": "1.3.63",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -2,23 +2,23 @@ import { ErrorOperation, FilterItem, FilterItemOperator } from "namirasoft-core"
2
2
 
3
3
  export interface IFilterableDatabase
4
4
  {
5
- getIn: (filter: FilterItem, values: string[]) => { [table: string]: string[] };
6
- getNotIn: (filter: FilterItem, values: string[]) => { [table: string]: string[] };
7
- getLike: (filter: FilterItem, value: string) => { [table: string]: string[] };
8
- getNotLike: (filter: FilterItem, value: string) => { [table: string]: string[] };
9
- getRegex: (filter: FilterItem, value: string) => { [table: string]: string[] };
10
- getNotRegex: (filter: FilterItem, value: string) => { [table: string]: string[] };
11
- getEmpty: (filter: FilterItem) => { [table: string]: string[] };
12
- getNotEmpty: (filter: FilterItem) => { [table: string]: string[] };
13
- getExists: (filter: FilterItem, not: boolean) => { [table: string]: string[] };
14
- getStartsWith: (filter: FilterItem, value: string) => { [table: string]: string[] };
15
- getNotStartsWith: (filter: FilterItem, value: string) => { [table: string]: string[] };
16
- getEndsWith: (filter: FilterItem, value: string) => { [table: string]: string[] };
17
- getNotEndsWith: (filter: FilterItem, value: string) => { [table: string]: string[] };
18
- getLT: (filter: FilterItem, value: any) => { [table: string]: string[] };
19
- getLTE: (filter: FilterItem, value: any) => { [table: string]: string[] };
20
- getGT: (filter: FilterItem, value: any) => { [table: string]: string[] };
21
- getGTE: (filter: FilterItem, value: any) => { [table: string]: string[] };
5
+ getIn: (filter: FilterItem, values: string[]) => { condition: { [table: string]: string[] }, partial: boolean };
6
+ getNotIn: (filter: FilterItem, values: string[]) => { condition: { [table: string]: string[] }, partial: boolean };
7
+ getLike: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
8
+ getNotLike: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
9
+ getRegex: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
10
+ getNotRegex: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
11
+ getEmpty: (filter: FilterItem) => { condition: { [table: string]: string[] }, partial: boolean };
12
+ getNotEmpty: (filter: FilterItem) => { condition: { [table: string]: string[] }, partial: boolean };
13
+ getExists: (filter: FilterItem, not: boolean) => { condition: { [table: string]: string[] }, partial: boolean };
14
+ getStartsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
15
+ getNotStartsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
16
+ getEndsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
17
+ getNotEndsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
18
+ getLT: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
19
+ getLTE: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
20
+ getGT: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
21
+ getGTE: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
22
22
  }
23
23
 
24
24
  export abstract class BaseDatabase
@@ -54,7 +54,7 @@ export abstract class BaseDatabase
54
54
  let limit = page_size;
55
55
  return { offset, limit };
56
56
  }
57
- protected GetFiltersConditions(tables: { [table: string]: string[] }, idatabase: IFilterableDatabase, filters?: FilterItem[] | undefined): { [table: string]: { [name: string]: any }[] }
57
+ protected _getFiltersConditions(tables: { [table: string]: string[] }, idatabase: IFilterableDatabase, filters?: FilterItem[] | undefined): { [table: string]: { [name: string]: any }[] }
58
58
  {
59
59
  let ans: { [table: string]: { [name: string]: any }[] } = {};
60
60
  Object.keys(tables).forEach(table => ans[table] = []);
@@ -89,120 +89,102 @@ export abstract class BaseDatabase
89
89
  ErrorOperation.throwHTTP(400, `Invalid number values for: '${values.join(",")}'`);
90
90
  return nums;
91
91
  };
92
-
92
+ let addCondition = (res: { condition: { [table: string]: string[] }, partial: boolean }) =>
93
+ {
94
+ if (res.partial)
95
+ {
96
+ let wh: { [name: string]: any } = {};
97
+ wh[filter.column.name] = res.condition;
98
+ ans[filter.table.name].push(wh);
99
+ }
100
+ else
101
+ ans[filter.table.name].push(res.condition);
102
+ };
93
103
  if (filter.operator == FilterItemOperator.all.equals)
94
104
  {
95
- let wh: { [name: string]: any } = {};
96
105
  if (filter.not)
97
- wh[filter.column.name] = idatabase.getNotIn(filter, values);
106
+ addCondition(idatabase.getNotIn(filter, values));
98
107
  else
99
- wh[filter.column.name] = idatabase.getIn(filter, values);
100
- ans[filter.table.name].push(wh);
108
+ addCondition(idatabase.getIn(filter, values));
101
109
  }
102
110
  else if (filter.operator == FilterItemOperator.all.contains)
103
111
  {
104
112
  values.forEach(value =>
105
113
  {
106
- let wh: { [name: string]: any } = {};
107
114
  if (filter.not)
108
- wh[filter.column.name] = idatabase.getNotLike(filter, value);
115
+ addCondition(idatabase.getNotLike(filter, value));
109
116
  else
110
- wh[filter.column.name] = idatabase.getLike(filter, value);
111
- ans[filter.table.name].push(wh);
117
+ addCondition(idatabase.getLike(filter, value));
112
118
  });
113
119
  }
114
120
  else if (filter.operator == FilterItemOperator.all.regex)
115
121
  {
116
122
  values.forEach(value =>
117
123
  {
118
- let wh: { [name: string]: any } = {};
119
124
  if (filter.not)
120
- wh[filter.column.name] = idatabase.getNotRegex(filter, value);
125
+ addCondition(idatabase.getNotRegex(filter, value));
121
126
  else
122
- wh[filter.column.name] = idatabase.getRegex(filter, value);
123
- ans[filter.table.name].push(wh);
127
+ addCondition(idatabase.getRegex(filter, value));
124
128
  });
125
129
  }
126
130
  else if (filter.operator == FilterItemOperator.all.empty)
127
131
  {
128
132
  if (filter.not)
129
- {
130
- let wh: { [name: string]: any } = {};
131
- wh[filter.column.name] = idatabase.getEmpty(filter);
132
- ans[filter.table.name].push(wh);
133
- }
133
+ addCondition(idatabase.getNotEmpty(filter));
134
134
  else
135
- {
136
- let wh: { [name: string]: any } = {};
137
- wh[filter.column.name] = idatabase.getNotEmpty(filter);
138
- ans[filter.table.name].push(wh);
139
- }
135
+ addCondition(idatabase.getEmpty(filter));
140
136
  }
141
137
  else if (filter.operator == FilterItemOperator.all.exists)
142
138
  {
143
- let wh: { [name: string]: any } = {};
144
- wh[filter.column.name] = idatabase.getExists(filter, filter.not);
145
- ans[filter.table.name].push(wh);
139
+ addCondition(idatabase.getExists(filter, filter.not));
146
140
  }
147
141
  else if (filter.operator == FilterItemOperator.all.startswith)
148
142
  {
149
143
  values.forEach(value =>
150
144
  {
151
- let wh: { [name: string]: any } = {};
152
145
  if (filter.not)
153
- wh[filter.column.name] = idatabase.getStartsWith(filter, value);
146
+ addCondition(idatabase.getNotStartsWith(filter, value));
154
147
  else
155
- wh[filter.column.name] = idatabase.getNotStartsWith(filter, value);
156
- ans[filter.table.name].push(wh);
148
+ addCondition(idatabase.getStartsWith(filter, value));
157
149
  });
158
150
  }
159
151
  else if (filter.operator == FilterItemOperator.all.endswith)
160
152
  {
161
153
  values.forEach(value =>
162
154
  {
163
- let wh: { [name: string]: any } = {};
164
155
  if (filter.not)
165
- wh[filter.column.name] = idatabase.getEndsWith(filter, value);
156
+ addCondition(idatabase.getNotEndsWith(filter, value));
166
157
  else
167
- wh[filter.column.name] = idatabase.getNotEndsWith(filter, value);
168
- ans[filter.table.name].push(wh);
158
+ addCondition(idatabase.getEndsWith(filter, value));
169
159
  });
170
160
  }
171
161
  else if (filter.operator == FilterItemOperator.all.lessthan)
172
162
  {
173
- let wh: { [name: string]: any } = {};
174
163
  if (filter.not)
175
- wh[filter.column.name] = idatabase.getGTE(filter, Math.max(...getNumbers()));
164
+ addCondition(idatabase.getGTE(filter, Math.max(...getNumbers())));
176
165
  else
177
- wh[filter.column.name] = idatabase.getLT(filter, Math.max(...getNumbers()));
178
- ans[filter.table.name].push(wh);
166
+ addCondition(idatabase.getLT(filter, Math.max(...getNumbers())));
179
167
  }
180
168
  else if (filter.operator == FilterItemOperator.all.lessthanequal)
181
169
  {
182
- let wh: { [name: string]: any } = {};
183
170
  if (filter.not)
184
- wh[filter.column.name] = idatabase.getGT(filter, Math.max(...getNumbers()));
171
+ addCondition(idatabase.getGT(filter, Math.max(...getNumbers())));
185
172
  else
186
- wh[filter.column.name] = idatabase.getLTE(filter, Math.max(...getNumbers()));
187
- ans[filter.table.name].push(wh);
173
+ addCondition(idatabase.getLTE(filter, Math.max(...getNumbers())));
188
174
  }
189
175
  else if (filter.operator == FilterItemOperator.all.morethan)
190
176
  {
191
- let wh: { [name: string]: any } = {};
192
177
  if (filter.not)
193
- wh[filter.column.name] = idatabase.getLTE(filter, Math.max(...getNumbers()));
178
+ addCondition(idatabase.getLTE(filter, Math.max(...getNumbers())));
194
179
  else
195
- wh[filter.column.name] = idatabase.getGT(filter, Math.max(...getNumbers()));
196
- ans[filter.table.name].push(wh);
180
+ addCondition(idatabase.getGT(filter, Math.max(...getNumbers())));
197
181
  }
198
182
  else if (filter.operator == FilterItemOperator.all.morethanequal)
199
183
  {
200
- let wh: { [name: string]: any } = {};
201
184
  if (filter.not)
202
- wh[filter.column.name] = idatabase.getLT(filter, Math.max(...getNumbers()));
185
+ addCondition(idatabase.getLT(filter, Math.max(...getNumbers())));
203
186
  else
204
- wh[filter.column.name] = idatabase.getGTE(filter, Math.max(...getNumbers()));
205
- ans[filter.table.name].push(wh);
187
+ addCondition(idatabase.getGTE(filter, Math.max(...getNumbers())));
206
188
  }
207
189
  }
208
190
  }