@spytecgps/nova-orm 1.0.106 → 1.0.108
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/dist/entities/tag.d.ts +1 -0
- package/dist/entities/tag.js +5 -0
- package/dist/entities/tag.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/repositories/acumatica/getAcumaticaImeiIccidData.js +7 -1
- package/dist/repositories/acumatica/getAcumaticaImeiIccidData.js.map +1 -1
- package/dist/repositories/tags/index.d.ts +7 -1
- package/dist/repositories/tags/index.js +13 -0
- package/dist/repositories/tags/index.js.map +1 -1
- package/dist/repositories/tags/searchTags.js +5 -0
- package/dist/repositories/tags/searchTags.js.map +1 -1
- package/dist/repositories/tags/searchTagsByUser.d.ts +4 -0
- package/dist/repositories/tags/searchTagsByUser.js +46 -0
- package/dist/repositories/tags/searchTagsByUser.js.map +1 -0
- package/dist/repositories/tags/updateTag.js +1 -0
- package/dist/repositories/tags/updateTag.js.map +1 -1
- package/dist/types/acumatica.d.ts +1 -0
- package/dist/types/tag.d.ts +14 -0
- package/dist/types/tag.js +5 -0
- package/dist/types/tag.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AcumaticaImeiIccidData } from '../../entities';
|
|
2
2
|
export const getAcumaticaImeiIccidData = async (novaDataSource, params, logger) => {
|
|
3
3
|
if (!params.filters.imei &&
|
|
4
|
+
!params?.filters?.imeiList?.length &&
|
|
4
5
|
params.filters.excludeNullAsin == null &&
|
|
5
6
|
params.filters.excludeNullCountyCode == null &&
|
|
6
7
|
!params.filters.excludeCountries?.length) {
|
|
@@ -15,7 +16,12 @@ export const getAcumaticaImeiIccidData = async (novaDataSource, params, logger)
|
|
|
15
16
|
if (queryRunner) {
|
|
16
17
|
queryBuilder.setQueryRunner(queryRunner);
|
|
17
18
|
}
|
|
18
|
-
if (params.filters.
|
|
19
|
+
if (params.filters.imeiList?.length) {
|
|
20
|
+
queryBuilder.where('acumaticaImeiIccidData.imei IN (:...imeiList)', {
|
|
21
|
+
imeiList: params.filters.imeiList,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else if (params.filters.imei) {
|
|
19
25
|
queryBuilder.where('acumaticaImeiIccidData.imei = :imei', {
|
|
20
26
|
imei: params.filters.imei,
|
|
21
27
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAcumaticaImeiIccidData.js","sourceRoot":"","sources":["../../../src/repositories/acumatica/getAcumaticaImeiIccidData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAKvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,cAA8B,EAC9B,MAAuC,EACvC,MAAc,EACqB,EAAE;IACrC,IACE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;QACpB,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI;QACtC,MAAM,CAAC,OAAO,CAAC,qBAAqB,IAAI,IAAI;QAC5C,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EACxC;QACA,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,8EAA8E,CAC/E,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACU,EAAE;QACrC,MAAM,gCAAgC,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;QAEzF,MAAM,YAAY,GAAG,gCAAgC,CAAC,kBAAkB,CACtE,wBAAwB,CACzB,CAAA;QAED,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"getAcumaticaImeiIccidData.js","sourceRoot":"","sources":["../../../src/repositories/acumatica/getAcumaticaImeiIccidData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAKvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,cAA8B,EAC9B,MAAuC,EACvC,MAAc,EACqB,EAAE;IACrC,IACE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI;QACpB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;QAClC,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI;QACtC,MAAM,CAAC,OAAO,CAAC,qBAAqB,IAAI,IAAI;QAC5C,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EACxC;QACA,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,EACV,8EAA8E,CAC/E,CAAA;QACD,OAAO,EAAE,CAAA;KACV;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EACH,UAA0B,EAC1B,WAAyB,EACU,EAAE;QACrC,MAAM,gCAAgC,GAAG,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;QAEzF,MAAM,YAAY,GAAG,gCAAgC,CAAC,kBAAkB,CACtE,wBAAwB,CACzB,CAAA;QAED,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;YACnC,YAAY,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAClE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAA;SACH;aAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;YAC9B,YAAY,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBACxD,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;aAC1B,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE;YAClC,YAAY,CAAC,QAAQ,CAAC,yCAAyC,CAAC,CAAA;SACjE;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACxC,YAAY,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAA;SACxE;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE;YAC3C,YAAY,CAAC,QAAQ,CAAC,kEAAkE,EAAE;gBACxF,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB;aAClD,CAAC,CAAA;SACH;QAED,IAAI,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE;YACjC,YAAY,CAAC,OAAO,CAClB,0BAA0B,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,EACxD,MAAM,CAAC,WAAW,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACxD,CAAA;SACF;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAE3C,OAAO,MAAM,CAAA;IACf,CAAC,EACD,gDAAgD,EAChD,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Tag } from '../../entities';
|
|
2
|
-
import { BulkCreateTagParams, CreateTagParams, DeleteTagParams, GetTagsResult, SearchTagsParams, UpdateTagParams } from '../../types/tag';
|
|
2
|
+
import { BulkCreateTagParams, CreateTagParams, DeleteTagParams, GetTagsResult, SearchTagsByUserParams, SearchTagsParams, UpdateTagParams } from '../../types/tag';
|
|
3
3
|
import { BaseRepository } from '../baseRepository';
|
|
4
4
|
export declare class TagsRepository extends BaseRepository {
|
|
5
5
|
/**
|
|
@@ -32,4 +32,10 @@ export declare class TagsRepository extends BaseRepository {
|
|
|
32
32
|
* @returns {Tag[]} the created tags
|
|
33
33
|
*/
|
|
34
34
|
bulkCreateTags(params: BulkCreateTagParams): Promise<Tag[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Search for tags by a given user
|
|
37
|
+
* @param {SearchTagsByUserParams} params containing information to search for tags by user
|
|
38
|
+
* @returns {Tag[]} the tags found
|
|
39
|
+
*/
|
|
40
|
+
searchTagsByUser(params: SearchTagsByUserParams): Promise<GetTagsResult>;
|
|
35
41
|
}
|
|
@@ -4,6 +4,7 @@ import { bulkCreateTags } from './bulkCreateTags';
|
|
|
4
4
|
import { createTag } from './createTag';
|
|
5
5
|
import { deleteTag } from './deleteTag';
|
|
6
6
|
import { searchTags } from './searchTags';
|
|
7
|
+
import { searchTagsByUser } from './searchTagsByUser';
|
|
7
8
|
import { updateTag } from './updateTag';
|
|
8
9
|
export class TagsRepository extends BaseRepository {
|
|
9
10
|
/**
|
|
@@ -66,5 +67,17 @@ export class TagsRepository extends BaseRepository {
|
|
|
66
67
|
this.logger.trace(result, 'TagRepository::bulkCreateTags result');
|
|
67
68
|
return result;
|
|
68
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Search for tags by a given user
|
|
72
|
+
* @param {SearchTagsByUserParams} params containing information to search for tags by user
|
|
73
|
+
* @returns {Tag[]} the tags found
|
|
74
|
+
*/
|
|
75
|
+
async searchTagsByUser(params) {
|
|
76
|
+
this.logger.trace(params, `TagRepository::searchTagsByUser started with params`);
|
|
77
|
+
const novaDataSource = new NovaDataSource(this.novaDataSourceConfig, this.logger, this.replicaNovaDataSourceConfig);
|
|
78
|
+
const result = await searchTagsByUser(novaDataSource, params, this.logger);
|
|
79
|
+
this.logger.trace(result, 'TagRepository::searchTagsByUser result');
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
69
82
|
}
|
|
70
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/tags/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/tags/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,11 @@ export const searchTags = async (novaDataSource, params, logger) => {
|
|
|
23
23
|
if (filters.tagIds?.length) {
|
|
24
24
|
queryBuilder = queryBuilder.andWhere('id IN (:...tagIds)', { tagIds: filters.tagIds });
|
|
25
25
|
}
|
|
26
|
+
if (filters.metadata) {
|
|
27
|
+
queryBuilder = queryBuilder.andWhere('JSON_CONTAINS(metadata, :metadata)', {
|
|
28
|
+
metadata: JSON.stringify(filters.metadata),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
26
31
|
// counting before applying pagination
|
|
27
32
|
const tagCount = await queryBuilder.getCount();
|
|
28
33
|
const limit = pagingOptions?.pageSize ?? 50;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchTags.js","sourceRoot":"","sources":["../../../src/repositories/tags/searchTags.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,kCAAkC,GAEnC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,cAA8B,EAC9B,MAAwB,EACxB,MAAc,EACU,EAAE;IAC1B,IAAI,kBAAkB,CAAmB,MAAM,EAAE,kCAAkC,CAAC,EAAE;QACpF,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,wDAAwD,CAAC,CAAA;QACjF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;KACnC;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAA0B,EAAE;QACtF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAEpD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QACzC,IAAI,YAAY,GAAG,cAAc;aAC9B,kBAAkB,EAAE;aACpB,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEhE,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;YACzB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACtF;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;YAC1B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;SACvF;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE9C,MAAM,KAAK,GAAG,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAA;QAC3C,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEzB,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;QAC3D,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEhC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAEzC,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,QAAQ;SACJ,CAAA;IACpB,CAAC,EACD,4BAA4B,EAC5B,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"searchTags.js","sourceRoot":"","sources":["../../../src/repositories/tags/searchTags.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,kCAAkC,GAEnC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,cAA8B,EAC9B,MAAwB,EACxB,MAAc,EACU,EAAE;IAC1B,IAAI,kBAAkB,CAAmB,MAAM,EAAE,kCAAkC,CAAC,EAAE;QACpF,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,wDAAwD,CAAC,CAAA;QACjF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;KACnC;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAA0B,EAAE;QACtF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAEpD,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;QACzC,IAAI,YAAY,GAAG,cAAc;aAC9B,kBAAkB,EAAE;aACpB,KAAK,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEhE,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE;YACzB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACtF;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE;YAC1B,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;SACvF;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,oCAAoC,EAAE;gBACzE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3C,CAAC,CAAA;SACH;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE9C,MAAM,KAAK,GAAG,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAA;QAC3C,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEzB,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;QAC3D,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEhC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAEzC,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,QAAQ;SACJ,CAAA;IACpB,CAAC,EACD,4BAA4B,EAC5B,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { NovaDataSource } from '../../novaDataSource';
|
|
2
|
+
import { Logger } from '../../types/logger';
|
|
3
|
+
import { GetTagsResult, SearchTagsByUserParams } from '../../types/tag';
|
|
4
|
+
export declare const searchTagsByUser: (novaDataSource: NovaDataSource, params: SearchTagsByUserParams, logger: Logger) => Promise<GetTagsResult>;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EntityTag, Tag } from '../../entities';
|
|
2
|
+
import { oneRequiredSearchTagsByUserParamsAttributes, requiredSearchTagsByUserParamsAttributes, } from '../../types/tag';
|
|
3
|
+
import { allAttributesAreNull, anyAttributeIsNull } from '../../utils/paramsValidators';
|
|
4
|
+
import { getUserById } from '../users/getUserById';
|
|
5
|
+
export const searchTagsByUser = async (novaDataSource, params, logger) => {
|
|
6
|
+
if (anyAttributeIsNull(params, requiredSearchTagsByUserParamsAttributes) ||
|
|
7
|
+
allAttributesAreNull(params, oneRequiredSearchTagsByUserParamsAttributes)) {
|
|
8
|
+
logger.warn({ params }, 'TagsRepository::searchTags missing required parameters');
|
|
9
|
+
return { tags: [], totalCount: 0 };
|
|
10
|
+
}
|
|
11
|
+
// Force the query to run on master or slave
|
|
12
|
+
const dbQueryRunner = novaDataSource.createQueryRunnerFromParams(params);
|
|
13
|
+
const { filters, pagingOptions } = params;
|
|
14
|
+
let userId = filters.userNumberId;
|
|
15
|
+
if (!filters.userNumberId) {
|
|
16
|
+
const user = await getUserById(novaDataSource, { filters: { id: filters.userId } }, logger);
|
|
17
|
+
userId = user?.numberId;
|
|
18
|
+
}
|
|
19
|
+
return novaDataSource.safeQuery(async (dataSource, queryRunner) => {
|
|
20
|
+
const tagsRepository = dataSource.getRepository(Tag);
|
|
21
|
+
let queryBuilder = tagsRepository
|
|
22
|
+
.createQueryBuilder('tag')
|
|
23
|
+
.where('tag.clientId = :clientId', { clientId: filters.clientId });
|
|
24
|
+
if (queryRunner) {
|
|
25
|
+
queryBuilder.setQueryRunner(queryRunner);
|
|
26
|
+
}
|
|
27
|
+
queryBuilder.innerJoin(EntityTag, 'entityTag', "entityTag.tagId = tag.id AND entityTag.entityType = 'User' AND entityTag.entityId = :userId", { userId });
|
|
28
|
+
if (filters.metadata) {
|
|
29
|
+
queryBuilder = queryBuilder.andWhere('JSON_CONTAINS(tag.metadata, :metadata)', {
|
|
30
|
+
metadata: JSON.stringify(filters.metadata),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
// counting before applying pagination
|
|
34
|
+
const tagCount = await queryBuilder.getCount();
|
|
35
|
+
const limit = pagingOptions?.pageSize ?? 50;
|
|
36
|
+
queryBuilder.limit(limit);
|
|
37
|
+
const globalIndex = (pagingOptions?.pageIndex ?? 0) * limit;
|
|
38
|
+
queryBuilder.offset(globalIndex);
|
|
39
|
+
const tags = await queryBuilder.getMany();
|
|
40
|
+
return {
|
|
41
|
+
tags,
|
|
42
|
+
totalCount: tagCount,
|
|
43
|
+
};
|
|
44
|
+
}, 'TagsRepository::searchTags', dbQueryRunner);
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=searchTagsByUser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchTagsByUser.js","sourceRoot":"","sources":["../../../src/repositories/tags/searchTagsByUser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAG/C,OAAO,EAEL,2CAA2C,EAC3C,wCAAwC,GAEzC,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,cAA8B,EAC9B,MAA8B,EAC9B,MAAc,EACU,EAAE;IAC1B,IACE,kBAAkB,CAAyB,MAAM,EAAE,wCAAwC,CAAC;QAC5F,oBAAoB,CAClB,MAAM,EACN,2CAA2C,CAC5C,EACD;QACA,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,wDAAwD,CAAC,CAAA;QACjF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;KACnC;IAED,4CAA4C;IAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAA;IAExE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IAEzC,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAA;IACjC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;QACzB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAA;QAC3F,MAAM,GAAG,IAAI,EAAE,QAAQ,CAAA;KACxB;IAED,OAAO,cAAc,CAAC,SAAS,CAC7B,KAAK,EAAE,UAA0B,EAAE,WAAyB,EAA0B,EAAE;QACtF,MAAM,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAEpD,IAAI,YAAY,GAAG,cAAc;aAC9B,kBAAkB,CAAC,KAAK,CAAC;aACzB,KAAK,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEpE,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;SACzC;QAED,YAAY,CAAC,SAAS,CACpB,SAAS,EACT,WAAW,EACX,6FAA6F,EAC7F,EAAE,MAAM,EAAE,CACX,CAAA;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,wCAAwC,EAAE;gBAC7E,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC3C,CAAC,CAAA;SACH;QAED,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAA;QAE9C,MAAM,KAAK,GAAG,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAA;QAC3C,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAEzB,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,CAAA;QAC3D,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAEhC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAA;QAEzC,OAAO;YACL,IAAI;YACJ,UAAU,EAAE,QAAQ;SACJ,CAAA;IACpB,CAAC,EACD,4BAA4B,EAC5B,aAAa,CACd,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -21,6 +21,7 @@ export const updateTag = async (novaDataSource, params, logger) => {
|
|
|
21
21
|
color: values.color,
|
|
22
22
|
description: values.description,
|
|
23
23
|
name: values.name,
|
|
24
|
+
metadata: values.metadata,
|
|
24
25
|
})
|
|
25
26
|
.where('id = :id', { id: filters.tagId })
|
|
26
27
|
.andWhere('clientId = :clientId', { clientId: filters.clientId })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateTag.js","sourceRoot":"","sources":["../../../src/repositories/tags/updateTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAAE,iCAAiC,EAAmB,MAAM,iBAAiB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,cAA8B,EAC9B,MAAuB,EACvB,MAAc,EACI,EAAE;IACpB,IACE,kBAAkB,CAAC,MAAM,EAAE,iCAAiC,CAAC;QAC7D,CAAC,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EACnE;QACA,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,sDAAsD,CAAC,CAAA;QAC/E,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAAoB,EAAE;QACzF,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACxD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAClC,MAAM,YAAY,GAAG,MAAM,cAAc;aACtC,kBAAkB,EAAE;aACpB,MAAM,CAAC,GAAG,CAAC;aACX,GAAG,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,GAAG,EAAE;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"updateTag.js","sourceRoot":"","sources":["../../../src/repositories/tags/updateTag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAAE,iCAAiC,EAAmB,MAAM,iBAAiB,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAA;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAC5B,cAA8B,EAC9B,MAAuB,EACvB,MAAc,EACI,EAAE;IACpB,IACE,kBAAkB,CAAC,MAAM,EAAE,iCAAiC,CAAC;QAC7D,CAAC,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EACnE;QACA,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,sDAAsD,CAAC,CAAA;QAC/E,OAAO,KAAK,CAAA;KACb;IAED,OAAO,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,cAA8B,EAAoB,EAAE;QACzF,MAAM,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACxD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAClC,MAAM,YAAY,GAAG,MAAM,cAAc;aACtC,kBAAkB,EAAE;aACpB,MAAM,CAAC,GAAG,CAAC;aACX,GAAG,CAAC;YACH,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,GAAG,EAAE;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;aACD,KAAK,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;aACxC,QAAQ,CAAC,sBAAsB,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;aAChE,OAAO,EAAE,CAAA;QAEZ,OAAO,YAAY,CAAC,QAAQ,GAAG,CAAC,CAAA;IAClC,CAAC,EAAE,gCAAgC,CAAC,CAAA;AACtC,CAAC,CAAA"}
|
|
@@ -2,6 +2,7 @@ import { BaseSelectQueryParams } from './common';
|
|
|
2
2
|
export interface GetAcumaticaImeiIccidDataParams extends BaseSelectQueryParams {
|
|
3
3
|
filters: {
|
|
4
4
|
imei?: string;
|
|
5
|
+
imeiList?: string[];
|
|
5
6
|
excludeNullAsin?: boolean;
|
|
6
7
|
excludeNullCountyCode?: boolean;
|
|
7
8
|
excludeCountries?: string[];
|
package/dist/types/tag.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export interface CreateTagParams {
|
|
|
7
7
|
name: string;
|
|
8
8
|
color?: string;
|
|
9
9
|
description?: string;
|
|
10
|
+
metadata?: Record<string, any>;
|
|
10
11
|
}
|
|
11
12
|
export declare const requiredBulkCreateTagParamsAttributes: string[];
|
|
12
13
|
export interface BulkCreateTagParams {
|
|
@@ -16,6 +17,7 @@ export interface BulkCreateTagParams {
|
|
|
16
17
|
name: string;
|
|
17
18
|
color?: string;
|
|
18
19
|
description?: string;
|
|
20
|
+
metadata?: Record<string, any>;
|
|
19
21
|
}[];
|
|
20
22
|
}
|
|
21
23
|
export declare const requiredUpdateTagParamsAttributes: string[];
|
|
@@ -29,6 +31,7 @@ export interface UpdateTagParams {
|
|
|
29
31
|
name?: string | null;
|
|
30
32
|
description?: string | null;
|
|
31
33
|
color?: string | null;
|
|
34
|
+
metadata?: Record<string, any> | null;
|
|
32
35
|
};
|
|
33
36
|
}
|
|
34
37
|
export declare const requiredDeleteTagParamsAttributes: string[];
|
|
@@ -43,9 +46,20 @@ export interface SearchTagsParams extends OptionalReportPagination {
|
|
|
43
46
|
clientId: number;
|
|
44
47
|
names?: string[];
|
|
45
48
|
tagIds?: number[];
|
|
49
|
+
metadata?: Record<string, any>;
|
|
46
50
|
};
|
|
47
51
|
}
|
|
48
52
|
export interface GetTagsResult {
|
|
49
53
|
tags: Tag[];
|
|
50
54
|
totalCount: number;
|
|
51
55
|
}
|
|
56
|
+
export declare const requiredSearchTagsByUserParamsAttributes: string[];
|
|
57
|
+
export declare const oneRequiredSearchTagsByUserParamsAttributes: string[];
|
|
58
|
+
export interface SearchTagsByUserParams extends OptionalReportPagination {
|
|
59
|
+
filters: {
|
|
60
|
+
clientId: number;
|
|
61
|
+
userId?: string;
|
|
62
|
+
userNumberId?: number;
|
|
63
|
+
metadata?: Record<string, any>;
|
|
64
|
+
};
|
|
65
|
+
}
|
package/dist/types/tag.js
CHANGED
|
@@ -7,4 +7,9 @@ export const requiredUpdateTagParamsAttributes = [
|
|
|
7
7
|
];
|
|
8
8
|
export const requiredDeleteTagParamsAttributes = ['clientId', 'tagId', 'deletedBy'];
|
|
9
9
|
export const requiredSearchTagsParamsAttributes = ['filters.clientId'];
|
|
10
|
+
export const requiredSearchTagsByUserParamsAttributes = ['filters.clientId'];
|
|
11
|
+
export const oneRequiredSearchTagsByUserParamsAttributes = [
|
|
12
|
+
'filters.userId',
|
|
13
|
+
'filters.userNumberId',
|
|
14
|
+
];
|
|
10
15
|
//# sourceMappingURL=tag.js.map
|
package/dist/types/tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/types/tag.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../src/types/tag.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;AAWlF,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAA;AAatF,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,eAAe;IACf,kBAAkB;IAClB,mBAAmB;CACpB,CAAA;AAgBD,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;AAOnF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAgBtE,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAC5E,MAAM,CAAC,MAAM,2CAA2C,GAAG;IACzD,gBAAgB;IAChB,sBAAsB;CACvB,CAAA"}
|