@yolo-croket-dev/amqp-access 0.6.82-sj → 0.6.82
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/.claude/settings.local.json +7 -0
- package/excel-upload-server/amqp.excel-upload-server.module.js +2 -0
- package/excel-upload-server/dto/naver-search-ad.modules/index.d.ts +1 -0
- package/excel-upload-server/dto/naver-search-ad.modules/index.js +17 -0
- package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/generate-naver-search-ad-excel.dto.d.ts +14 -0
- package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/generate-naver-search-ad-excel.dto.js +25 -0
- package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.d.ts +1 -0
- package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.js +17 -0
- package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.d.ts +1 -0
- package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.js +17 -0
- package/excel-upload-server/services/index.d.ts +1 -0
- package/excel-upload-server/services/index.js +1 -0
- package/excel-upload-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.d.ts +9 -0
- package/excel-upload-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.js +33 -0
- package/excel-upload-server/services/naver-search-ad.modules/index.d.ts +1 -0
- package/excel-upload-server/services/naver-search-ad.modules/index.js +17 -0
- package/order-server/amqp.order-server.module.js +4 -0
- package/order-server/dto/naver-search-ad.modules/index.d.ts +2 -0
- package/order-server/dto/naver-search-ad.modules/index.js +18 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/index.d.ts +1 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/index.js +17 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-adgroup-list.dto.d.ts +30 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-adgroup-list.dto.js +29 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-campaign-list.dto.d.ts +23 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-campaign-list.dto.js +7 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/index.d.ts +2 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/index.js +18 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.d.ts +1 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.js +17 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/run-naver-search-ad-excel-process.dto.d.ts +69 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/run-naver-search-ad-excel-process.dto.js +125 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.d.ts +2 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/index.js +18 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/query/get-naver-search-ad-excel-data-list.dto.d.ts +82 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/query/get-naver-search-ad-excel-data-list.dto.js +38 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/query/index.d.ts +1 -0
- package/order-server/dto/naver-search-ad.modules/naver-search-ad-excel/query/index.js +17 -0
- package/order-server/services/index.d.ts +1 -0
- package/order-server/services/index.js +1 -0
- package/order-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.d.ts +17 -0
- package/order-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.js +43 -0
- package/order-server/services/naver-search-ad.modules/amqp.naver-search-ad.service.d.ts +10 -0
- package/order-server/services/naver-search-ad.modules/amqp.naver-search-ad.service.js +37 -0
- package/order-server/services/naver-search-ad.modules/index.d.ts +2 -0
- package/order-server/services/naver-search-ad.modules/index.js +18 -0
- package/package.json +3 -3
|
@@ -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);
|
package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './generate-naver-search-ad-excel.dto';
|
package/excel-upload-server/dto/naver-search-ad.modules/naver-search-ad-excel/command/index.js
ADDED
|
@@ -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 @@
|
|
|
1
|
+
export * from './command';
|
|
@@ -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);
|
|
@@ -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);
|
package/excel-upload-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.d.ts
ADDED
|
@@ -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
|
+
}
|
package/excel-upload-server/services/naver-search-ad.modules/amqp.naver-search-ad-excel.service.js
ADDED
|
@@ -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.excel', 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);
|
|
@@ -34,6 +34,8 @@ exports.AmqpOrderServerModule = AmqpOrderServerModule = __decorate([
|
|
|
34
34
|
services_1.AmqpPurchaseReceiptSabangService,
|
|
35
35
|
services_1.AmqpPurchasedInfoSabangService,
|
|
36
36
|
services_1.AmqpPurchasedInfoCouponService,
|
|
37
|
+
services_1.AmqpNaverSearchAdExcelService,
|
|
38
|
+
services_1.AmqpNaverSearchAdService,
|
|
37
39
|
],
|
|
38
40
|
exports: [
|
|
39
41
|
amqp_order_server_provider_1.OrderServerProvider,
|
|
@@ -53,6 +55,8 @@ exports.AmqpOrderServerModule = AmqpOrderServerModule = __decorate([
|
|
|
53
55
|
services_1.AmqpPurchaseReceiptSabangService,
|
|
54
56
|
services_1.AmqpPurchasedInfoSabangService,
|
|
55
57
|
services_1.AmqpPurchasedInfoCouponService,
|
|
58
|
+
services_1.AmqpNaverSearchAdExcelService,
|
|
59
|
+
services_1.AmqpNaverSearchAdService,
|
|
56
60
|
],
|
|
57
61
|
})
|
|
58
62
|
], AmqpOrderServerModule);
|
|
@@ -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("./naver-search-ad-excel"), exports);
|
|
18
|
+
__exportStar(require("./naver-search-ad/query"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './query';
|
|
@@ -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("./query"), exports);
|
package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-adgroup-list.dto.d.ts
ADDED
|
@@ -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
|
+
}
|
package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-adgroup-list.dto.js
ADDED
|
@@ -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);
|
package/order-server/dto/naver-search-ad.modules/naver-search-ad/query/get-campaign-list.dto.d.ts
ADDED
|
@@ -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,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);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './run-naver-search-ad-excel-process.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("./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,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("./query"), exports);
|
|
18
|
+
__exportStar(require("./command"), exports);
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author jun
|
|
3
|
+
* @description 네이버 검색광고 엑셀 DTO
|
|
4
|
+
*/
|
|
5
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/aggregate" />
|
|
6
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/callback" />
|
|
7
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/collection" />
|
|
8
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/connection" />
|
|
9
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/cursor" />
|
|
10
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/document" />
|
|
11
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/error" />
|
|
12
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/expressions" />
|
|
13
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/helpers" />
|
|
14
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/middlewares" />
|
|
15
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/indexes" />
|
|
16
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/models" />
|
|
17
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/mongooseoptions" />
|
|
18
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/pipelinestage" />
|
|
19
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/populate" />
|
|
20
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/query" />
|
|
21
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/schemaoptions" />
|
|
22
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/schematypes" />
|
|
23
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/session" />
|
|
24
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/types" />
|
|
25
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/utility" />
|
|
26
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/validation" />
|
|
27
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/virtuals" />
|
|
28
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose" />
|
|
29
|
+
/// <reference types="@yolo-croket-dev/dto/node_modules/mongoose/types/inferschematype" />
|
|
30
|
+
import { Types } from 'mongoose';
|
|
31
|
+
import { NaverSearchAdExcelDataEntity } from '@yolo-croket-dev/entity-v2/naver-search-ad.modules/naver-search-ad-excel-data';
|
|
32
|
+
/** 옵션별 재고 수량 */
|
|
33
|
+
export interface OptionStock {
|
|
34
|
+
optionName: string;
|
|
35
|
+
remainCount: number;
|
|
36
|
+
}
|
|
37
|
+
/** 상품 정보 (storeitems lookup 결과) */
|
|
38
|
+
export interface StoreItemInfo {
|
|
39
|
+
itemName?: string;
|
|
40
|
+
brandInfo?: {
|
|
41
|
+
brandName?: string;
|
|
42
|
+
brandId?: string;
|
|
43
|
+
};
|
|
44
|
+
mainCategory?: string;
|
|
45
|
+
subCategory?: string;
|
|
46
|
+
remainCount?: number;
|
|
47
|
+
isSelling?: boolean;
|
|
48
|
+
isDelete?: boolean;
|
|
49
|
+
storeId?: Types.ObjectId;
|
|
50
|
+
}
|
|
51
|
+
/** 스토어/셀러 정보 (stores lookup 결과) */
|
|
52
|
+
export interface StoreInfo {
|
|
53
|
+
storeTitle?: string;
|
|
54
|
+
}
|
|
55
|
+
/** 확장된 NaverSearchAdExcelData (상품/스토어 정보 포함) */
|
|
56
|
+
export interface NaverSearchAdExcelDataWithStoreItemInfo extends NaverSearchAdExcelDataEntity {
|
|
57
|
+
_id: Types.ObjectId;
|
|
58
|
+
storeItemInfo?: StoreItemInfo;
|
|
59
|
+
storeInfo?: StoreInfo;
|
|
60
|
+
optionStockList?: OptionStock[];
|
|
61
|
+
isSoldOut?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 네이버 검색광고 엑셀 데이터 리스트 조회 Payload
|
|
65
|
+
*/
|
|
66
|
+
export declare class GetNaverSearchAdExcelDataListPayload {
|
|
67
|
+
/** NaverSearchAdExcel 문서 ID */
|
|
68
|
+
naverSearchAdExcelId: string;
|
|
69
|
+
/** 페이지당 조회 개수 */
|
|
70
|
+
limit: number;
|
|
71
|
+
/** 페이지 번호 (1부터 시작) */
|
|
72
|
+
page: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* 네이버 검색광고 엑셀 데이터 리스트 조회 Result
|
|
76
|
+
*/
|
|
77
|
+
export interface GetNaverSearchAdExcelDataListResult {
|
|
78
|
+
/** 총 데이터 개수 */
|
|
79
|
+
totalCount: number;
|
|
80
|
+
/** 데이터 리스트 (상품/스토어 정보 포함) */
|
|
81
|
+
dataList: NaverSearchAdExcelDataWithStoreItemInfo[];
|
|
82
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @author jun
|
|
4
|
+
* @description 네이버 검색광고 엑셀 DTO
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
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;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
+
};
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.GetNaverSearchAdExcelDataListPayload = void 0;
|
|
17
|
+
const class_validator_1 = require("class-validator");
|
|
18
|
+
/**
|
|
19
|
+
* 네이버 검색광고 엑셀 데이터 리스트 조회 Payload
|
|
20
|
+
*/
|
|
21
|
+
class GetNaverSearchAdExcelDataListPayload {
|
|
22
|
+
}
|
|
23
|
+
exports.GetNaverSearchAdExcelDataListPayload = GetNaverSearchAdExcelDataListPayload;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsString)(),
|
|
26
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], GetNaverSearchAdExcelDataListPayload.prototype, "naverSearchAdExcelId", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, class_validator_1.IsNumber)(),
|
|
31
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
32
|
+
__metadata("design:type", Number)
|
|
33
|
+
], GetNaverSearchAdExcelDataListPayload.prototype, "limit", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsNumber)(),
|
|
36
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], GetNaverSearchAdExcelDataListPayload.prototype, "page", void 0);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './get-naver-search-ad-excel-data-list.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("./get-naver-search-ad-excel-data-list.dto"), exports);
|
|
@@ -26,3 +26,4 @@ __exportStar(require("./amqp.purchase-receipt.service"), exports);
|
|
|
26
26
|
__exportStar(require("./purchased-info.modules"), exports);
|
|
27
27
|
__exportStar(require("./amqp-changed-purchased-option-log.service"), exports);
|
|
28
28
|
__exportStar(require("./amqp.purchase-receipt-sabang.service"), exports);
|
|
29
|
+
__exportStar(require("./naver-search-ad.modules"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ClientProxy } from '@nestjs/microservices';
|
|
2
|
+
import { AbstractParam } from '@yolo-croket-dev/core';
|
|
3
|
+
import { GetNaverSearchAdExcelDataListPayload, GetNaverSearchAdExcelDataListResult } from '../../dto/naver-search-ad.modules/naver-search-ad-excel/query/get-naver-search-ad-excel-data-list.dto';
|
|
4
|
+
import { RunNaverSearchAdExcelProcessPayload, RunNaverSearchAdExcelProcessResult } from '../../dto/naver-search-ad.modules/naver-search-ad-excel/command/run-naver-search-ad-excel-process.dto';
|
|
5
|
+
export declare class AmqpNaverSearchAdExcelService {
|
|
6
|
+
private readonly client;
|
|
7
|
+
private readonly amqpManager;
|
|
8
|
+
constructor(client: ClientProxy);
|
|
9
|
+
getNaverSearchAdExcelDataList(payload: GetNaverSearchAdExcelDataListPayload, param: AbstractParam): Promise<GetNaverSearchAdExcelDataListResult>;
|
|
10
|
+
/**
|
|
11
|
+
* 네이버 검색광고 엑셀 전체 프로세스 실행
|
|
12
|
+
* @param payload 프로세스 실행 Payload
|
|
13
|
+
* @param param AbstractParam
|
|
14
|
+
* @returns naverSearchAdExcelId와 excelUrl
|
|
15
|
+
*/
|
|
16
|
+
runNaverSearchAdExcelProcess(payload: RunNaverSearchAdExcelProcessPayload, param: AbstractParam): Promise<RunNaverSearchAdExcelProcessResult>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
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 getNaverSearchAdExcelDataList(payload, param) {
|
|
25
|
+
// eslint-disable-next-line max-len
|
|
26
|
+
return this.amqpManager.call('네이버 검색광고 엑셀 데이터 리스트 조회', 'naver-search-ad-excel.get.data-list', payload, param, { isErrorThrowing: true });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 네이버 검색광고 엑셀 전체 프로세스 실행
|
|
30
|
+
* @param payload 프로세스 실행 Payload
|
|
31
|
+
* @param param AbstractParam
|
|
32
|
+
* @returns naverSearchAdExcelId와 excelUrl
|
|
33
|
+
*/
|
|
34
|
+
async runNaverSearchAdExcelProcess(payload, param) {
|
|
35
|
+
return this.amqpManager.call('네이버 검색광고 엑셀 전체 프로세스 실행', 'naver-search-ad-excel.run.process', payload, param, { isErrorThrowing: true });
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.AmqpNaverSearchAdExcelService = AmqpNaverSearchAdExcelService;
|
|
39
|
+
exports.AmqpNaverSearchAdExcelService = AmqpNaverSearchAdExcelService = __decorate([
|
|
40
|
+
(0, common_1.Injectable)(),
|
|
41
|
+
__param(0, (0, common_1.Inject)('ORDER_SERVER_PROVIDER')),
|
|
42
|
+
__metadata("design:paramtypes", [microservices_1.ClientProxy])
|
|
43
|
+
], AmqpNaverSearchAdExcelService);
|
|
@@ -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/query';
|
|
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);
|
|
@@ -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("./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.82
|
|
3
|
+
"version": "0.6.82",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"author": "Yolo Co., Ltd.",
|
|
6
6
|
"description": "크로켓 amqp-access npm",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"@yolo-croket-dev/domain": "^0.2.25",
|
|
23
23
|
"@yolo-croket-dev/dto-v2": "0.2.8",
|
|
24
24
|
"@yolo-croket-dev/entity": "0.2.58",
|
|
25
|
-
"@yolo-croket-dev/entity-v2": "0.2.
|
|
25
|
+
"@yolo-croket-dev/entity-v2": "0.2.76",
|
|
26
26
|
"class-transformer": "^0.5.1",
|
|
27
27
|
"class-validator": "^0.13.2",
|
|
28
28
|
"dotenv": "^16.3.1"
|
|
29
29
|
}
|
|
30
|
-
}
|
|
30
|
+
}
|