@yolo-croket-dev/amqp-access 0.6.80-jun.1 → 0.6.80-jun.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/excel-upload-server/amqp.excel-upload-server.module.js +2 -0
  3. package/excel-upload-server/dto/naver-search-ad.modules/index.d.ts +1 -0
  4. package/excel-upload-server/dto/naver-search-ad.modules/index.js +17 -0
  5. package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/generate-naver-search-ad-excel.dto.d.ts +14 -0
  6. package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/generate-naver-search-ad-excel.dto.js +25 -0
  7. package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.d.ts +1 -0
  8. package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.js +17 -0
  9. package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.d.ts +1 -0
  10. package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.js +17 -0
  11. package/excel-upload-server/services/index.d.ts +1 -0
  12. package/excel-upload-server/services/index.js +1 -0
  13. package/excel-upload-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.d.ts +9 -0
  14. package/excel-upload-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.js +33 -0
  15. package/excel-upload-server/services/naver-search-ad.modules/index.d.ts +1 -0
  16. package/excel-upload-server/services/naver-search-ad.modules/index.js +17 -0
  17. package/order-server/amqp.order-server.module.js +2 -0
  18. package/order-server/dto/naver-search-ad.modules/index.d.ts +1 -0
  19. package/order-server/dto/naver-search-ad.modules/index.js +1 -0
  20. package/order-server/dto/naver-search-ad.modules/naver-search-ad/get-adgroup-list.dto.d.ts +30 -0
  21. package/order-server/dto/naver-search-ad.modules/naver-search-ad/get-adgroup-list.dto.js +29 -0
  22. package/order-server/dto/naver-search-ad.modules/naver-search-ad/get-campaign-list.dto.d.ts +23 -0
  23. package/order-server/dto/naver-search-ad.modules/naver-search-ad/get-campaign-list.dto.js +7 -0
  24. package/order-server/dto/naver-search-ad.modules/naver-search-ad/index.d.ts +2 -0
  25. package/order-server/dto/naver-search-ad.modules/naver-search-ad/index.js +18 -0
  26. package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.d.ts +1 -0
  27. package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.js +1 -0
  28. package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/run-naver-search-ad-excel-process.dto.d.ts +69 -0
  29. package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/run-naver-search-ad-excel-process.dto.js +125 -0
  30. package/order-server/services/naver-search-ad.modules/amqp.naver-search-ad.service.d.ts +10 -0
  31. package/order-server/services/naver-search-ad.modules/amqp.naver-search-ad.service.js +37 -0
  32. package/order-server/services/naver-search-ad.modules/index.d.ts +1 -0
  33. package/order-server/services/naver-search-ad.modules/index.js +1 -0
  34. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(npx tsc:*)"
5
+ ]
6
+ }
7
+ }
@@ -23,6 +23,7 @@ exports.AmqpExcelUploadServerModule = AmqpExcelUploadServerModule = __decorate([
23
23
  services_1.AmqpAdCenterStoreItemKeywordExcelService,
24
24
  services_1.AmqpAppBulkPushExcelService,
25
25
  services_1.AmqpLogElasticsearchService,
26
+ services_1.AmqpNaverSearchAdExcelService,
26
27
  ],
27
28
  exports: [
28
29
  services_1.AmqpStoreItemExcelService,
@@ -32,6 +33,7 @@ exports.AmqpExcelUploadServerModule = AmqpExcelUploadServerModule = __decorate([
32
33
  services_1.AmqpAdCenterStoreItemKeywordExcelService,
33
34
  services_1.AmqpAppBulkPushExcelService,
34
35
  services_1.AmqpLogElasticsearchService,
36
+ services_1.AmqpNaverSearchAdExcelService,
35
37
  ],
36
38
  })
37
39
  ], AmqpExcelUploadServerModule);
@@ -0,0 +1 @@
1
+ export * from './naver-search-ad-excel';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./naver-search-ad-excel"), exports);
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @author jun
3
+ * @description 네이버 검색 광고 엑셀 생성 요청 페이로드
4
+ */
5
+ export declare class GenerateNaverSearchAdExcelPayload {
6
+ naverSearchAdExcelId: string;
7
+ }
8
+ /**
9
+ * @description 네이버 검색 광고 엑셀 생성 결과
10
+ */
11
+ export interface GenerateNaverSearchAdExcelResult {
12
+ presignedUrl: string;
13
+ totalCount: number;
14
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GenerateNaverSearchAdExcelPayload = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * @author jun
16
+ * @description 네이버 검색 광고 엑셀 생성 요청 페이로드
17
+ */
18
+ class GenerateNaverSearchAdExcelPayload {
19
+ }
20
+ exports.GenerateNaverSearchAdExcelPayload = GenerateNaverSearchAdExcelPayload;
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_1.IsNotEmpty)(),
24
+ __metadata("design:type", String)
25
+ ], GenerateNaverSearchAdExcelPayload.prototype, "naverSearchAdExcelId", void 0);
@@ -0,0 +1 @@
1
+ export * from './generate-naver-search-ad-excel.dto';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./generate-naver-search-ad-excel.dto"), exports);
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./command"), exports);
@@ -4,3 +4,4 @@ export * from './amqp.brand-excel.service';
4
4
  export * from './amqp.ad-center-storeitem-keyword-excel.service';
