@digione/node-custom-api 0.1.9-beta1 → 0.1.9-beta11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/utils/db.js +4 -4
- package/utils/file.d.ts +4 -3
- package/utils/file.js +12 -8
- package/utils/helper.d.ts +2 -1
- package/utils/helper.js +9 -3
- package/utils/stream.d.ts +4 -2
- package/utils/stream.js +35 -5
- package/utils/user.d.ts +2 -2
- package/utils/user.js +14 -8
- package/utils/validator.d.ts +8 -0
- package/utils/validator.js +15 -1
package/package.json
CHANGED
package/utils/db.js
CHANGED
|
@@ -32,7 +32,7 @@ const getWhereVal = (smth) => {
|
|
|
32
32
|
return [key, value].join(` ${smth.comparator} `);
|
|
33
33
|
};
|
|
34
34
|
const genWhere = (where = {}, { as = "", delimiter = ".", prefix = true, bracket = false } = {}) => {
|
|
35
|
-
as = as ? as + delimiter : as;
|
|
35
|
+
as = as ? "`" + as + "`" + delimiter : as;
|
|
36
36
|
let symbolKeys = Object.getOwnPropertySymbols(where);
|
|
37
37
|
let rawWhere = (Object.keys(where).concat(symbolKeys)).reduce((result, key) => {
|
|
38
38
|
let value = where[key];
|
|
@@ -48,7 +48,7 @@ const genWhere = (where = {}, { as = "", delimiter = ".", prefix = true, bracket
|
|
|
48
48
|
result = `${result}( ${op}) AND `;
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
|
-
result =
|
|
51
|
+
result = result + "`" + key + "`" + ` IN (${value.map(i => "'" + i + "'").join(',')}) AND `;
|
|
52
52
|
}
|
|
53
53
|
return result;
|
|
54
54
|
}
|
|
@@ -62,10 +62,10 @@ const genWhere = (where = {}, { as = "", delimiter = ".", prefix = true, bracket
|
|
|
62
62
|
return result;
|
|
63
63
|
}
|
|
64
64
|
else if (typeof value == "object" && value['val']) {
|
|
65
|
-
result =
|
|
65
|
+
result = result + "`" + key + "`" + `=${value['val']} AND `;
|
|
66
66
|
return result;
|
|
67
67
|
}
|
|
68
|
-
result = result + key + "=" + value + " AND ";
|
|
68
|
+
result = result + "`" + key + "`" + "=" + value + " AND ";
|
|
69
69
|
}
|
|
70
70
|
return result;
|
|
71
71
|
}, "");
|
package/utils/file.d.ts
CHANGED
|
@@ -147,7 +147,7 @@ export declare class FileUtil {
|
|
|
147
147
|
hidden?: number;
|
|
148
148
|
input?: {};
|
|
149
149
|
}): Promise<any>;
|
|
150
|
-
createFileByPath(files: Array<
|
|
150
|
+
createFileByPath(files: Array<any>, slug: string, user_id: any, { parent_slug, type, name, root, upload, tags, group }?: {
|
|
151
151
|
parent_slug?: string;
|
|
152
152
|
type?: string;
|
|
153
153
|
name?: any;
|
|
@@ -171,7 +171,7 @@ export declare class FileUtil {
|
|
|
171
171
|
user_id: any;
|
|
172
172
|
organ_id: any;
|
|
173
173
|
organ_by: any;
|
|
174
|
-
sort:
|
|
174
|
+
sort: any;
|
|
175
175
|
date_added: string;
|
|
176
176
|
name: any;
|
|
177
177
|
filename: any;
|
|
@@ -181,7 +181,8 @@ export declare class FileUtil {
|
|
|
181
181
|
extension: string;
|
|
182
182
|
type: any;
|
|
183
183
|
is_hidden: any;
|
|
184
|
-
tags:
|
|
184
|
+
tags: any;
|
|
185
|
+
custom: any;
|
|
185
186
|
group: any;
|
|
186
187
|
}[]>;
|
|
187
188
|
insertFileUnique(results: Array<any>, { format, thumb, width, height }?: {
|
package/utils/file.js
CHANGED
|
@@ -133,6 +133,7 @@ class FileUtil {
|
|
|
133
133
|
let reqs = [], results = [];
|
|
134
134
|
for (let file of files) {
|
|
135
135
|
let extension = mime.extension(file.mimetype);
|
|
136
|
+
extension = extension ? extension : String(file.mimetype).split('/')[1];
|
|
136
137
|
let input = {
|
|
137
138
|
Bucket: this.bucket,
|
|
138
139
|
Key: this.ref + "/" + (0, helper_1.getDateTime)().format('X') + '.' + (0, helper_1.getSlug)(32) + '.' + extension,
|
|
@@ -256,7 +257,7 @@ class FileUtil {
|
|
|
256
257
|
result[width + 'x' + height] = thumb;
|
|
257
258
|
yield (0, db_1.update)(this.ref, file_1.FileModel.getTableName().toString(), { thumb: JSON.stringify(result) }, { where: { id: item['id'] } });
|
|
258
259
|
}
|
|
259
|
-
if (item['filename'] == path) {
|
|
260
|
+
if (thumb && item['filename'] == path) {
|
|
260
261
|
yield this.getStorage();
|
|
261
262
|
let data = yield this.afterQueryFile({ filename: thumb, path: thumb });
|
|
262
263
|
thumb = data.path;
|
|
@@ -406,6 +407,7 @@ class FileUtil {
|
|
|
406
407
|
let folder = yield this.createFolder(slug, { parent_id, root, name });
|
|
407
408
|
for (let file of req.files) {
|
|
408
409
|
let extension = mime.extension(file.mimetype);
|
|
410
|
+
extension = extension ? extension : String(file.mimetype).split('/')[1];
|
|
409
411
|
let input = {
|
|
410
412
|
Bucket: this.bucket,
|
|
411
413
|
Key: this.ref + "/" + (0, helper_1.getDateTime)().format('X') + '.' + (0, helper_1.getSlug)(32) + '.' + extension,
|
|
@@ -470,8 +472,13 @@ class FileUtil {
|
|
|
470
472
|
let folder = yield this.createFolder(slug, { parent_id, root, name });
|
|
471
473
|
let results = [], reqs = [];
|
|
472
474
|
files.forEach((item) => {
|
|
473
|
-
|
|
474
|
-
|
|
475
|
+
let addition = {}, path = item;
|
|
476
|
+
if (typeof item == "object") {
|
|
477
|
+
addition = item;
|
|
478
|
+
path = item['path'];
|
|
479
|
+
}
|
|
480
|
+
results.push({ Location: path, Key: path });
|
|
481
|
+
reqs.push(Object.assign({ originalname: (0, helper_1.getSlug)(32), mimetype: null, size: 0, type }, addition));
|
|
475
482
|
});
|
|
476
483
|
results = yield this.formatFile(folder['id'], user_id, reqs, results, { input, tags, group });
|
|
477
484
|
return yield this.insertFileUnique(results);
|
|
@@ -574,14 +581,11 @@ class FileUtil {
|
|
|
574
581
|
path = (index < 0) ? protocol + path : path;
|
|
575
582
|
}
|
|
576
583
|
let extension = mime.extension(reqs[key].mimetype);
|
|
584
|
+
extension = extension ? extension : String(reqs[key].mimetype).split('/')[1];
|
|
577
585
|
let item = Object.assign(Object.assign({}, input), { folder_id,
|
|
578
586
|
user_id,
|
|
579
587
|
organ_id,
|
|
580
|
-
organ_by,
|
|
581
|
-
sort,
|
|
582
|
-
date_added, name: reqs[key].originalname || (0, helper_1.getSlug)(32), filename: reqs[key].Key || file.Key || input['filename'], path, mimetype: reqs[key].mimetype, filesize: reqs[key].size, extension: (extension ? "." + extension : ''), type: reqs[key].type || file.type || input['type'], is_hidden,
|
|
583
|
-
tags,
|
|
584
|
-
group });
|
|
588
|
+
organ_by, sort: reqs[key].sort || sort, date_added, name: reqs[key].originalname || (0, helper_1.getSlug)(32), filename: reqs[key].Key || file.Key || input['filename'], path, mimetype: reqs[key].mimetype, filesize: reqs[key].size, extension: (extension ? "." + extension : ''), type: reqs[key].type || file.type || input['type'], is_hidden, tags: reqs[key].tags || tags, custom: reqs[key].custom || input['custom'], group });
|
|
585
589
|
if (format) {
|
|
586
590
|
item = yield this.afterQueryFile(item);
|
|
587
591
|
}
|
package/utils/helper.d.ts
CHANGED
|
@@ -64,7 +64,7 @@ export declare const randomRef: ({ length_digital, length_alphabet }?: {
|
|
|
64
64
|
length_alphabet?: number;
|
|
65
65
|
}) => string;
|
|
66
66
|
export declare const treeToArray: (items: Array<any>, array?: Array<any>, level?: number) => Promise<any[]>;
|
|
67
|
-
export declare const buildTree: (nodes: Array<any>, { index, field_children, json_convert, key_index, key_parent, root, to_array }?: {
|
|
67
|
+
export declare const buildTree: (nodes: Array<any>, { index, field_children, json_convert, key_index, key_parent, root, to_array, notfound_parent }?: {
|
|
68
68
|
index?: any;
|
|
69
69
|
field_children?: string;
|
|
70
70
|
json_convert?: boolean;
|
|
@@ -72,6 +72,7 @@ export declare const buildTree: (nodes: Array<any>, { index, field_children, jso
|
|
|
72
72
|
key_parent?: string;
|
|
73
73
|
root?: any;
|
|
74
74
|
to_array?: boolean;
|
|
75
|
+
notfound_parent?: boolean;
|
|
75
76
|
}) => Promise<any[]>;
|
|
76
77
|
export declare const expandTree: (items: Array<any>, { array, parent, level, prefix, field_index, field_children, key_value }?: {
|
|
77
78
|
array?: any[];
|
package/utils/helper.js
CHANGED
|
@@ -154,8 +154,9 @@ exports.removeHyphen = removeHyphen;
|
|
|
154
154
|
const getMobileNumber = (str, { prefix = "+66" } = {}) => {
|
|
155
155
|
if (str) {
|
|
156
156
|
str = str.replace(/_/g, "").replace(/-/g, "").replace(/ /g, "");
|
|
157
|
-
if (str.indexOf("+") == -1 && str.length == 10) {
|
|
158
|
-
str
|
|
157
|
+
if (str.indexOf("+") == -1 && (str.length == 10 || str.length == 9)) {
|
|
158
|
+
if (str.length == 10 && str[0] == "0")
|
|
159
|
+
str = str.substr(1);
|
|
159
160
|
str = prefix + str;
|
|
160
161
|
}
|
|
161
162
|
}
|
|
@@ -228,7 +229,7 @@ const treeToArray = (items, array = [], level = 1) => tslib_1.__awaiter(void 0,
|
|
|
228
229
|
return array;
|
|
229
230
|
});
|
|
230
231
|
exports.treeToArray = treeToArray;
|
|
231
|
-
const buildTree = (nodes, { index = undefined, field_children = "children", json_convert = false, key_index = "id", key_parent = "parent", root = undefined, to_array = false } = {}) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
232
|
+
const buildTree = (nodes, { index = undefined, field_children = "children", json_convert = false, key_index = "id", key_parent = "parent", root = undefined, to_array = false, notfound_parent = false } = {}) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
232
233
|
if (!nodes) {
|
|
233
234
|
return null;
|
|
234
235
|
}
|
|
@@ -266,11 +267,16 @@ const buildTree = (nodes, { index = undefined, field_children = "children", json
|
|
|
266
267
|
}
|
|
267
268
|
}
|
|
268
269
|
parent[field_children] = results;
|
|
270
|
+
delete children[parent[key_index]];
|
|
269
271
|
}
|
|
270
272
|
};
|
|
271
273
|
for (let i = 0, len = roots.length; i < len; ++i) {
|
|
272
274
|
findChildren(roots[i]);
|
|
273
275
|
}
|
|
276
|
+
if (notfound_parent) {
|
|
277
|
+
let items = Object.keys(children).reduce((total, key) => total.concat(children[key]), []);
|
|
278
|
+
roots.unshift({ [key_index]: -1, [field_children]: items });
|
|
279
|
+
}
|
|
274
280
|
if (index)
|
|
275
281
|
roots = roots[0];
|
|
276
282
|
if (roots && to_array) {
|
package/utils/stream.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare class StreamUtil {
|
|
|
40
40
|
private fileUtil;
|
|
41
41
|
private languageUtil;
|
|
42
42
|
constructor(ref?: string, option?: QueryParamOption, fileUtil?: FileUtil);
|
|
43
|
-
findField(slug: string, namespace: string, { index, option, no_lang, field_slug, field_only, field_required, lang, lang_code, is_required, default_value, addition, include, include_only, convert_option, field_option, require, multiple_table, multiple_spread, text, bullets, multiple, relationship, file, image, field_exclude, section }?: {
|
|
43
|
+
findField(slug: string, namespace: string, { index, option, no_lang, field_slug, field_only, field_required, lang, lang_code, is_required, default_value, addition, include, include_only, convert_option, convert_value, field_option, require, multiple_table, multiple_spread, text, bullets, multiple, relationship, file, image, field_exclude, section }?: {
|
|
44
44
|
index?: string;
|
|
45
45
|
option?: {};
|
|
46
46
|
no_lang?: boolean;
|
|
@@ -55,6 +55,7 @@ export declare class StreamUtil {
|
|
|
55
55
|
include?: any;
|
|
56
56
|
include_only?: boolean;
|
|
57
57
|
convert_option?: boolean;
|
|
58
|
+
convert_value?: boolean;
|
|
58
59
|
field_option?: {};
|
|
59
60
|
require?: boolean;
|
|
60
61
|
multiple_table?: boolean;
|
|
@@ -117,7 +118,7 @@ export declare class StreamUtil {
|
|
|
117
118
|
result: {};
|
|
118
119
|
labels: any[];
|
|
119
120
|
}>;
|
|
120
|
-
genField(streams: Array<any>, { index, option, slug, id_stream, prefix, multiple_table, multiple_spread, addition, convert_option, field_option, default_value, default_lang, lang_code, no_lang, lang, country, section }?: {
|
|
121
|
+
genField(streams: Array<any>, { index, option, slug, id_stream, prefix, multiple_table, multiple_spread, addition, convert_option, convert_value, field_option, default_value, default_lang, lang_code, no_lang, lang, country, section }?: {
|
|
121
122
|
index?: string;
|
|
122
123
|
option?: {};
|
|
123
124
|
slug?: string;
|
|
@@ -127,6 +128,7 @@ export declare class StreamUtil {
|
|
|
127
128
|
multiple_spread?: boolean;
|
|
128
129
|
addition?: {};
|
|
129
130
|
convert_option?: boolean;
|
|
131
|
+
convert_value?: boolean;
|
|
130
132
|
field_option?: {};
|
|
131
133
|
default_value?: any;
|
|
132
134
|
default_lang?: string;
|
package/utils/stream.js
CHANGED
|
@@ -101,7 +101,7 @@ class StreamUtil {
|
|
|
101
101
|
this.fileUtil = fileUtil || new file_2.FileUtil(this.ref, this.option);
|
|
102
102
|
this.languageUtil = new language_1.LanguageUtil(this.ref, this.option);
|
|
103
103
|
}
|
|
104
|
-
findField(slug, namespace, { index = "", option = {}, no_lang = false, field_slug = [], field_only = true, field_required = true, lang = [], lang_code = "en", is_required = "", default_value = {}, addition = {}, include = undefined, include_only = false, convert_option = false, field_option = {}, require = false, multiple_table = false, multiple_spread = false, text = false, bullets = false, multiple = false, relationship = false, file = false, image = false, field_exclude = [], section = false } = {}) {
|
|
104
|
+
findField(slug, namespace, { index = "", option = {}, no_lang = false, field_slug = [], field_only = true, field_required = true, lang = [], lang_code = "en", is_required = "", default_value = {}, addition = {}, include = undefined, include_only = false, convert_option = false, convert_value = false, field_option = {}, require = false, multiple_table = false, multiple_spread = false, text = false, bullets = false, multiple = false, relationship = false, file = false, image = false, field_exclude = [], section = false } = {}) {
|
|
105
105
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
106
106
|
let data;
|
|
107
107
|
let where = {};
|
|
@@ -184,7 +184,7 @@ class StreamUtil {
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
if (convert_option) {
|
|
187
|
-
data['fields'] = yield this.genField(data['fields'], { index, option, slug, id_stream: data['id'], prefix: data['stream_prefix'], multiple_table, multiple_spread, addition, field_option, default_value, lang_code, no_lang, lang, section });
|
|
187
|
+
data['fields'] = yield this.genField(data['fields'], { index, option, slug, id_stream: data['id'], prefix: data['stream_prefix'], multiple_table, multiple_spread, addition, convert_value, field_option, default_value, lang_code, no_lang, lang, section });
|
|
188
188
|
}
|
|
189
189
|
if (field_only) {
|
|
190
190
|
return data['fields'];
|
|
@@ -347,7 +347,7 @@ class StreamUtil {
|
|
|
347
347
|
return { result, labels };
|
|
348
348
|
});
|
|
349
349
|
}
|
|
350
|
-
genField(streams, { index = "", option = {}, slug = "", id_stream = "", prefix = "", multiple_table = false, multiple_spread = false, addition = {}, convert_option = true, field_option = {}, default_value = {}, default_lang = "en", lang_code = "en", no_lang = false, lang = [], country = undefined, section = false } = {}) {
|
|
350
|
+
genField(streams, { index = "", option = {}, slug = "", id_stream = "", prefix = "", multiple_table = false, multiple_spread = false, addition = {}, convert_option = true, convert_value = false, field_option = {}, default_value = {}, default_lang = "en", lang_code = "en", no_lang = false, lang = [], country = undefined, section = false } = {}) {
|
|
351
351
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
352
352
|
let fields = [], sections = [];
|
|
353
353
|
let exclude = option['excludeObj'] || {};
|
|
@@ -472,7 +472,9 @@ class StreamUtil {
|
|
|
472
472
|
continue;
|
|
473
473
|
}
|
|
474
474
|
if (convert_option) {
|
|
475
|
+
let obj_value = {};
|
|
475
476
|
if (item['field_type'] == "choice") {
|
|
477
|
+
let opt_empty = false;
|
|
476
478
|
if (field_data['choice_data']) {
|
|
477
479
|
let data = [];
|
|
478
480
|
data = field_data['choice_data'].split('\n');
|
|
@@ -495,12 +497,16 @@ class StreamUtil {
|
|
|
495
497
|
data[k] = { key, value };
|
|
496
498
|
}
|
|
497
499
|
else {
|
|
500
|
+
opt_empty = true;
|
|
498
501
|
data[k] = { key: '', value };
|
|
499
502
|
}
|
|
500
503
|
}
|
|
501
504
|
else {
|
|
502
505
|
data[k] = { key: v, value: v };
|
|
503
506
|
}
|
|
507
|
+
if (convert_value && data[k]) {
|
|
508
|
+
obj_value[data[k]['key']] = data[k]['value'];
|
|
509
|
+
}
|
|
504
510
|
});
|
|
505
511
|
item['data'] = data;
|
|
506
512
|
}
|
|
@@ -510,9 +516,23 @@ class StreamUtil {
|
|
|
510
516
|
if (value && value.indexOf('lang:') > -1) {
|
|
511
517
|
item['value'] = (0, i18n_1.__)({ phrase: value, locale: lang_code });
|
|
512
518
|
}
|
|
519
|
+
if (!item['key'])
|
|
520
|
+
opt_empty = true;
|
|
521
|
+
if (convert_value && item['key']) {
|
|
522
|
+
obj_value[item['key']] = item['value'];
|
|
523
|
+
}
|
|
513
524
|
return item;
|
|
514
525
|
});
|
|
515
526
|
}
|
|
527
|
+
if (field_data['default_value'] && !opt_empty && (item['field_value'] == '' || item['field_value'] == null)) {
|
|
528
|
+
item['field_value'] = field_data['default_value'];
|
|
529
|
+
}
|
|
530
|
+
if (convert_value && typeof item['field_value'] != "undefined") {
|
|
531
|
+
let field_value = item['field_value'];
|
|
532
|
+
if (item['field_value'] == null && opt_empty)
|
|
533
|
+
field_value = '';
|
|
534
|
+
field_data['value'] = obj_value[field_value];
|
|
535
|
+
}
|
|
516
536
|
}
|
|
517
537
|
else if (!field_option[item['field_slug']] && (item['field_type'] == "relationship" || item['field_type'] == "multiple") && field_data['choose_stream']) {
|
|
518
538
|
try {
|
|
@@ -557,6 +577,9 @@ class StreamUtil {
|
|
|
557
577
|
item['title'] = item['title'] ? item['title'] : item[stream['title_column']];
|
|
558
578
|
(0, helper_2.getValueFunctionLang)('title')(item, { result: item, lang_code });
|
|
559
579
|
let value = item['title'] ? item['title'] : item['id'];
|
|
580
|
+
if (convert_value && item['id']) {
|
|
581
|
+
obj_value[item['id']] = value;
|
|
582
|
+
}
|
|
560
583
|
return {
|
|
561
584
|
key: item['id'],
|
|
562
585
|
value
|
|
@@ -567,6 +590,9 @@ class StreamUtil {
|
|
|
567
590
|
}
|
|
568
591
|
}
|
|
569
592
|
item['data'] = data;
|
|
593
|
+
if (convert_value && item['field_value']) {
|
|
594
|
+
field_data['value'] = obj_value[item['field_value']];
|
|
595
|
+
}
|
|
570
596
|
}
|
|
571
597
|
catch (err) { }
|
|
572
598
|
}
|
|
@@ -1636,8 +1662,10 @@ class StreamUtil {
|
|
|
1636
1662
|
}
|
|
1637
1663
|
}
|
|
1638
1664
|
}
|
|
1639
|
-
|
|
1640
|
-
|
|
1665
|
+
if (typeof field['sort_order'] == "undefined") {
|
|
1666
|
+
let sort_order = yield field_1.FieldModel.schema(this.ref, "_").max('sort_order', { where: { stream_id: stream['id'] } });
|
|
1667
|
+
field['sort_order'] = sort_order ? Number(sort_order + 1) : 1;
|
|
1668
|
+
}
|
|
1641
1669
|
if (!field['stream_id']) {
|
|
1642
1670
|
field['stream_id'] = stream['id'];
|
|
1643
1671
|
}
|
|
@@ -1897,11 +1925,13 @@ class StreamUtil {
|
|
|
1897
1925
|
allow_type = new RegExp(/^(image.*)$/).test(file[field_slug]['mimetype']);
|
|
1898
1926
|
if (!allow_type) {
|
|
1899
1927
|
input[field_slug] = mime.extension(file[field_slug]['mimetype']);
|
|
1928
|
+
input[field_slug] = input[field_slug] ? input[field_slug] : String(file[field_slug]['mimetype']).split('/')[1];
|
|
1900
1929
|
field = Joi.string().valid('image/*');
|
|
1901
1930
|
}
|
|
1902
1931
|
}
|
|
1903
1932
|
if (!allow_type && field_data['allowed_types']) {
|
|
1904
1933
|
let extension = String(mime.extension(file[field_slug]['mimetype']));
|
|
1934
|
+
extension = extension ? extension : String(file[field_slug]['mimetype']).split('/')[1];
|
|
1905
1935
|
if (!new RegExp(`^(${field_data['allowed_types']})$`).test(extension)) {
|
|
1906
1936
|
input[field_slug] = extension;
|
|
1907
1937
|
field = Joi.string().valid(...(field_data['allowed_types'].split('|') || []));
|
package/utils/user.d.ts
CHANGED
|
@@ -40,9 +40,9 @@ export declare const convertAddress: (data: any, { lang_code, transform }?: {
|
|
|
40
40
|
lang_code?: string;
|
|
41
41
|
transform?: boolean;
|
|
42
42
|
}) => Promise<any>;
|
|
43
|
-
export declare const getAddressIndex: (data: any, { condition,
|
|
43
|
+
export declare const getAddressIndex: (data: any, { condition, where }?: {
|
|
44
44
|
condition?: {};
|
|
45
|
-
|
|
45
|
+
where?: {};
|
|
46
46
|
}) => Promise<{}>;
|
|
47
47
|
export declare const getCountry: (ref: string, { organ_id, lang_code, setting }?: {
|
|
48
48
|
organ_id?: string;
|
package/utils/user.js
CHANGED
|
@@ -229,12 +229,11 @@ const convertAddress = (data, { lang_code = "en", transform = false } = {}) => t
|
|
|
229
229
|
return data;
|
|
230
230
|
});
|
|
231
231
|
exports.convertAddress = convertAddress;
|
|
232
|
-
const getAddressIndex = (data, { condition = {},
|
|
233
|
-
let result = {},
|
|
234
|
-
let order = [sequelize.literal(`FIELD(lang_code,${'\'' + where['lang_code'].join('\',\'') + '\''})`)];
|
|
232
|
+
const getAddressIndex = (data, { condition = {}, where = {} } = {}) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
233
|
+
let result = {}, bol = false;
|
|
235
234
|
if (!bol && data['country'] && !condition['country_id']) {
|
|
236
235
|
let country = yield country_1.CountryModel.schema("core", "_").findOne({
|
|
237
|
-
raw: true, where: Object.assign(Object.assign({}, where), { country_name: data['country'] }), attributes: ['id']
|
|
236
|
+
raw: true, where: Object.assign(Object.assign({}, where), { country_name: data['country'] }), attributes: ['id']
|
|
238
237
|
});
|
|
239
238
|
if (country) {
|
|
240
239
|
result['country_id'] = country['id'];
|
|
@@ -245,7 +244,7 @@ const getAddressIndex = (data, { condition = {}, lang_code = "en" } = {}) => tsl
|
|
|
245
244
|
if (!bol && data['state'] && !condition['state_id']) {
|
|
246
245
|
let country_id = condition['country_id'] || null;
|
|
247
246
|
let state = yield state_1.StateModel.schema("core", "_").findOne({
|
|
248
|
-
raw: true, where: Object.assign(Object.assign({}, where), { country_id, state_name: data['state'] }), attributes: ['id']
|
|
247
|
+
raw: true, where: Object.assign(Object.assign({}, where), { country_id, state_name: data['state'] }), attributes: ['id']
|
|
249
248
|
});
|
|
250
249
|
if (state) {
|
|
251
250
|
result['state_id'] = state['id'];
|
|
@@ -256,7 +255,7 @@ const getAddressIndex = (data, { condition = {}, lang_code = "en" } = {}) => tsl
|
|
|
256
255
|
if (!bol && data['city'] && !condition['city_id']) {
|
|
257
256
|
let state_id = condition['state_id'] || null;
|
|
258
257
|
let city = yield city_1.CityModel.schema("core", "_").findOne({
|
|
259
|
-
raw: true, where: Object.assign(Object.assign({}, where), { state_id, city_name: data['city'] }), attributes: ['id']
|
|
258
|
+
raw: true, where: Object.assign(Object.assign({}, where), { state_id, city_name: data['city'] }), attributes: ['id']
|
|
260
259
|
});
|
|
261
260
|
if (city) {
|
|
262
261
|
result['city_id'] = city['id'];
|
|
@@ -267,7 +266,7 @@ const getAddressIndex = (data, { condition = {}, lang_code = "en" } = {}) => tsl
|
|
|
267
266
|
if (!bol && data['district']) {
|
|
268
267
|
let city_id = condition['city_id'] || null;
|
|
269
268
|
let district = yield district_1.DistrictModel.schema("core", "_").findOne({
|
|
270
|
-
raw: true, where: Object.assign(Object.assign({}, where), { city_id, district_name: data['district'] }), attributes: ['id']
|
|
269
|
+
raw: true, where: Object.assign(Object.assign({}, where), { city_id, district_name: data['district'] }), attributes: ['id']
|
|
271
270
|
});
|
|
272
271
|
if (district)
|
|
273
272
|
result['district_id'] = district['id'];
|
|
@@ -277,7 +276,14 @@ const getAddressIndex = (data, { condition = {}, lang_code = "en" } = {}) => tsl
|
|
|
277
276
|
exports.getAddressIndex = getAddressIndex;
|
|
278
277
|
const getCountry = (ref, { organ_id = "", lang_code = "en", setting = {} } = {}) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
279
278
|
let where = { status: 1, lang_code }, default_country;
|
|
280
|
-
if (
|
|
279
|
+
if (organ_id) {
|
|
280
|
+
let query = yield organ_1.UserOrganModel.schema(ref, "_").findOne({ where: { id: organ_id }, attributes: ['setting'], raw: true });
|
|
281
|
+
setting = query ? (query['setting'] || {}) : {};
|
|
282
|
+
}
|
|
283
|
+
if (setting['mobile_code']) {
|
|
284
|
+
where['mobilecode'] = setting['mobile_code'].split(",");
|
|
285
|
+
}
|
|
286
|
+
else if (setting['country_id']) {
|
|
281
287
|
where['id'] = setting['country_id'].split(",");
|
|
282
288
|
}
|
|
283
289
|
let data = yield country_1.CountryModel.schema("core", "_").findAll({
|
package/utils/validator.d.ts
CHANGED
|
@@ -57,5 +57,13 @@ export declare const convertService: ({ convert_type, schema }?: {
|
|
|
57
57
|
convert_type?: any[];
|
|
58
58
|
schema?: {};
|
|
59
59
|
}) => (req: any, res: any, next: any) => Promise<any>;
|
|
60
|
+
export declare const entryValidateService: ({ module, schema }?: {
|
|
61
|
+
module?: string[];
|
|
62
|
+
schema?: {};
|
|
63
|
+
}) => (req: any, res: any, next: any) => Promise<any>;
|
|
64
|
+
export declare const entryParamService: ({ module, schema }?: {
|
|
65
|
+
module?: string[];
|
|
66
|
+
schema?: {};
|
|
67
|
+
}) => (req: any, res: any, next: any) => Promise<any>;
|
|
60
68
|
export declare const createdByValidate: (req: any, res: any, next: any) => Promise<any>;
|
|
61
69
|
export {};
|
package/utils/validator.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createdByValidate = exports.convertService = exports.fieldService = exports.dataService = exports.printService = exports.exportService = exports.importService = exports.streamService = exports.multiService = exports.fileService = exports.paramService = exports.validateService = exports.validate = void 0;
|
|
3
|
+
exports.createdByValidate = exports.entryParamService = exports.entryValidateService = exports.convertService = exports.fieldService = exports.dataService = exports.printService = exports.exportService = exports.importService = exports.streamService = exports.multiService = exports.fileService = exports.paramService = exports.validateService = exports.validate = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const Joi = require("joi");
|
|
6
6
|
const errors_1 = require("../errors");
|
|
@@ -291,6 +291,20 @@ const convertService = ({ convert_type = [], schema = {} } = {}) => (req, res, n
|
|
|
291
291
|
return (0, exports.validateService)(Joi.object().keys(Object.assign({ ids: Joi.array().items(Joi.number()).min(1), convert_type: Joi.string().valid(...convert_type) }, schema)).unknown())(req, res, next);
|
|
292
292
|
});
|
|
293
293
|
exports.convertService = convertService;
|
|
294
|
+
const entryValidateService = ({ module = ['contact'], schema = {} } = {}) => (req, res, next) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
295
|
+
return (0, exports.validateService)(Joi.object().keys(Object.assign({ module: Joi.string().valid(...module), entry_id: Joi.number().required() }, schema)).unknown())(req, res, next);
|
|
296
|
+
});
|
|
297
|
+
exports.entryValidateService = entryValidateService;
|
|
298
|
+
const entryParamService = ({ module = ['contact'], schema = {} } = {}) => (req, res, next) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
299
|
+
if (req.query.module) {
|
|
300
|
+
res.locals.option = Object.assign(Object.assign({}, (res.locals.option || {})), { module: req.query.module });
|
|
301
|
+
}
|
|
302
|
+
if (req.query.entry_id) {
|
|
303
|
+
res.locals.option = Object.assign(Object.assign({}, (res.locals.option || {})), { entry_id: req.query.entry_id });
|
|
304
|
+
}
|
|
305
|
+
return (0, exports.paramService)(Joi.object().keys(Object.assign({ module: Joi.string().valid(...module), entry_id: Joi.number().required() }, schema)).unknown())(req, res, next);
|
|
306
|
+
});
|
|
307
|
+
exports.entryParamService = entryParamService;
|
|
294
308
|
exports.createdByValidate = (0, exports.validateService)(Joi.object().keys({
|
|
295
309
|
created_by: Joi.alternatives().try(Joi.string(), Joi.number()).required()
|
|
296
310
|
}).unknown());
|