common-tg-service 1.1.49 → 1.1.50
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/app.module.js +2 -0
- package/dist/app.module.js.map +1 -1
- package/dist/components/buffer-clients/buffer-client.service.js +14 -7
- package/dist/components/buffer-clients/buffer-client.service.js.map +1 -1
- package/dist/components/clients/client.controller.d.ts +88 -2
- package/dist/components/clients/client.controller.js +272 -13
- package/dist/components/clients/client.controller.js.map +1 -1
- package/dist/components/clients/client.module.js +7 -1
- package/dist/components/clients/client.module.js.map +1 -1
- package/dist/components/clients/client.service.d.ts +113 -1
- package/dist/components/clients/client.service.js +580 -34
- package/dist/components/clients/client.service.js.map +1 -1
- package/dist/components/clients/dto/create-client.dto.d.ts +3 -1
- package/dist/components/clients/dto/create-client.dto.js +12 -4
- package/dist/components/clients/dto/create-client.dto.js.map +1 -1
- package/dist/components/clients/dto/search-client.dto.d.ts +1 -1
- package/dist/components/clients/dto/search-client.dto.js +7 -8
- package/dist/components/clients/dto/search-client.dto.js.map +1 -1
- package/dist/components/clients/schemas/client.schema.d.ts +1 -1
- package/dist/components/clients/schemas/client.schema.js +5 -5
- package/dist/components/clients/schemas/client.schema.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/ip-management/client-ip-integration.controller.d.ts +21 -0
- package/dist/components/ip-management/client-ip-integration.controller.js +168 -0
- package/dist/components/ip-management/client-ip-integration.controller.js.map +1 -0
- package/dist/components/ip-management/client-ip-integration.service.d.ts +74 -0
- package/dist/components/ip-management/client-ip-integration.service.js +237 -0
- package/dist/components/ip-management/client-ip-integration.service.js.map +1 -0
- package/dist/components/ip-management/dto/assign-ip.dto.d.ts +12 -0
- package/dist/components/ip-management/dto/assign-ip.dto.js +56 -0
- package/dist/components/ip-management/dto/assign-ip.dto.js.map +1 -0
- package/dist/components/ip-management/dto/create-ip-mobile-mapping.dto.d.ts +6 -0
- package/dist/components/ip-management/dto/create-ip-mobile-mapping.dto.js +39 -0
- package/dist/components/ip-management/dto/create-ip-mobile-mapping.dto.js.map +1 -0
- package/dist/components/ip-management/dto/create-proxy-ip.dto.d.ts +9 -0
- package/dist/components/ip-management/dto/create-proxy-ip.dto.js +57 -0
- package/dist/components/ip-management/dto/create-proxy-ip.dto.js.map +1 -0
- package/dist/components/ip-management/dto/search-ip.dto.d.ts +16 -0
- package/dist/components/ip-management/dto/search-ip.dto.js +93 -0
- package/dist/components/ip-management/dto/search-ip.dto.js.map +1 -0
- package/dist/components/ip-management/dto/update-ip-mobile-mapping.dto.d.ts +5 -0
- package/dist/components/ip-management/dto/update-ip-mobile-mapping.dto.js +9 -0
- package/dist/components/ip-management/dto/update-ip-mobile-mapping.dto.js.map +1 -0
- package/dist/components/ip-management/dto/update-proxy-ip.dto.d.ts +5 -0
- package/dist/components/ip-management/dto/update-proxy-ip.dto.js +9 -0
- package/dist/components/ip-management/dto/update-proxy-ip.dto.js.map +1 -0
- package/dist/components/ip-management/index.d.ts +13 -0
- package/dist/components/ip-management/index.js +30 -0
- package/dist/components/ip-management/index.js.map +1 -0
- package/dist/components/ip-management/ip-management.controller.d.ts +45 -0
- package/dist/components/ip-management/ip-management.controller.js +249 -0
- package/dist/components/ip-management/ip-management.controller.js.map +1 -0
- package/dist/components/ip-management/ip-management.module.d.ts +2 -0
- package/dist/components/ip-management/ip-management.module.js +38 -0
- package/dist/components/ip-management/ip-management.module.js.map +1 -0
- package/dist/components/ip-management/ip-management.service.d.ts +41 -0
- package/dist/components/ip-management/ip-management.service.js +211 -0
- package/dist/components/ip-management/ip-management.service.js.map +1 -0
- package/dist/components/ip-management/schemas/ip-mobile-mapping.schema.d.ts +17 -0
- package/dist/components/ip-management/schemas/ip-mobile-mapping.schema.js +56 -0
- package/dist/components/ip-management/schemas/ip-mobile-mapping.schema.js.map +1 -0
- package/dist/components/ip-management/schemas/proxy-ip.schema.d.ts +21 -0
- package/dist/components/ip-management/schemas/proxy-ip.schema.js +76 -0
- package/dist/components/ip-management/schemas/proxy-ip.schema.js.map +1 -0
- package/dist/components/promote-clients/dto/create-promote-client.dto.d.ts +4 -0
- package/dist/components/promote-clients/dto/create-promote-client.dto.js +42 -0
- package/dist/components/promote-clients/dto/create-promote-client.dto.js.map +1 -1
- package/dist/components/promote-clients/dto/search-promote-client.dto.js +1 -0
- package/dist/components/promote-clients/dto/search-promote-client.dto.js.map +1 -1
- package/dist/components/promote-clients/migration.service.d.ts +50 -0
- package/dist/components/promote-clients/migration.service.js +280 -0
- package/dist/components/promote-clients/migration.service.js.map +1 -0
- package/dist/components/promote-clients/promote-client.controller.d.ts +55 -2
- package/dist/components/promote-clients/promote-client.controller.js +272 -8
- package/dist/components/promote-clients/promote-client.controller.js.map +1 -1
- package/dist/components/promote-clients/promote-client.module.js +4 -3
- package/dist/components/promote-clients/promote-client.module.js.map +1 -1
- package/dist/components/promote-clients/promote-client.service.d.ts +49 -2
- package/dist/components/promote-clients/promote-client.service.js +418 -107
- package/dist/components/promote-clients/promote-client.service.js.map +1 -1
- package/dist/components/promote-clients/schemas/promote-client.schema.d.ts +4 -0
- package/dist/components/promote-clients/schemas/promote-client.schema.js +17 -0
- package/dist/components/promote-clients/schemas/promote-client.schema.js.map +1 -1
- package/dist/components/session-manager/session.controller.js +10 -15
- package/dist/components/session-manager/session.controller.js.map +1 -1
- package/dist/migrations/migrate-promote-clients-round-robin.d.ts +35 -0
- package/dist/migrations/migrate-promote-clients-round-robin.js +271 -0
- package/dist/migrations/migrate-promote-clients-round-robin.js.map +1 -0
- package/dist/migrations/migration.module.d.ts +2 -0
- package/dist/migrations/migration.module.js +28 -0
- package/dist/migrations/migration.module.js.map +1 -0
- package/dist/migrations/test-round-robin.d.ts +7 -0
- package/dist/migrations/test-round-robin.js +112 -0
- package/dist/migrations/test-round-robin.js.map +1 -0
- package/dist/migrations/validate-promote-clients.d.ts +21 -0
- package/dist/migrations/validate-promote-clients.js +182 -0
- package/dist/migrations/validate-promote-clients.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/app.module.js
CHANGED
|
@@ -33,6 +33,7 @@ const timestamp_module_1 = require("./components/timestamps/timestamp.module");
|
|
|
33
33
|
const dynamic_data_module_1 = require("./components/dynamic-data/dynamic-data.module");
|
|
34
34
|
const memory_cleanup_service_1 = require("./memory-cleanup.service");
|
|
35
35
|
const session_manager_1 = require("./components/session-manager");
|
|
36
|
+
const ip_management_module_1 = require("./components/ip-management/ip-management.module");
|
|
36
37
|
let AppModule = class AppModule {
|
|
37
38
|
configure(consumer) {
|
|
38
39
|
consumer.apply(logger_middleware_1.LoggerMiddleware).forRoutes('*');
|
|
@@ -47,6 +48,7 @@ exports.AppModule = AppModule = __decorate([
|
|
|
47
48
|
active_channels_module_1.ActiveChannelsModule,
|
|
48
49
|
client_module_1.ClientModule,
|
|
49
50
|
session_manager_1.SessionModule,
|
|
51
|
+
ip_management_module_1.IpManagementModule,
|
|
50
52
|
user_data_module_1.UserDataModule,
|
|
51
53
|
users_module_1.UsersModule,
|
|
52
54
|
buffer_client_module_1.BufferClientModule,
|
package/dist/app.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwE;AACxE,kEAA8D;AAC9D,8EAAyE;AACzE,sEAAkE;AAClE,2EAAuE;AACvE,2FAAsF;AACtF,gGAA2F;AAC3F,iGAA4F;AAC5F,4EAAwE;AACxE,2EAAuE;AACvE,qDAAiD;AACjD,uEAAmE;AACnE,mEAA+D;AAC/D,wEAAkE;AAClE,uFAAiF;AACjF,gEAA4D;AAC5D,mEAA+D;AAC/D,wFAAmF;AACnF,8FAAyF;AACzF,6EAAwE;AACxE,qFAAiF;AACjF,sEAAkE;AAClE,+EAA2E;AAC3E,uFAAkF;AAClF,qEAAgE;AAChE,kEAA6D;
|
|
1
|
+
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwE;AACxE,kEAA8D;AAC9D,8EAAyE;AACzE,sEAAkE;AAClE,2EAAuE;AACvE,2FAAsF;AACtF,gGAA2F;AAC3F,iGAA4F;AAC5F,4EAAwE;AACxE,2EAAuE;AACvE,qDAAiD;AACjD,uEAAmE;AACnE,mEAA+D;AAC/D,wEAAkE;AAClE,uFAAiF;AACjF,gEAA4D;AAC5D,mEAA+D;AAC/D,wFAAmF;AACnF,8FAAyF;AACzF,6EAAwE;AACxE,qFAAiF;AACjF,sEAAkE;AAClE,+EAA2E;AAC3E,uFAAkF;AAClF,qEAAgE;AAChE,kEAA6D;AAC7D,0FAAqF;AA6C9E,IAAM,SAAS,GAAf,MAAM,SAAS;IACpB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,oCAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AAJY,8BAAS;oBAAT,SAAS;IA3CrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,wBAAU;YACV,gCAAc;YACd,6CAAoB;YACpB,4BAAY;YACZ,+BAAa;YACb,yCAAkB;YAClB,iCAAc;YACd,0BAAW;YACX,yCAAkB;YAClB,6CAAoB;YACpB,gCAAc;YACd,2CAAmB;YACnB,0BAAW;YACX,4BAAW;YACX,sCAAgB;YAChB,uCAAiB;YACjB,wBAAU;YACV,0BAAW;YACX,iCAAc;YACd,sCAAiB;YACjB,4BAAY;YACZ,kCAAe;YACf,uCAAiB;SAClB;QACD,SAAS,EAAE,CAAC,6CAAoB,CAAC;QACjC,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,OAAO,EAAE;YACP,gCAAc;YACd,6CAAoB;YACpB,4BAAY;YACZ,iCAAc;YACd,0BAAW;YACX,yCAAkB;YAClB,6CAAoB;YACpB,gCAAc;YACd,2CAAmB;YACnB,iCAAc;YACd,sCAAiB;YACjB,kCAAe;SAChB;KACF,CAAC;GACW,SAAS,CAIrB"}
|
|
@@ -148,7 +148,7 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
|
|
|
148
148
|
this.clearLeaveChannelInterval();
|
|
149
149
|
await (0, Helpers_1.sleep)(2000);
|
|
150
150
|
const existingkeys = skipExisting ? [] : Array.from(this.joinChannelMap.keys());
|
|
151
|
-
const clients = await this.bufferClientModel.find({ channels: { "$lt": 350 }, mobile: { $nin: existingkeys } }).sort({ channels: 1 }).limit(
|
|
151
|
+
const clients = await this.bufferClientModel.find({ channels: { "$lt": 350 }, mobile: { $nin: existingkeys } }).sort({ channels: 1 }).limit(4);
|
|
152
152
|
this.logger.debug(`Found ${clients.length} clients to process for joining channels`);
|
|
153
153
|
if (clients.length > 0) {
|
|
154
154
|
for (const document of clients) {
|
|
@@ -404,8 +404,12 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
|
|
|
404
404
|
}
|
|
405
405
|
const clients = await this.clientService.findAll();
|
|
406
406
|
const clientMobiles = clients.map(client => client?.mobile);
|
|
407
|
-
const
|
|
408
|
-
|
|
407
|
+
const allPromoteMobiles = [];
|
|
408
|
+
for (const client of clients) {
|
|
409
|
+
const clientPromoteMobiles = await this.clientService.getPromoteMobiles(client.clientId);
|
|
410
|
+
allPromoteMobiles.push(...clientPromoteMobiles);
|
|
411
|
+
}
|
|
412
|
+
if (!allPromoteMobiles.includes(mobile) && !clientMobiles.includes(mobile)) {
|
|
409
413
|
try {
|
|
410
414
|
const telegramClient = await connection_manager_1.connectionManager.getClient(mobile, { autoDisconnect: false });
|
|
411
415
|
await telegramClient.set2fa();
|
|
@@ -455,10 +459,13 @@ let BufferClientService = BufferClientService_1 = class BufferClientService {
|
|
|
455
459
|
}
|
|
456
460
|
const clients = await this.clientService.findAll();
|
|
457
461
|
const promoteclients = await this.promoteClientService.findAll();
|
|
458
|
-
const
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
+
const clientMainMobiles = clients.map(c => c.mobile);
|
|
463
|
+
const allPromoteMobiles = [];
|
|
464
|
+
for (const client of clients) {
|
|
465
|
+
const clientPromoteMobiles = await this.clientService.getPromoteMobiles(client.clientId);
|
|
466
|
+
allPromoteMobiles.push(...clientPromoteMobiles);
|
|
467
|
+
}
|
|
468
|
+
const clientIds = [...clientMainMobiles, ...allPromoteMobiles].filter(Boolean);
|
|
462
469
|
const promoteclientIds = promoteclients.map(c => c.mobile);
|
|
463
470
|
const today = new Date().toISOString().split('T')[0];
|
|
464
471
|
const toProcess = bufferclients.filter(doc => !clientIds.includes(doc.mobile) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer-client.service.js","sourceRoot":"","sources":["../../../src/components/buffer-clients/buffer-client.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"buffer-client.service.js","sourceRoot":"","sources":["../../../src/components/buffer-clients/buffer-client.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,23 @@ export declare class ClientController {
|
|
|
8
8
|
constructor(clientService: ClientService);
|
|
9
9
|
create(createClientDto: CreateClientDto): Promise<Client>;
|
|
10
10
|
search(query: SearchClientDto): Promise<Client[]>;
|
|
11
|
+
searchByPromoteMobile(mobile: string): Promise<{
|
|
12
|
+
clients: Client[];
|
|
13
|
+
matches: Array<{
|
|
14
|
+
clientId: string;
|
|
15
|
+
mobile: string;
|
|
16
|
+
}>;
|
|
17
|
+
searchedMobile: string;
|
|
18
|
+
}>;
|
|
19
|
+
enhancedSearch(query: any): Promise<{
|
|
20
|
+
clients: Client[];
|
|
21
|
+
searchType: string;
|
|
22
|
+
promoteMobileMatches?: Array<{
|
|
23
|
+
clientId: string;
|
|
24
|
+
mobile: string;
|
|
25
|
+
}>;
|
|
26
|
+
totalResults: number;
|
|
27
|
+
}>;
|
|
11
28
|
updateClient(clientId: string): Promise<string>;
|
|
12
29
|
findAllMasked(): Promise<Partial<Client>[]>;
|
|
13
30
|
findAll(): Promise<Client[]>;
|
|
@@ -16,6 +33,75 @@ export declare class ClientController {
|
|
|
16
33
|
update(clientId: string, updateClientDto: UpdateClientDto): Promise<Client>;
|
|
17
34
|
remove(clientId: string): Promise<Client>;
|
|
18
35
|
executeQuery(requestBody: any): Promise<any>;
|
|
19
|
-
addPromoteMobile(clientId: string,
|
|
20
|
-
|
|
36
|
+
addPromoteMobile(clientId: string, body: {
|
|
37
|
+
mobileNumber: string;
|
|
38
|
+
}): Promise<Client>;
|
|
39
|
+
removePromoteMobile(clientId: string, body: {
|
|
40
|
+
mobileNumber: string;
|
|
41
|
+
}): Promise<Client>;
|
|
42
|
+
getClientIpInfo(clientId: string): Promise<{
|
|
43
|
+
clientId: string;
|
|
44
|
+
mobiles: {
|
|
45
|
+
mainMobile?: {
|
|
46
|
+
mobile: string;
|
|
47
|
+
hasIp: boolean;
|
|
48
|
+
ipAddress?: string;
|
|
49
|
+
};
|
|
50
|
+
promoteMobiles: {
|
|
51
|
+
mobile: string;
|
|
52
|
+
hasIp: boolean;
|
|
53
|
+
ipAddress?: string;
|
|
54
|
+
}[];
|
|
55
|
+
};
|
|
56
|
+
needingAssignment: {
|
|
57
|
+
mainMobile?: string;
|
|
58
|
+
promoteMobiles: string[];
|
|
59
|
+
};
|
|
60
|
+
}>;
|
|
61
|
+
getIpForMobile(mobile: string, clientId?: string): Promise<{
|
|
62
|
+
mobile: string;
|
|
63
|
+
ipAddress: string | null;
|
|
64
|
+
hasAssignment: boolean;
|
|
65
|
+
}>;
|
|
66
|
+
autoAssignIpsToClient(clientId: string): Promise<any>;
|
|
67
|
+
getMobilesNeedingIpAssignment(clientId: string): Promise<{
|
|
68
|
+
clientId: string;
|
|
69
|
+
mobilesNeedingIps: {
|
|
70
|
+
mainMobile?: string;
|
|
71
|
+
promoteMobiles: string[];
|
|
72
|
+
};
|
|
73
|
+
summary: {
|
|
74
|
+
totalNeedingAssignment: number;
|
|
75
|
+
mainMobileNeedsIp: boolean;
|
|
76
|
+
promoteMobilesNeedingIp: number;
|
|
77
|
+
};
|
|
78
|
+
}>;
|
|
79
|
+
releaseIpFromMobile(mobile: string): Promise<{
|
|
80
|
+
success: boolean;
|
|
81
|
+
message: string;
|
|
82
|
+
}>;
|
|
83
|
+
checkMigrationStatus(): Promise<{
|
|
84
|
+
isLegacyData: boolean;
|
|
85
|
+
legacyClientsCount: number;
|
|
86
|
+
modernClientsCount: number;
|
|
87
|
+
totalPromoteClients: number;
|
|
88
|
+
recommendations: string[];
|
|
89
|
+
}>;
|
|
90
|
+
migratePromoteMobiles(): Promise<{
|
|
91
|
+
success: boolean;
|
|
92
|
+
message: string;
|
|
93
|
+
results: any;
|
|
94
|
+
}>;
|
|
95
|
+
verifyMigration(): Promise<{
|
|
96
|
+
success: boolean;
|
|
97
|
+
message: string;
|
|
98
|
+
verification: any;
|
|
99
|
+
}>;
|
|
100
|
+
rollbackMigration(body: {
|
|
101
|
+
backupCollectionName: string;
|
|
102
|
+
}): Promise<{
|
|
103
|
+
success: boolean;
|
|
104
|
+
message: string;
|
|
105
|
+
restored: number;
|
|
106
|
+
}>;
|
|
21
107
|
}
|
|
@@ -39,6 +39,33 @@ let ClientController = class ClientController {
|
|
|
39
39
|
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
+
async searchByPromoteMobile(mobile) {
|
|
43
|
+
try {
|
|
44
|
+
const result = await this.clientService.enhancedSearch({ promoteMobileNumber: mobile });
|
|
45
|
+
return {
|
|
46
|
+
clients: result.clients,
|
|
47
|
+
matches: result.promoteMobileMatches || [],
|
|
48
|
+
searchedMobile: mobile
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async enhancedSearch(query) {
|
|
56
|
+
try {
|
|
57
|
+
const result = await this.clientService.enhancedSearch(query);
|
|
58
|
+
return {
|
|
59
|
+
clients: result.clients,
|
|
60
|
+
searchType: result.searchType,
|
|
61
|
+
promoteMobileMatches: result.promoteMobileMatches,
|
|
62
|
+
totalResults: result.clients.length
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
42
69
|
async updateClient(clientId) {
|
|
43
70
|
this.clientService.updateClient(clientId);
|
|
44
71
|
return "Update client initiated";
|
|
@@ -100,20 +127,136 @@ let ClientController = class ClientController {
|
|
|
100
127
|
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
101
128
|
}
|
|
102
129
|
}
|
|
103
|
-
async addPromoteMobile(clientId,
|
|
130
|
+
async addPromoteMobile(clientId, body) {
|
|
131
|
+
return this.clientService.addPromoteMobile(clientId, body.mobileNumber);
|
|
132
|
+
}
|
|
133
|
+
async removePromoteMobile(clientId, body) {
|
|
104
134
|
try {
|
|
105
|
-
return await this.clientService.
|
|
135
|
+
return await this.clientService.removePromoteMobile(clientId, body.mobileNumber);
|
|
106
136
|
}
|
|
107
137
|
catch (error) {
|
|
108
138
|
throw new common_1.HttpException(error.message, common_1.HttpStatus.NOT_FOUND);
|
|
109
139
|
}
|
|
110
140
|
}
|
|
111
|
-
async
|
|
141
|
+
async getClientIpInfo(clientId) {
|
|
112
142
|
try {
|
|
113
|
-
|
|
143
|
+
const client = await this.clientService.findOne(clientId);
|
|
144
|
+
const needingAssignment = await this.clientService.getMobilesNeedingIpAssignment(clientId);
|
|
145
|
+
const result = {
|
|
146
|
+
clientId,
|
|
147
|
+
mobiles: {
|
|
148
|
+
mainMobile: undefined,
|
|
149
|
+
promoteMobiles: []
|
|
150
|
+
},
|
|
151
|
+
needingAssignment
|
|
152
|
+
};
|
|
153
|
+
if (client.mobile) {
|
|
154
|
+
const hasIp = await this.clientService.hasMobileAssignedIp(client.mobile);
|
|
155
|
+
const ipAddress = hasIp ? await this.clientService.getIpForMobile(client.mobile) : undefined;
|
|
156
|
+
result.mobiles.mainMobile = {
|
|
157
|
+
mobile: client.mobile,
|
|
158
|
+
hasIp,
|
|
159
|
+
ipAddress: ipAddress || undefined
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
const promoteMobiles = await this.clientService.getPromoteMobiles(clientId);
|
|
163
|
+
for (const mobile of promoteMobiles) {
|
|
164
|
+
const hasIp = await this.clientService.hasMobileAssignedIp(mobile);
|
|
165
|
+
const ipAddress = hasIp ? await this.clientService.getIpForMobile(mobile) : undefined;
|
|
166
|
+
result.mobiles.promoteMobiles.push({
|
|
167
|
+
mobile,
|
|
168
|
+
hasIp,
|
|
169
|
+
ipAddress: ipAddress || undefined
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return result;
|
|
114
173
|
}
|
|
115
174
|
catch (error) {
|
|
116
|
-
throw new common_1.HttpException(error.message, common_1.HttpStatus.
|
|
175
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
async getIpForMobile(mobile, clientId) {
|
|
179
|
+
try {
|
|
180
|
+
const ipAddress = await this.clientService.getIpForMobile(mobile, clientId);
|
|
181
|
+
return {
|
|
182
|
+
mobile,
|
|
183
|
+
ipAddress,
|
|
184
|
+
hasAssignment: ipAddress !== null
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
async autoAssignIpsToClient(clientId) {
|
|
192
|
+
try {
|
|
193
|
+
const result = await this.clientService.autoAssignIpsToClient(clientId);
|
|
194
|
+
return {
|
|
195
|
+
success: true,
|
|
196
|
+
message: `Auto-assigned IPs to ${result.summary.assigned}/${result.summary.totalMobiles} mobiles`,
|
|
197
|
+
data: result
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
async getMobilesNeedingIpAssignment(clientId) {
|
|
205
|
+
try {
|
|
206
|
+
const mobilesNeedingIps = await this.clientService.getMobilesNeedingIpAssignment(clientId);
|
|
207
|
+
const totalNeedingAssignment = (mobilesNeedingIps.mainMobile ? 1 : 0) + mobilesNeedingIps.promoteMobiles.length;
|
|
208
|
+
return {
|
|
209
|
+
clientId,
|
|
210
|
+
mobilesNeedingIps,
|
|
211
|
+
summary: {
|
|
212
|
+
totalNeedingAssignment,
|
|
213
|
+
mainMobileNeedsIp: !!mobilesNeedingIps.mainMobile,
|
|
214
|
+
promoteMobilesNeedingIp: mobilesNeedingIps.promoteMobiles.length
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
async releaseIpFromMobile(mobile) {
|
|
223
|
+
try {
|
|
224
|
+
return await this.clientService.releaseIpFromMobile(mobile);
|
|
225
|
+
}
|
|
226
|
+
catch (error) {
|
|
227
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.BAD_REQUEST);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
async checkMigrationStatus() {
|
|
231
|
+
try {
|
|
232
|
+
return await this.clientService.checkPromoteMobileMigrationStatus();
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
async migratePromoteMobiles() {
|
|
239
|
+
try {
|
|
240
|
+
return await this.clientService.migratePromoteMobilesToClientId();
|
|
241
|
+
}
|
|
242
|
+
catch (error) {
|
|
243
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
async verifyMigration() {
|
|
247
|
+
try {
|
|
248
|
+
return await this.clientService.verifyPromoteMobileMigration();
|
|
249
|
+
}
|
|
250
|
+
catch (error) {
|
|
251
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
async rollbackMigration(body) {
|
|
255
|
+
try {
|
|
256
|
+
return await this.clientService.rollbackPromoteMobileMigration(body.backupCollectionName);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
throw new common_1.HttpException(error.message, common_1.HttpStatus.INTERNAL_SERVER_ERROR);
|
|
117
260
|
}
|
|
118
261
|
}
|
|
119
262
|
};
|
|
@@ -141,6 +284,27 @@ __decorate([
|
|
|
141
284
|
__metadata("design:paramtypes", [search_client_dto_1.SearchClientDto]),
|
|
142
285
|
__metadata("design:returntype", Promise)
|
|
143
286
|
], ClientController.prototype, "search", null);
|
|
287
|
+
__decorate([
|
|
288
|
+
(0, common_1.Get)('search/promote-mobile'),
|
|
289
|
+
(0, swagger_1.ApiOperation)({ summary: 'Search clients by promote mobile numbers' }),
|
|
290
|
+
(0, swagger_1.ApiQuery)({ name: 'mobile', required: true, description: 'Promote mobile number to search for' }),
|
|
291
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Clients with matching promote mobiles returned successfully.' }),
|
|
292
|
+
__param(0, (0, common_1.Query)('mobile')),
|
|
293
|
+
__metadata("design:type", Function),
|
|
294
|
+
__metadata("design:paramtypes", [String]),
|
|
295
|
+
__metadata("design:returntype", Promise)
|
|
296
|
+
], ClientController.prototype, "searchByPromoteMobile", null);
|
|
297
|
+
__decorate([
|
|
298
|
+
(0, common_1.Get)('search/enhanced'),
|
|
299
|
+
(0, swagger_1.ApiOperation)({ summary: 'Enhanced search with promote mobile support' }),
|
|
300
|
+
(0, swagger_1.ApiQuery)({ name: 'promoteMobileNumber', required: false, description: 'Promote mobile number to search for' }),
|
|
301
|
+
(0, swagger_1.ApiQuery)({ name: 'hasPromoteMobiles', required: false, description: 'Filter by clients that have promote mobiles (true/false)' }),
|
|
302
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Enhanced search results with promote mobile context.' }),
|
|
303
|
+
__param(0, (0, common_1.Query)()),
|
|
304
|
+
__metadata("design:type", Function),
|
|
305
|
+
__metadata("design:paramtypes", [Object]),
|
|
306
|
+
__metadata("design:returntype", Promise)
|
|
307
|
+
], ClientController.prototype, "enhancedSearch", null);
|
|
144
308
|
__decorate([
|
|
145
309
|
(0, common_1.Get)('updateClient/:clientId'),
|
|
146
310
|
(0, swagger_1.ApiOperation)({ summary: 'Get user data by ID' }),
|
|
@@ -218,30 +382,125 @@ __decorate([
|
|
|
218
382
|
], ClientController.prototype, "executeQuery", null);
|
|
219
383
|
__decorate([
|
|
220
384
|
(0, common_1.Patch)(':clientId/promoteMobile/add'),
|
|
221
|
-
(0, swagger_1.ApiOperation)({ summary: 'Add a mobile number
|
|
385
|
+
(0, swagger_1.ApiOperation)({ summary: 'Add a mobile number as a promote mobile for a specific client' }),
|
|
222
386
|
(0, swagger_1.ApiParam)({ name: 'clientId', description: 'The unique identifier of the client' }),
|
|
223
387
|
(0, swagger_1.ApiBody)({ schema: { properties: { mobileNumber: { type: 'string', example: '916265240911' } } } }),
|
|
224
|
-
(0, swagger_1.ApiResponse)({ status: 200, description: 'Mobile number
|
|
388
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Mobile number assigned as promote mobile successfully.' }),
|
|
225
389
|
(0, swagger_1.ApiResponse)({ status: 404, description: 'Client not found.' }),
|
|
226
390
|
__param(0, (0, common_1.Param)('clientId')),
|
|
227
|
-
__param(1, (0, common_1.Body)(
|
|
391
|
+
__param(1, (0, common_1.Body)()),
|
|
228
392
|
__metadata("design:type", Function),
|
|
229
|
-
__metadata("design:paramtypes", [String,
|
|
393
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
230
394
|
__metadata("design:returntype", Promise)
|
|
231
395
|
], ClientController.prototype, "addPromoteMobile", null);
|
|
232
396
|
__decorate([
|
|
233
397
|
(0, common_1.Patch)(':clientId/promoteMobile/remove'),
|
|
234
|
-
(0, swagger_1.ApiOperation)({ summary: 'Remove a mobile
|
|
398
|
+
(0, swagger_1.ApiOperation)({ summary: 'Remove a promote mobile assignment from a specific client' }),
|
|
235
399
|
(0, swagger_1.ApiParam)({ name: 'clientId', description: 'The unique identifier of the client' }),
|
|
236
400
|
(0, swagger_1.ApiBody)({ schema: { properties: { mobileNumber: { type: 'string', example: '916265240911' } } } }),
|
|
237
|
-
(0, swagger_1.ApiResponse)({ status: 200, description: '
|
|
401
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Promote mobile assignment removed successfully.' }),
|
|
238
402
|
(0, swagger_1.ApiResponse)({ status: 404, description: 'Client not found.' }),
|
|
239
403
|
__param(0, (0, common_1.Param)('clientId')),
|
|
240
|
-
__param(1, (0, common_1.Body)(
|
|
404
|
+
__param(1, (0, common_1.Body)()),
|
|
241
405
|
__metadata("design:type", Function),
|
|
242
|
-
__metadata("design:paramtypes", [String,
|
|
406
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
243
407
|
__metadata("design:returntype", Promise)
|
|
244
408
|
], ClientController.prototype, "removePromoteMobile", null);
|
|
409
|
+
__decorate([
|
|
410
|
+
(0, common_1.Get)(':clientId/ip-info'),
|
|
411
|
+
(0, swagger_1.ApiOperation)({ summary: 'Get IP assignment information for a client' }),
|
|
412
|
+
(0, swagger_1.ApiParam)({ name: 'clientId', description: 'Client ID' }),
|
|
413
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'IP information retrieved successfully' }),
|
|
414
|
+
__param(0, (0, common_1.Param)('clientId')),
|
|
415
|
+
__metadata("design:type", Function),
|
|
416
|
+
__metadata("design:paramtypes", [String]),
|
|
417
|
+
__metadata("design:returntype", Promise)
|
|
418
|
+
], ClientController.prototype, "getClientIpInfo", null);
|
|
419
|
+
__decorate([
|
|
420
|
+
(0, common_1.Get)('mobile/:mobile/ip'),
|
|
421
|
+
(0, swagger_1.ApiOperation)({ summary: 'Get IP address for a specific mobile number' }),
|
|
422
|
+
(0, swagger_1.ApiParam)({ name: 'mobile', description: 'Mobile number' }),
|
|
423
|
+
(0, swagger_1.ApiQuery)({ name: 'clientId', required: false, description: 'Client ID for context' }),
|
|
424
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'IP address retrieved successfully' }),
|
|
425
|
+
__param(0, (0, common_1.Param)('mobile')),
|
|
426
|
+
__param(1, (0, common_1.Query)('clientId')),
|
|
427
|
+
__metadata("design:type", Function),
|
|
428
|
+
__metadata("design:paramtypes", [String, String]),
|
|
429
|
+
__metadata("design:returntype", Promise)
|
|
430
|
+
], ClientController.prototype, "getIpForMobile", null);
|
|
431
|
+
__decorate([
|
|
432
|
+
(0, common_1.Post)(':clientId/auto-assign-ips'),
|
|
433
|
+
(0, swagger_1.ApiOperation)({ summary: 'Auto-assign IPs to all client mobile numbers (Simplified System)' }),
|
|
434
|
+
(0, swagger_1.ApiParam)({ name: 'clientId', description: 'Client ID' }),
|
|
435
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'IPs assigned successfully' }),
|
|
436
|
+
(0, swagger_1.ApiResponse)({ status: 400, description: 'Assignment failed' }),
|
|
437
|
+
__param(0, (0, common_1.Param)('clientId')),
|
|
438
|
+
__metadata("design:type", Function),
|
|
439
|
+
__metadata("design:paramtypes", [String]),
|
|
440
|
+
__metadata("design:returntype", Promise)
|
|
441
|
+
], ClientController.prototype, "autoAssignIpsToClient", null);
|
|
442
|
+
__decorate([
|
|
443
|
+
(0, common_1.Get)(':clientId/mobiles-needing-ips'),
|
|
444
|
+
(0, swagger_1.ApiOperation)({ summary: 'Get mobile numbers that need IP assignment' }),
|
|
445
|
+
(0, swagger_1.ApiParam)({ name: 'clientId', description: 'Client ID' }),
|
|
446
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Mobile numbers needing IP assignment' }),
|
|
447
|
+
__param(0, (0, common_1.Param)('clientId')),
|
|
448
|
+
__metadata("design:type", Function),
|
|
449
|
+
__metadata("design:paramtypes", [String]),
|
|
450
|
+
__metadata("design:returntype", Promise)
|
|
451
|
+
], ClientController.prototype, "getMobilesNeedingIpAssignment", null);
|
|
452
|
+
__decorate([
|
|
453
|
+
(0, common_1.Delete)('mobile/:mobile/ip'),
|
|
454
|
+
(0, swagger_1.ApiOperation)({ summary: 'Release IP from a mobile number' }),
|
|
455
|
+
(0, swagger_1.ApiParam)({ name: 'mobile', description: 'Mobile number to release IP from' }),
|
|
456
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'IP released successfully' }),
|
|
457
|
+
__param(0, (0, common_1.Param)('mobile')),
|
|
458
|
+
__metadata("design:type", Function),
|
|
459
|
+
__metadata("design:paramtypes", [String]),
|
|
460
|
+
__metadata("design:returntype", Promise)
|
|
461
|
+
], ClientController.prototype, "releaseIpFromMobile", null);
|
|
462
|
+
__decorate([
|
|
463
|
+
(0, common_1.Get)('migration/status'),
|
|
464
|
+
(0, swagger_1.ApiOperation)({ summary: 'Check promote mobile migration status' }),
|
|
465
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Migration status retrieved successfully' }),
|
|
466
|
+
__metadata("design:type", Function),
|
|
467
|
+
__metadata("design:paramtypes", []),
|
|
468
|
+
__metadata("design:returntype", Promise)
|
|
469
|
+
], ClientController.prototype, "checkMigrationStatus", null);
|
|
470
|
+
__decorate([
|
|
471
|
+
(0, common_1.Post)('migration/migrate'),
|
|
472
|
+
(0, swagger_1.ApiOperation)({ summary: 'Migrate promote mobiles from array to clientId reference' }),
|
|
473
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Migration completed successfully' }),
|
|
474
|
+
__metadata("design:type", Function),
|
|
475
|
+
__metadata("design:paramtypes", []),
|
|
476
|
+
__metadata("design:returntype", Promise)
|
|
477
|
+
], ClientController.prototype, "migratePromoteMobiles", null);
|
|
478
|
+
__decorate([
|
|
479
|
+
(0, common_1.Post)('migration/verify'),
|
|
480
|
+
(0, swagger_1.ApiOperation)({ summary: 'Verify promote mobile migration' }),
|
|
481
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Migration verification completed' }),
|
|
482
|
+
__metadata("design:type", Function),
|
|
483
|
+
__metadata("design:paramtypes", []),
|
|
484
|
+
__metadata("design:returntype", Promise)
|
|
485
|
+
], ClientController.prototype, "verifyMigration", null);
|
|
486
|
+
__decorate([
|
|
487
|
+
(0, common_1.Post)('migration/rollback'),
|
|
488
|
+
(0, swagger_1.ApiOperation)({ summary: 'Rollback promote mobile migration' }),
|
|
489
|
+
(0, swagger_1.ApiBody)({
|
|
490
|
+
schema: {
|
|
491
|
+
type: 'object',
|
|
492
|
+
properties: {
|
|
493
|
+
backupCollectionName: { type: 'string', description: 'Name of backup collection to restore from' }
|
|
494
|
+
},
|
|
495
|
+
required: ['backupCollectionName']
|
|
496
|
+
}
|
|
497
|
+
}),
|
|
498
|
+
(0, swagger_1.ApiResponse)({ status: 200, description: 'Migration rollback completed' }),
|
|
499
|
+
__param(0, (0, common_1.Body)()),
|
|
500
|
+
__metadata("design:type", Function),
|
|
501
|
+
__metadata("design:paramtypes", [Object]),
|
|
502
|
+
__metadata("design:returntype", Promise)
|
|
503
|
+
], ClientController.prototype, "rollbackMigration", null);
|
|
245
504
|
exports.ClientController = ClientController = __decorate([
|
|
246
505
|
(0, swagger_1.ApiTags)('Clients'),
|
|
247
506
|
(0, common_1.Controller)('clients'),
|