5
5
  export * from './amqp.app-bulk-push-excel.service';
6
6
  export * from './amqp.log-elasticsearch.service';
7
+ export * from './naver-search-ad.modules';
@@ -20,3 +20,4 @@ __exportStar(require("./amqp.brand-excel.service"), exports);
20
20
  __exportStar(require("./amqp.ad-center-storeitem-keyword-excel.service"), exports);
21
21
  __exportStar(require("./amqp.app-bulk-push-excel.service"), exports);
22
22
  __exportStar(require("./amqp.log-elasticsearch.service"), exports);
23
+ __exportStar(require("./naver-search-ad.modules"), exports);
@@ -0,0 +1,9 @@
1
+ import { ClientProxy } from '@nestjs/microservices';
2
+ import { AbstractParam } from '@yolo-croket-dev/core/interfaces';
3
+ import { GenerateNaverSearchAdExcelPayload, GenerateNaverSearchAdExcelResult } from '../../dto/naver-search-ad.modules/naver-search-ad-excel';
4
+ export declare class AmqpNaverSearchAdExcelService {
5
+ private readonly client;
6
+ private readonly amqpManager;
7
+ constructor(client: ClientProxy);
8
+ generateNaverSearchAdExcel(payload: GenerateNaverSearchAdExcelPayload, param: AbstractParam): Promise<GenerateNaverSearchAdExcelResult>;
9
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AmqpNaverSearchAdExcelService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const microservices_1 = require("@nestjs/microservices");
18
+ const functions_1 = require("@yolo-croket-dev/core/functions");
19
+ let AmqpNaverSearchAdExcelService = class AmqpNaverSearchAdExcelService {
20
+ constructor(client) {
21
+ this.client = client;
22
+ this.amqpManager = new functions_1.AmqpManagement(this.client);
23
+ }
24
+ async generateNaverSearchAdExcel(payload, param) {
25
+ return this.amqpManager.call('네이버 검색 광고 엑셀 생성', 'naver-search-ad-excel.generate', payload, param, { isErrorThrowing: true });
26
+ }
27
+ };
28
+ exports.AmqpNaverSearchAdExcelService = AmqpNaverSearchAdExcelService;
29
+ exports.AmqpNaverSearchAdExcelService = AmqpNaverSearchAdExcelService = __decorate([
30
+ (0, common_1.Injectable)(),
31
+ __param(0, (0, common_1.Inject)('EXCEL_UPLOAD_SERVER_PROVIDER')),
32
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
33
+ ], AmqpNaverSearchAdExcelService);
@@ -0,0 +1 @@
1
+ export * from './amqp.naver-search-ad-excel.service';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./amqp.naver-search-ad-excel.service"), exports);
@@ -35,6 +35,7 @@ exports.AmqpOrderServerModule = AmqpOrderServerModule = __decorate([
35
35
  services_1.AmqpPurchasedInfoSabangService,
36
36
  services_1.AmqpPurchasedInfoCouponService,
37
37
  services_1.AmqpNaverSearchAdExcelService,
38
+ services_1.AmqpNaverSearchAdService,
38
39
  ],
39
40
  exports: [
40
41
  amqp_order_server_provider_1.OrderServerProvider,
@@ -55,6 +56,7 @@ exports.AmqpOrderServerModule = AmqpOrderServerModule = __decorate([
55
56
  services_1.AmqpPurchasedInfoSabangService,
56
57
  services_1.AmqpPurchasedInfoCouponService,
57
58
  services_1.AmqpNaverSearchAdExcelService,
59
+ services_1.AmqpNaverSearchAdService,
58
60
  ],
59
61
  })
60
62
  ], AmqpOrderServerModule);
@@ -1 +1,2 @@
1
1
  export * from './naver-search-ad-excel';
