@ingestkorea/client-sens
Version:
INGESTKOREA SDK Naver Cloud Platform SENS Client for Node.js.
36 lines (35 loc) • 2.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListSMSStatusCommand = void 0;
const index_js_1 = require("../models/index.js");
const ListSMSStatus_js_1 = require("../protocols/ListSMSStatus.js");
const constants_js_1 = require("./constants.js");
const DURATION_LIMIT_MS = 30 * 24 * 3600000; // 30일 이내만 조회 가능
const MAX_LIMIT = 100;
const DEFAULT_LIMIT = 20;
class ListSMSStatusCommand extends index_js_1.SensCommand {
constructor(input) {
var _a;
super(input);
if (input.nextToken && (!input.requestStartTime || !input.requestEndTime)) {
throw new index_js_1.SensError({
code: -1,
type: "SDK.GENERAL_ERROR",
message: "페이지네이션 검색 조건 불일치",
errors: [
"nextToken 사용 시 데이터 일관성을 위해 최초 요청 시의 옵션이 모두 동일하게 유지되어야 합니다.",
"requestStartTime, requestEndTime, pageSize 옵션을 확인해주세요.",
],
});
}
const defaultDuration = (0, constants_js_1.getDefaultRequestDuration)({ durationLimitMs: DURATION_LIMIT_MS });
const { startTimeMs, endTimeMs } = (0, constants_js_1.resolveRequestDuration)({
startTime: input.requestStartTime ? (0, constants_js_1.convertToUtc)(input.requestStartTime) : defaultDuration.startTime,
endTime: input.requestEndTime ? (0, constants_js_1.convertToUtc)(input.requestEndTime) : defaultDuration.endTime,
}, { durationLimitMs: DURATION_LIMIT_MS });
this.input = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ requestStartTime: (0, constants_js_1.convertToKst)(startTimeMs), requestEndTime: (0, constants_js_1.convertToKst)(endTimeMs), pageSize: Math.min(MAX_LIMIT, Math.max(1, (_a = input.pageSize) !== null && _a !== void 0 ? _a : DEFAULT_LIMIT)) }, (input.type && { type: input.type })), (input.contentType && { contentType: input.contentType })), (input.status && { status: input.status })), (input.from && { from: (0, constants_js_1.prettyPhoneNum)(input.from) })), (input.to && { to: (0, constants_js_1.prettyPhoneNum)(input.to) })), (input.statusName && { statusName: input.statusName })), (input.nextToken && { nextToken: input.nextToken }));
this.serializer = ListSMSStatus_js_1.se_ListSMSStatusCommand;
this.deserializer = ListSMSStatus_js_1.de_ListSMSStatusCommand;
}
}
exports.ListSMSStatusCommand = ListSMSStatusCommand;