@ingestkorea/client-sens
Version:
INGESTKOREA SDK Naver Cloud Platform SENS Client for Node.js.
48 lines (47 loc) • 2.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ListAlimtalkStatusCommand = void 0;
const index_js_1 = require("../models/index.js");
const ListAlimtalkStatus_js_1 = require("../protocols/ListAlimtalkStatus.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 ListAlimtalkStatusCommand 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 = {
plusFriendId: input.plusFriendId,
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.requestStatusName && { requestStatusName: input.requestStatusName }),
...(input.messageStatusName && { messageStatusName: input.messageStatusName }),
...(input.requestId && { requestId: input.requestId, pageSize: MAX_LIMIT }),
...(input.messageId && { messageId: input.messageId }),
...(input.templateCode && { templateCode: input.templateCode }),
...(input.to && { to: (0, constants_js_1.prettyPhoneNum)(input.to) }),
...(input.nextToken && { nextToken: input.nextToken }),
};
this.serializer = ListAlimtalkStatus_js_1.se_ListAlimtalkStatusCommand;
this.deserializer = ListAlimtalkStatus_js_1.de_ListAlimtalkStatusCommand;
}
}
exports.ListAlimtalkStatusCommand = ListAlimtalkStatusCommand;