2
+ export * from './naver-search-ad';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./naver-search-ad-excel"), exports);
18
+ __exportStar(require("./naver-search-ad"), exports);
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @author jun
3
+ * @description 네이버 검색광고 광고그룹 리스트 조회 DTO
4
+ * @process 1. Payload 검증 → 2. 서비스 호출 → 3. 결과 반환
5
+ */
6
+ /**
7
+ * 광고그룹 리스트 조회 Payload
8
+ */
9
+ export declare class GetAdgroupListPayload {
10
+ /** 캠페인 ID */
11
+ nccCampaignId: string;
12
+ }
13
+ /**
14
+ * 광고그룹 정보
15
+ */
16
+ export interface AdgroupListItem {
17
+ /** 광고그룹 ID */
18
+ id: string;
19
+ /** 광고그룹 이름 */
20
+ name: string;
21
+ }
22
+ /**
23
+ * 광고그룹 리스트 조회 Result
24
+ */
25
+ export interface GetAdgroupListResult {
26
+ /** 광고그룹 리스트 */
27
+ adgroups: AdgroupListItem[];
28
+ /** 총 개수 */
29
+ totalCount: number;
30
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /**
3
+ * @author jun
4
+ * @description 네이버 검색광고 광고그룹 리스트 조회 DTO
5
+ * @process 1. Payload 검증 → 2. 서비스 호출 → 3. 결과 반환
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.GetAdgroupListPayload = void 0;
18
+ const class_validator_1 = require("class-validator");
19
+ /**
20
+ * 광고그룹 리스트 조회 Payload
21
+ */
22
+ class GetAdgroupListPayload {
23
+ }
24
+ exports.GetAdgroupListPayload = GetAdgroupListPayload;
25
+ __decorate([
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_validator_1.IsNotEmpty)(),
28
+ __metadata("design:type", String)
29
+ ], GetAdgroupListPayload.prototype, "nccCampaignId", void 0);
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @author jun
3
+ * @description 네이버 검색광고 캠페인 리스트 조회 DTO
4
+ * @process 1. 서비스 호출 → 2. 결과 반환
5
+ */
6
+ /**
7
+ * 캠페인 정보
8
+ */
9
+ export interface CampaignListItem {
10
+ /** 캠페인 ID */
11
+ id: string;
12
+ /** 캠페인 이름 */
13
+ name: string;
14
+ }
15
+ /**
16
+ * 캠페인 리스트 조회 Result
17
+ */
18
+ export interface GetCampaignListResult {
19
+ /** 캠페인 리스트 */
20
+ campaigns: CampaignListItem[];
21
+ /** 총 개수 */
22
+ totalCount: number;
23
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * @author jun
4
+ * @description 네이버 검색광고 캠페인 리스트 조회 DTO
5
+ * @process 1. 서비스 호출 → 2. 결과 반환
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from './get-adgroup-list.dto';
2
+ export * from './get-campaign-list.dto';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./get-adgroup-list.dto"), exports);
18
+ __exportStar(require("./get-campaign-list.dto"), exports);
@@ -1 +1,2 @@
1
1
  export * from './get-naver-search-ad-excel-data-list.dto';
2
+ export * from './run-naver-search-ad-excel-process.dto';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./get-naver-search-ad-excel-data-list.dto"), exports);
18
+ __exportStar(require("./run-naver-search-ad-excel-process.dto"), exports);
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @author jun
3
+ * @description 네이버 검색광고 엑셀 전체 프로세스 실행 DTO
4
+ * @process 1. Payload 검증 → 2. 서비스 호출 → 3. 결과 반환
5
+ */
6
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/aggregate" />
7
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/callback" />
8
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/collection" />
9
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/connection" />
10
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/cursor" />
11
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/document" />
12
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/error" />
13
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/expressions" />
14
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/helpers" />
15
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/middlewares" />
16
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/indexes" />
17
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/models" />
18
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/mongooseoptions" />
19
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/pipelinestage" />
20
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/populate" />
21
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/query" />
22
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/schemaoptions" />
23
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/schematypes" />
24
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/session" />
25
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/types" />
26
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/utility" />
27
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/validation" />
28
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/virtuals" />
29
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose" />
30
+ /// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/inferschematype" />
31
+ import { Types } from 'mongoose';
32
+ /**
33
+ * 네이버 검색광고 엑셀 전체 프로세스 실행 Payload
34
+ */
35
+ export declare class RunNaverSearchAdExcelProcessPayload {
36
+ /** 캠페인 ID (필수) */
37
+ nccCampaignId: string;
38
+ /** 광고그룹 ID (선택) */
39
+ nccAdgroupId?: string;
40
+ /** 소재 ID (선택) */
41
+ adId?: string;
42
+ /** 상품 ID (선택) */
43
+ itemId?: string;
44
+ /** 결제 시작일 YYYY-MM-DD (필수) */
45
+ paymentSDate: string;
46
+ /** 결제 종료일 YYYY-MM-DD (필수) */
47
+ paymentEDate: string;
48
+ /** ROAS 시작값 (선택) */
49
+ roasStart?: number;
50
+ /** ROAS 종료값 (선택) */
51
+ roasEnd?: number;
52
+ /** 30일 ROAS 시작값 (선택) */
53
+ roas30Start?: number;
54
+ /** 30일 ROAS 종료값 (선택) */
55
+ roas30End?: number;
56
+ /** 입찰가 시작값 (선택) */
57
+ bidAmtStart?: number;
58
+ /** 입찰가 종료값 (선택) */
59
+ bidAmtEnd?: number;
60
+ }
61
+ /**
62
+ * 네이버 검색광고 엑셀 전체 프로세스 실행 Result
63
+ */
64
+ export interface RunNaverSearchAdExcelProcessResult {
65
+ /** NaverSearchAdExcel 문서 ID */
66
+ naverSearchAdExcelId: Types.ObjectId;
67
+ /** 엑셀 다운로드 URL */
68
+ excelUrl: string;
69
+ }
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * @author jun
4
+ * @description 네이버 검색광고 엑셀 전체 프로세스 실행 DTO
5
+ * @process 1. Payload 검증 → 2. 서비스 호출 → 3. 결과 반환
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.RunNaverSearchAdExcelProcessPayload = void 0;
18
+ const class_validator_1 = require("class-validator");
19
+ /**
20
+ * 두 날짜 사이의 일 수 계산
21
+ * @param startDateStr 시작일 YYYY-MM-DD
22
+ * @param endDateStr 종료일 YYYY-MM-DD
23
+ * @returns 일 수 차이
24
+ */
25
+ function getDaysDifference(startDateStr, endDateStr) {
26
+ const startDate = new Date(startDateStr);
27
+ const endDate = new Date(endDateStr);
28
+ const diffTime = endDate.getTime() - startDate.getTime();
29
+ const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
30
+ return diffDays;
31
+ }
32
+ /**
33
+ * 날짜 기간 최대 30일 검증 Validator
34
+ */
35
+ let DateRangeMax30DaysConstraint = class DateRangeMax30DaysConstraint {
36
+ validate(_value, args) {
37
+ const object = args.object;
38
+ const { paymentSDate, paymentEDate } = object;
39
+ try {
40
+ const diff = getDaysDifference(paymentSDate, paymentEDate);
41
+ return diff >= 0 && diff <= 30;
42
+ }
43
+ catch {
44
+ return false;
45
+ }
46
+ }
47
+ defaultMessage() {
48
+ return '날짜 기간은 최대 30일까지만 가능합니다.';
49
+ }
50
+ };
51
+ DateRangeMax30DaysConstraint = __decorate([
52
+ (0, class_validator_1.ValidatorConstraint)({
53
+ name: 'dateRangeMax30Days',
54
+ async: false,
55
+ })
56
+ ], DateRangeMax30DaysConstraint);
57
+ /**
58
+ * 네이버 검색광고 엑셀 전체 프로세스 실행 Payload
59
+ */
60
+ class RunNaverSearchAdExcelProcessPayload {
61
+ }
62
+ exports.RunNaverSearchAdExcelProcessPayload = RunNaverSearchAdExcelProcessPayload;
63
+ __decorate([
64
+ (0, class_validator_1.IsString)(),
65
+ (0, class_validator_1.IsNotEmpty)(),
66
+ __metadata("design:type", String)
67
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "nccCampaignId", void 0);
68
+ __decorate([
69
+ (0, class_validator_1.IsString)(),
70
+ (0, class_validator_1.IsOptional)(),
71
+ __metadata("design:type", String)
72
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "nccAdgroupId", void 0);
73
+ __decorate([
74
+ (0, class_validator_1.IsString)(),
75
+ (0, class_validator_1.IsOptional)(),
76
+ __metadata("design:type", String)
77
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "adId", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsString)(),
80
+ (0, class_validator_1.IsOptional)(),
81
+ __metadata("design:type", String)
82
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "itemId", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsString)(),
85
+ (0, class_validator_1.IsNotEmpty)(),
86
+ (0, class_validator_1.Matches)(/^\d{4}-\d{2}-\d{2}$/, { message: 'paymentSDate는 YYYY-MM-DD 형식이어야 합니다.' }),
87
+ (0, class_validator_1.Validate)(DateRangeMax30DaysConstraint),
88
+ __metadata("design:type", String)
89
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "paymentSDate", void 0);
90
+ __decorate([
91
+ (0, class_validator_1.IsString)(),
92
+ (0, class_validator_1.IsNotEmpty)(),
93
+ (0, class_validator_1.Matches)(/^\d{4}-\d{2}-\d{2}$/, { message: 'paymentEDate는 YYYY-MM-DD 형식이어야 합니다.' }),
94
+ __metadata("design:type", String)
95
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "paymentEDate", void 0);
96
+ __decorate([
97
+ (0, class_validator_1.IsNumber)(),
98
+ (0, class_validator_1.IsOptional)(),
99
+ __metadata("design:type", Number)
100
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "roasStart", void 0);
101
+ __decorate([
102
+ (0, class_validator_1.IsNumber)(),
103
+ (0, class_validator_1.IsOptional)(),
104
+ __metadata("design:type", Number)
105
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "roasEnd", void 0);
106
+ __decorate([
107
+ (0, class_validator_1.IsNumber)(),
108
+ (0, class_validator_1.IsOptional)(),
109
+ __metadata("design:type", Number)
110
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "roas30Start", void 0);
111
+ __decorate([
112
+ (0, class_validator_1.IsNumber)(),
113
+ (0, class_validator_1.IsOptional)(),
114
+ __metadata("design:type", Number)
115
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "roas30End", void 0);
116
+ __decorate([
117
+ (0, class_validator_1.IsNumber)(),
118
+ (0, class_validator_1.IsOptional)(),
119
+ __metadata("design:type", Number)
120
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "bidAmtStart", void 0);
121
+ __decorate([
122
+ (0, class_validator_1.IsNumber)(),
123
+ (0, class_validator_1.IsOptional)(),
124
+ __metadata("design:type", Number)
125
+ ], RunNaverSearchAdExcelProcessPayload.prototype, "bidAmtEnd", void 0);
@@ -0,0 +1,10 @@
1
+ import { ClientProxy } from '@nestjs/microservices';
2
+ import { AbstractParam } from '@yolo-croket-dev/core';
3
+ import { GetAdgroupListPayload, GetAdgroupListResult, GetCampaignListResult } from '../../dto/naver-search-ad.modules/naver-search-ad';
4
+ export declare class AmqpNaverSearchAdService {
5
+ private readonly client;
6
+ private readonly amqpManager;
7
+ constructor(client: ClientProxy);
8
+ getCampaignList(payload: void, param: AbstractParam): Promise<GetCampaignListResult>;
9
+ getAdgroupList(payload: GetAdgroupListPayload, param: AbstractParam): Promise<GetAdgroupListResult>;
10
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AmqpNaverSearchAdService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const microservices_1 = require("@nestjs/microservices");
18
+ const functions_1 = require("@yolo-croket-dev/core/functions");
19
+ let AmqpNaverSearchAdService = class AmqpNaverSearchAdService {
20
+ constructor(client) {
21
+ this.client = client;
22
+ this.amqpManager = new functions_1.AmqpManagement(this.client);
23
+ }
24
+ async getCampaignList(payload, param) {
25
+ // eslint-disable-next-line max-len
26
+ return this.amqpManager.call('네이버 검색광고 캠페인 리스트 조회', 'naver-search-ad.get.campaign-list', payload, param, { isErrorThrowing: true });
27
+ }
28
+ async getAdgroupList(payload, param) {
29
+ return this.amqpManager.call('네이버 검색광고 광고그룹 리스트 조회', 'naver-search-ad.get.adgroup-list', payload, param, { isErrorThrowing: true });
30
+ }
31
+ };
32
+ exports.AmqpNaverSearchAdService = AmqpNaverSearchAdService;
33
+ exports.AmqpNaverSearchAdService = AmqpNaverSearchAdService = __decorate([
34
+ (0, common_1.Injectable)(),
35
+ __param(0, (0, common_1.Inject)('ORDER_SERVER_PROVIDER')),
36
+ __metadata("design:paramtypes", [microservices_1.ClientProxy])
37
+ ], AmqpNaverSearchAdService);
@@ -1 +1,2 @@
1
1
  export * from './amqp.naver-search-ad-excel.service';
2
+ export * from './amqp.naver-search-ad.service';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./amqp.naver-search-ad-excel.service"), exports);
18
+ __exportStar(require("./amqp.naver-search-ad.service"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yolo-croket-dev/amqp-access",
3
- "version": "0.6.80-jun.1",
3
+ "version": "0.6.80-jun.3",
4
4
  "main": "index.js",
5
5
  "author": "Yolo Co., Ltd.",
6
6
  "description": "크로켓 amqp-access npm",