@ingestkorea/client-sens 1.7.0 → 1.9.0

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 (157) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +98 -63
  3. package/dist-cjs/SensClient.js +57 -28
  4. package/dist-cjs/commands/GetAlimtalkResultCommand.js +5 -32
  5. package/dist-cjs/commands/GetAlimtalkStatusCommand.js +7 -35
  6. package/dist-cjs/commands/GetAlimtalkTemplateCommand.js +5 -32
  7. package/dist-cjs/commands/GetSMSResultCommand.js +8 -33
  8. package/dist-cjs/commands/GetSMSStatusCommand.js +7 -33
  9. package/dist-cjs/commands/ListAlimtalkChannelsCommand.js +6 -33
  10. package/dist-cjs/commands/ListAlimtalkStatusCommand.js +29 -35
  11. package/dist-cjs/commands/ListAlimtalkTemplatesCommand.js +5 -32
  12. package/dist-cjs/commands/ListSMSStatusCommand.js +37 -0
  13. package/dist-cjs/commands/SendAlimtalkCommand.js +36 -44
  14. package/dist-cjs/commands/SendMMSCommand.js +67 -103
  15. package/dist-cjs/commands/SendSMSCommand.js +38 -71
  16. package/dist-cjs/commands/constants.js +57 -14
  17. package/dist-cjs/commands/index.js +12 -11
  18. package/dist-cjs/index.js +2 -2
  19. package/dist-cjs/middleware/constants.js +10 -0
  20. package/dist-cjs/middleware/index.js +3 -4
  21. package/dist-cjs/middleware/middleware-metadata.js +4 -5
  22. package/dist-cjs/middleware/middleware-retry.js +32 -27
  23. package/dist-cjs/middleware/middleware-sign.js +10 -9
  24. package/dist-cjs/models/SendAlimtalk.js +3 -0
  25. package/dist-cjs/models/SendMMS.js +3 -0
  26. package/dist-cjs/models/SensClient.js +2 -0
  27. package/dist-cjs/models/SensErrorInfo.js +13 -0
  28. package/dist-cjs/models/SensMiddleware.js +2 -0
  29. package/dist-cjs/models/index.js +17 -14
  30. package/dist-cjs/protocols/GetAlimtalkResult.js +19 -22
  31. package/dist-cjs/protocols/GetAlimtalkStatus.js +39 -40
  32. package/dist-cjs/protocols/GetAlimtalkTemplate.js +56 -90
  33. package/dist-cjs/protocols/GetSMSResult.js +31 -48
  34. package/dist-cjs/protocols/GetSMSStatus.js +51 -37
  35. package/dist-cjs/protocols/ListAlimtalkChannels.js +27 -31
  36. package/dist-cjs/protocols/ListAlimtalkStatus.js +22 -19
  37. package/dist-cjs/protocols/ListAlimtalkTemplates.js +33 -25
  38. package/dist-cjs/protocols/ListSMSStatus.js +48 -0
  39. package/dist-cjs/protocols/SendAlimtalk.js +23 -27
  40. package/dist-cjs/protocols/SendMMS.js +8 -38
  41. package/dist-cjs/protocols/SendSMS.js +20 -22
  42. package/dist-cjs/protocols/constants.js +103 -34
  43. package/dist-es/SensClient.js +63 -30
  44. package/dist-es/commands/GetAlimtalkResultCommand.js +9 -19
  45. package/dist-es/commands/GetAlimtalkStatusCommand.js +12 -19
  46. package/dist-es/commands/GetAlimtalkTemplateCommand.js +9 -19
  47. package/dist-es/commands/GetSMSResultCommand.js +10 -20
  48. package/dist-es/commands/GetSMSStatusCommand.js +13 -20
  49. package/dist-es/commands/ListAlimtalkChannelsCommand.js +10 -22
  50. package/dist-es/commands/ListAlimtalkStatusCommand.js +39 -28
  51. package/dist-es/commands/ListAlimtalkTemplatesCommand.js +9 -19
  52. package/dist-es/commands/ListSMSStatusCommand.js +48 -0
  53. package/dist-es/commands/SendAlimtalkCommand.js +35 -30
  54. package/dist-es/commands/SendMMSCommand.js +70 -100
  55. package/dist-es/commands/SendSMSCommand.js +51 -66
  56. package/dist-es/commands/constants.js +65 -15
  57. package/dist-es/commands/index.js +28 -11
  58. package/dist-es/index.js +18 -2
  59. package/dist-es/middleware/constants.js +10 -0
  60. package/dist-es/middleware/index.js +19 -4
  61. package/dist-es/middleware/middleware-metadata.js +11 -5
  62. package/dist-es/middleware/middleware-retry.js +39 -30
  63. package/dist-es/middleware/middleware-sign.js +19 -14
  64. package/dist-es/models/GetAlimtalkResult.js +2 -1
  65. package/dist-es/models/GetAlimtalkStatus.js +2 -1
  66. package/dist-es/models/GetAlimtalkTemplate.js +2 -1
  67. package/dist-es/models/GetSMSResult.js +2 -1
  68. package/dist-es/models/GetSMSStatus.js +2 -1
  69. package/dist-es/models/ListAlimtalkChannels.js +2 -1
  70. package/dist-es/models/ListAlimtalkStatus.js +2 -1
  71. package/dist-es/models/ListAlimtalkTemplates.js +2 -1
  72. package/dist-es/models/ListSMSStatus.js +2 -0
  73. package/dist-es/models/MetadataBearer.js +2 -1
  74. package/dist-es/models/SendAlimtalk.js +5 -1
  75. package/dist-es/models/SendMMS.js +5 -1
  76. package/dist-es/models/SendSMS.js +2 -1
  77. package/dist-es/models/SensClient.js +2 -0
  78. package/dist-es/models/SensCommand.js +5 -1
  79. package/dist-es/models/SensErrorInfo.js +13 -0
  80. package/dist-es/models/SensMiddleware.js +2 -0
  81. package/dist-es/models/index.js +33 -14
  82. package/dist-es/protocols/GetAlimtalkResult.js +24 -23
  83. package/dist-es/protocols/GetAlimtalkStatus.js +51 -47
  84. package/dist-es/protocols/GetAlimtalkTemplate.js +78 -87
  85. package/dist-es/protocols/GetSMSResult.js +40 -47
  86. package/dist-es/protocols/GetSMSStatus.js +55 -37
  87. package/dist-es/protocols/ListAlimtalkChannels.js +31 -31
  88. package/dist-es/protocols/ListAlimtalkStatus.js +26 -32
  89. package/dist-es/protocols/ListAlimtalkTemplates.js +37 -24
  90. package/dist-es/protocols/ListSMSStatus.js +42 -0
  91. package/dist-es/protocols/SendAlimtalk.js +27 -26
  92. package/dist-es/protocols/SendMMS.js +10 -49
  93. package/dist-es/protocols/SendSMS.js +24 -31
  94. package/dist-es/protocols/constants.js +119 -39
  95. package/dist-types/SensClient.d.ts +3 -20
  96. package/dist-types/commands/GetAlimtalkResultCommand.d.ts +5 -10
  97. package/dist-types/commands/GetAlimtalkStatusCommand.d.ts +5 -10
  98. package/dist-types/commands/GetAlimtalkTemplateCommand.d.ts +5 -10
  99. package/dist-types/commands/GetSMSResultCommand.d.ts +5 -10
  100. package/dist-types/commands/GetSMSStatusCommand.d.ts +5 -10
  101. package/dist-types/commands/ListAlimtalkChannelsCommand.d.ts +5 -10
  102. package/dist-types/commands/ListAlimtalkStatusCommand.d.ts +5 -10
  103. package/dist-types/commands/ListAlimtalkTemplatesCommand.d.ts +5 -10
  104. package/dist-types/commands/ListSMSStatusCommand.d.ts +11 -0
  105. package/dist-types/commands/SendAlimtalkCommand.d.ts +5 -10
  106. package/dist-types/commands/SendMMSCommand.d.ts +5 -10
  107. package/dist-types/commands/SendSMSCommand.d.ts +9 -10
  108. package/dist-types/commands/constants.d.ts +14 -4
  109. package/dist-types/commands/index.d.ts +12 -11
  110. package/dist-types/index.d.ts +2 -2
  111. package/dist-types/middleware/constants.d.ts +7 -0
  112. package/dist-types/middleware/index.d.ts +3 -4
  113. package/dist-types/middleware/middleware-metadata.d.ts +2 -2
  114. package/dist-types/middleware/middleware-retry.d.ts +2 -2
  115. package/dist-types/middleware/middleware-sign.d.ts +2 -2
  116. package/dist-types/models/GetAlimtalkResult.d.ts +3 -3
  117. package/dist-types/models/GetAlimtalkStatus.d.ts +8 -5
  118. package/dist-types/models/GetAlimtalkTemplate.d.ts +5 -5
  119. package/dist-types/models/GetSMSResult.d.ts +7 -15
  120. package/dist-types/models/GetSMSStatus.d.ts +19 -4
  121. package/dist-types/models/ListAlimtalkChannels.d.ts +4 -4
  122. package/dist-types/models/ListAlimtalkStatus.d.ts +8 -8
  123. package/dist-types/models/ListAlimtalkTemplates.d.ts +2 -2
  124. package/dist-types/models/ListSMSStatus.d.ts +15 -0
  125. package/dist-types/models/MetadataBearer.d.ts +3 -3
  126. package/dist-types/models/SendAlimtalk.d.ts +7 -4
  127. package/dist-types/models/SendMMS.d.ts +5 -3
  128. package/dist-types/models/SendSMS.d.ts +2 -2
  129. package/dist-types/models/SensClient.d.ts +17 -0
  130. package/dist-types/models/SensCommand.d.ts +4 -6
  131. package/dist-types/models/SensErrorInfo.d.ts +21 -0
  132. package/dist-types/models/SensMiddleware.d.ts +8 -0
  133. package/dist-types/models/index.d.ts +17 -14
  134. package/dist-types/protocols/GetAlimtalkResult.d.ts +4 -11
  135. package/dist-types/protocols/GetAlimtalkStatus.d.ts +6 -12
  136. package/dist-types/protocols/GetAlimtalkTemplate.d.ts +4 -14
  137. package/dist-types/protocols/GetSMSResult.d.ts +4 -12
  138. package/dist-types/protocols/GetSMSStatus.d.ts +6 -11
  139. package/dist-types/protocols/ListAlimtalkChannels.d.ts +4 -11
  140. package/dist-types/protocols/ListAlimtalkStatus.d.ts +4 -10
  141. package/dist-types/protocols/ListAlimtalkTemplates.d.ts +5 -12
  142. package/dist-types/protocols/ListSMSStatus.d.ts +4 -0
  143. package/dist-types/protocols/SendAlimtalk.d.ts +5 -12
  144. package/dist-types/protocols/SendMMS.d.ts +4 -10
  145. package/dist-types/protocols/SendSMS.d.ts +5 -10
  146. package/dist-types/protocols/constants.d.ts +4 -2
  147. package/package.json +20 -4
  148. package/.github/pull_request_template.md +0 -19
  149. package/dist-cjs/middleware/middleware-sort-headers.js +0 -25
  150. package/dist-cjs/protocols/index.js +0 -28
  151. package/dist-es/middleware/middleware-sort-headers.js +0 -12
  152. package/dist-es/models/Middleware.js +0 -1
  153. package/dist-es/protocols/index.js +0 -12
  154. package/dist-types/middleware/middleware-sort-headers.d.ts +0 -2
  155. package/dist-types/models/Middleware.d.ts +0 -12
  156. package/dist-types/protocols/index.d.ts +0 -12
  157. /package/dist-cjs/models/{Middleware.js → ListSMSStatus.js} +0 -0
@@ -1,49 +1,129 @@
1
- import { IngestkoreaError, ingestkoreaErrorCodeChecker } from "@ingestkorea/util-error-handler";
2
- import { collectBodyString, destroyStream } from "@ingestkorea/util-http-handler";
3
- export const parseBody = async (output) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertToUtc = exports.compact = exports.parseErrorBody = exports.parseBody = exports.deserializeMetadata = void 0;
4
+ const util_http_handler_1 = require("@ingestkorea/util-http-handler");
5
+ const index_js_1 = require("../models/index.js");
6
+ const constants_js_1 = require("../middleware/constants.js");
7
+ const deserializeMetadata = (response) => {
8
+ const attempts = response.headers[constants_js_1.INGESTKOREA_RETRY] || "1";
9
+ const totalRetryDelay = response.headers[constants_js_1.INGESTKOREA_RETRY_DELAY] || "0";
10
+ return {
11
+ httpStatusCode: response.statusCode,
12
+ attempts: Number(attempts),
13
+ totalRetryDelay: Number(totalRetryDelay),
14
+ };
15
+ };
16
+ exports.deserializeMetadata = deserializeMetadata;
17
+ const parseBody = async (output) => {
4
18
  const { statusCode, headers, body: streamBody } = output;
5
- const isValid = await verifyJsonHeader(headers["content-type"]);
6
- if (!isValid) {
7
- await destroyStream(streamBody);
8
- let customError = new IngestkoreaError({
9
- code: 400,
19
+ if (!isJsonResponse(headers["content-type"])) {
20
+ await (0, util_http_handler_1.destroyStream)(streamBody);
21
+ throw new index_js_1.SensError({
22
+ code: statusCode !== null && statusCode !== void 0 ? statusCode : 400,
10
23
  type: "Bad Request",
11
- message: "Invalid Request",
12
- description: "content-type is not application/json",
24
+ message: "response content-type is not application/json",
13
25
  });
14
- if (ingestkoreaErrorCodeChecker(statusCode))
15
- customError.error.code = statusCode;
16
- throw customError;
17
26
  }
18
- const data = await collectBodyString(streamBody);
19
- if (data.length)
20
- return JSON.parse(data);
27
+ const data = await (0, util_http_handler_1.collectBodyString)(streamBody);
28
+ if (data.length) {
29
+ try {
30
+ return JSON.parse(data);
31
+ }
32
+ catch (e) {
33
+ await (0, util_http_handler_1.destroyStream)(streamBody);
34
+ throw new index_js_1.SensError({
35
+ code: statusCode !== null && statusCode !== void 0 ? statusCode : 400,
36
+ type: "Bad Request",
37
+ message: "parse response body error",
38
+ });
39
+ }
40
+ }
21
41
  return {};
22
42
  };
23
- export const parseErrorBody = async (output) => {
43
+ exports.parseBody = parseBody;
44
+ const parseErrorBody = async (output) => {
24
45
  const { statusCode, headers, body: streamBody } = output;
25
- const isValid = await verifyJsonHeader(headers["content-type"]);
26
- await destroyStream(streamBody);
27
- let customError = new IngestkoreaError({
28
- code: 400,
46
+ const error = new index_js_1.SensError({
47
+ code: statusCode !== null && statusCode !== void 0 ? statusCode : 400,
29
48
  type: "Bad Request",
30
- message: "Invalid Request",
31
- description: "content-type is not application/json",
49
+ message: "something wrong",
32
50
  });
33
- if (ingestkoreaErrorCodeChecker(statusCode))
34
- customError.error.code = statusCode;
35
- if (!isValid)
36
- throw customError;
37
- const data = await collectBodyString(streamBody);
38
- if (data.length)
39
- customError.error.description = JSON.parse(data);
40
- throw customError;
41
- };
42
- const verifyJsonHeader = async (contentType) => {
43
- return /application\/json/gi.exec(contentType) ? true : false;
44
- };
45
- export const deserializeMetadata = (response) => {
46
- return {
47
- httpStatusCode: response.statusCode,
48
- };
51
+ if (!isJsonResponse(headers["content-type"])) {
52
+ await (0, util_http_handler_1.destroyStream)(streamBody);
53
+ error.message = "response content-type is not application/json";
54
+ throw error;
55
+ }
56
+ const data = await (0, util_http_handler_1.collectBodyString)(streamBody);
57
+ await (0, util_http_handler_1.destroyStream)(streamBody);
58
+ const sensErrorBody = isSensErrorBody(data);
59
+ if (!sensErrorBody) {
60
+ throw error;
61
+ }
62
+ throw new index_js_1.SensError({
63
+ code: sensErrorBody.status,
64
+ type: SENS_ERROR_CODE_SPEC[sensErrorBody.status] || "Unknown Error",
65
+ message: sensErrorBody.errorMessage || "Something wrong",
66
+ ...(sensErrorBody.errors &&
67
+ Array.isArray(sensErrorBody.errors) && {
68
+ invalidInputs: sensErrorBody.errors.map((msg) => {
69
+ return { type: "not-valid.args", message: msg };
70
+ }),
71
+ }),
72
+ });
73
+ };
74
+ exports.parseErrorBody = parseErrorBody;
75
+ const SENS_ERROR_CODE_SPEC = {
76
+ 400: "Bad Request",
77
+ 401: "Unauthorized",
78
+ 403: "Forbidden",
79
+ 404: "Not Found",
80
+ 429: "Too Many Requests",
81
+ 500: "Internal Server Error",
82
+ };
83
+ const SENS_ERROR_BODY_SPEC = [
84
+ ["status", "number", true],
85
+ ["errorMessage", "string", false],
86
+ ["errors", "object", false],
87
+ ];
88
+ const isSensErrorBody = (input) => {
89
+ if (typeof input !== "string")
90
+ return null;
91
+ try {
92
+ const data = JSON.parse(input);
93
+ if (!data || typeof data !== "object")
94
+ return null;
95
+ const isValid = SENS_ERROR_BODY_SPEC.every(([key, type, required]) => {
96
+ const value = data[key];
97
+ if (required && (value === undefined || value === null))
98
+ return false;
99
+ if (value !== undefined && typeof value !== type)
100
+ return false;
101
+ return true;
102
+ });
103
+ return isValid ? data : null;
104
+ }
105
+ catch (_a) {
106
+ return null;
107
+ }
108
+ };
109
+ const compact = (obj) => {
110
+ if (Array.isArray(obj)) {
111
+ return obj.map((item) => (0, exports.compact)(item));
112
+ }
113
+ if (typeof obj === "object" && obj !== null) {
114
+ return Object.fromEntries(Object.entries(obj)
115
+ .filter(([_, value]) => value !== undefined) // undefined 필드 제거
116
+ .map(([key, value]) => [key, (0, exports.compact)(value)]) // 내부 값 재귀 처리
117
+ );
118
+ }
119
+ return obj;
120
+ };
121
+ exports.compact = compact;
122
+ const convertToUtc = (input) => {
123
+ const utcRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/;
124
+ return utcRegex.test(input) ? input : new Date(input.replace(" ", "T") + "+09:00").toISOString();
125
+ };
126
+ exports.convertToUtc = convertToUtc;
127
+ const isJsonResponse = (contentType) => {
128
+ return /application\/json/gi.exec(contentType || "") ? true : false;
49
129
  };
@@ -1,25 +1,8 @@
1
- import { NodeHttpHandler } from "@ingestkorea/util-http-handler";
2
- import { SensCommand } from "./models";
3
- export type Credentials = {
4
- accessKey: string;
5
- secretKey: string;
6
- };
7
- export type ServiceId = {
8
- push?: string;
9
- sms?: string;
10
- kakao?: string;
11
- };
12
- export interface SensClientConfig {
13
- credentials?: Credentials;
14
- serviceId?: ServiceId;
15
- }
16
- export interface SensClientResolvedConfig {
17
- credentials: Credentials;
18
- serviceId: ServiceId;
19
- }
1
+ import { SensClientConfig, SensClientResolvedConfig, SensCommand } from "./models/index.js";
20
2
  export declare class SensClient {
21
3
  config: SensClientResolvedConfig;
22
- requestHandler: NodeHttpHandler;
4
+ private httpHandler;
5
+ private requestHandler;
23
6
  constructor(config: SensClientConfig);
24
7
  send<T, P>(command: SensCommand<T, P, SensClientResolvedConfig>): Promise<P>;
25
8
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, GetAlimtalkResultInput, GetAlimtalkResultOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface GetAlimtalkResultCommandInput extends GetAlimtalkResultInput {
1
+ import { SensClientResolvedConfig, SensCommand, GetAlimtalkResultRequest, GetAlimtalkResultResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface GetAlimtalkResultCommandInput extends GetAlimtalkResultRequest {
5
3
  }
6
- export interface GetAlimtalkResultCommandOutput extends GetAlimtalkResultOutput, MetadataBearer {
4
+ export interface GetAlimtalkResultCommandOutput extends MetadataBearer, GetAlimtalkResultResult {
7
5
  }
8
6
  export declare class GetAlimtalkResultCommand extends SensCommand<GetAlimtalkResultCommandInput, GetAlimtalkResultCommandOutput, SensClientResolvedConfig> {
9
7
  input: GetAlimtalkResultCommandInput;
8
+ serializer: RequestSerializer<GetAlimtalkResultCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<GetAlimtalkResultCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: GetAlimtalkResultCommandInput);
11
- serialize(input: GetAlimtalkResultCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<GetAlimtalkResultCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, GetAlimtalkStatusInput, GetAlimtalkStatusOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface GetAlimtalkStatusCommandInput extends GetAlimtalkStatusInput {
1
+ import { SensClientResolvedConfig, SensCommand, GetAlimtalkStatusRequest, GetAlimtalkStatusResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface GetAlimtalkStatusCommandInput extends GetAlimtalkStatusRequest {
5
3
  }
6
- export interface GetAlimtalkStatusCommandOutput extends GetAlimtalkStatusOutput, MetadataBearer {
4
+ export interface GetAlimtalkStatusCommandOutput extends MetadataBearer, GetAlimtalkStatusResult {
7
5
  }
8
6
  export declare class GetAlimtalkStatusCommand extends SensCommand<GetAlimtalkStatusCommandInput, GetAlimtalkStatusCommandOutput, SensClientResolvedConfig> {
9
7
  input: GetAlimtalkStatusCommandInput;
8
+ serializer: RequestSerializer<GetAlimtalkStatusCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<GetAlimtalkStatusCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: GetAlimtalkStatusCommandInput);
11
- serialize(input: GetAlimtalkStatusCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<GetAlimtalkStatusCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, GetAlimtalkTemplateInput, GetAlimtalkTemplateOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface GetAlimtalkTemplateCommandInput extends GetAlimtalkTemplateInput {
1
+ import { SensClientResolvedConfig, SensCommand, GetAlimtalkTemplateRequest, GetAlimtalkTemplateResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface GetAlimtalkTemplateCommandInput extends GetAlimtalkTemplateRequest {
5
3
  }
6
- export interface GetAlimtalkTemplateCommandOutput extends GetAlimtalkTemplateOutput, MetadataBearer {
4
+ export interface GetAlimtalkTemplateCommandOutput extends MetadataBearer, GetAlimtalkTemplateResult {
7
5
  }
8
6
  export declare class GetAlimtalkTemplateCommand extends SensCommand<GetAlimtalkTemplateCommandInput, GetAlimtalkTemplateCommandOutput, SensClientResolvedConfig> {
9
7
  input: GetAlimtalkTemplateCommandInput;
8
+ serializer: RequestSerializer<GetAlimtalkTemplateCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<GetAlimtalkTemplateCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: GetAlimtalkTemplateCommandInput);
11
- serialize(input: GetAlimtalkTemplateCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<GetAlimtalkTemplateCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, GetSMSResultInput, GetSMSResultOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface GetSMSResultCommandInput extends GetSMSResultInput {
1
+ import { SensClientResolvedConfig, SensCommand, GetSMSResultRequest, GetSMSResultResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface GetSMSResultCommandInput extends GetSMSResultRequest {
5
3
  }
6
- export interface GetSMSResultCommandOutput extends GetSMSResultOutput, MetadataBearer {
4
+ export interface GetSMSResultCommandOutput extends MetadataBearer, GetSMSResultResult {
7
5
  }
8
6
  export declare class GetSMSResultCommand extends SensCommand<GetSMSResultCommandInput, GetSMSResultCommandOutput, SensClientResolvedConfig> {
9
7
  input: GetSMSResultCommandInput;
8
+ serializer: RequestSerializer<GetSMSResultCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<GetSMSResultCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: GetSMSResultCommandInput);
11
- serialize(input: GetSMSResultCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<GetSMSResultCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, GetSMSStatusInput, GetSMSStatusOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface GetSMSStatusCommandInput extends GetSMSStatusInput {
1
+ import { SensClientResolvedConfig, SensCommand, GetSMSStatusRequest, GetSMSStatusResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface GetSMSStatusCommandInput extends GetSMSStatusRequest {
5
3
  }
6
- export interface GetSMSStatusCommandOutput extends GetSMSStatusOutput, MetadataBearer {
4
+ export interface GetSMSStatusCommandOutput extends MetadataBearer, GetSMSStatusResult {
7
5
  }
8
6
  export declare class GetSMSStatusCommand extends SensCommand<GetSMSStatusCommandInput, GetSMSStatusCommandOutput, SensClientResolvedConfig> {
9
7
  input: GetSMSStatusCommandInput;
8
+ serializer: RequestSerializer<GetSMSStatusCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<GetSMSStatusCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: GetSMSStatusCommandInput);
11
- serialize(input: GetSMSStatusCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<GetSMSStatusCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, ListAlimtalkChannelsInput, ListAlimtalkChannelsOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface ListAlimtalkChannelsCommandInput extends ListAlimtalkChannelsInput {
1
+ import { SensClientResolvedConfig, SensCommand, ListAlimtalkChannelsRequest, ListAlimtalkChannelsResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface ListAlimtalkChannelsCommandInput extends ListAlimtalkChannelsRequest {
5
3
  }
6
- export interface ListAlimtalkChannelsCommandOutput extends ListAlimtalkChannelsOutput, MetadataBearer {
4
+ export interface ListAlimtalkChannelsCommandOutput extends MetadataBearer, ListAlimtalkChannelsResult {
7
5
  }
8
6
  export declare class ListAlimtalkChannelsCommand extends SensCommand<ListAlimtalkChannelsCommandInput, ListAlimtalkChannelsCommandOutput, SensClientResolvedConfig> {
9
7
  input: ListAlimtalkChannelsCommandInput;
8
+ serializer: RequestSerializer<ListAlimtalkChannelsCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<ListAlimtalkChannelsCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: ListAlimtalkChannelsCommandInput);
11
- serialize(input: ListAlimtalkChannelsCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<ListAlimtalkChannelsCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, ListAlimtalkStatusInput, ListAlimtalkStatusOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface ListAlimtalkStatusCommandInput extends ListAlimtalkStatusInput {
1
+ import { SensClientResolvedConfig, SensCommand, ListAlimtalkStatusRequest, ListAlimtalkStatusResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface ListAlimtalkStatusCommandInput extends ListAlimtalkStatusRequest {
5
3
  }
6
- export interface ListAlimtalkStatusCommandOutput extends ListAlimtalkStatusOutput, MetadataBearer {
4
+ export interface ListAlimtalkStatusCommandOutput extends MetadataBearer, ListAlimtalkStatusResult {
7
5
  }
8
6
  export declare class ListAlimtalkStatusCommand extends SensCommand<ListAlimtalkStatusCommandInput, ListAlimtalkStatusCommandOutput, SensClientResolvedConfig> {
9
7
  input: ListAlimtalkStatusCommandInput;
8
+ serializer: RequestSerializer<ListAlimtalkStatusCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<ListAlimtalkStatusCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: ListAlimtalkStatusCommandInput);
11
- serialize(input: ListAlimtalkStatusCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<ListAlimtalkStatusCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, ListAlimtalkTemplatesInput, ListAlimtalkTemplatesOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface ListAlimtalkTemplatesCommandInput extends ListAlimtalkTemplatesInput {
1
+ import { SensClientResolvedConfig, SensCommand, ListAlimtalkTemplatesRequest, ListAlimtalkTemplatesResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface ListAlimtalkTemplatesCommandInput extends ListAlimtalkTemplatesRequest {
5
3
  }
6
- export interface ListAlimtalkTemplatesCommandOutput extends ListAlimtalkTemplatesOutput, MetadataBearer {
4
+ export interface ListAlimtalkTemplatesCommandOutput extends MetadataBearer, ListAlimtalkTemplatesResult {
7
5
  }
8
6
  export declare class ListAlimtalkTemplatesCommand extends SensCommand<ListAlimtalkTemplatesCommandInput, ListAlimtalkTemplatesCommandOutput, SensClientResolvedConfig> {
9
7
  input: ListAlimtalkTemplatesCommandInput;
8
+ serializer: RequestSerializer<ListAlimtalkTemplatesCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<ListAlimtalkTemplatesCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: ListAlimtalkTemplatesCommandInput);
11
- serialize(input: ListAlimtalkTemplatesCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<ListAlimtalkTemplatesCommandOutput>;
16
11
  }
@@ -0,0 +1,11 @@
1
+ import { SensClientResolvedConfig, SensCommand, ListSMSStatusRequest, ListSMSStatusResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface ListSMSStatusCommandInput extends ListSMSStatusRequest {
3
+ }
4
+ export interface ListSMSStatusCommandOutput extends MetadataBearer, ListSMSStatusResult {
5
+ }
6
+ export declare class ListSMSStatusCommand extends SensCommand<ListSMSStatusCommandInput, ListSMSStatusCommandOutput, SensClientResolvedConfig> {
7
+ input: ListSMSStatusCommandInput;
8
+ serializer: RequestSerializer<ListSMSStatusCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<ListSMSStatusCommandOutput, SensClientResolvedConfig>;
10
+ constructor(input: ListSMSStatusCommandInput);
11
+ }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, SendAlimtalkInput, SendAlimtalkOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface SendAlimtalkCommandInput extends SendAlimtalkInput {
1
+ import { SensClientResolvedConfig, SensCommand, SendAlimtalkRequest, SendAlimtalkResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface SendAlimtalkCommandInput extends SendAlimtalkRequest {
5
3
  }
6
- export interface SendAlimtalkCommandOutput extends SendAlimtalkOutput, MetadataBearer {
4
+ export interface SendAlimtalkCommandOutput extends MetadataBearer, SendAlimtalkResult {
7
5
  }
8
6
  export declare class SendAlimtalkCommand extends SensCommand<SendAlimtalkCommandInput, SendAlimtalkCommandOutput, SensClientResolvedConfig> {
9
7
  input: SendAlimtalkCommandInput;
8
+ serializer: RequestSerializer<SendAlimtalkCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<SendAlimtalkCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: SendAlimtalkCommandInput);
11
- serialize(input: SendAlimtalkCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<SendAlimtalkCommandOutput>;
16
11
  }
@@ -1,16 +1,11 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, SendMMSInput, SendMMSOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface SendMMSCommandInput extends SendMMSInput {
1
+ import { SensClientResolvedConfig, SensCommand, SendMMSRequest, SendMMSResult, MetadataBearer, RequestSerializer, ResponseDeserializer } from "../models/index.js";
2
+ export interface SendMMSCommandInput extends SendMMSRequest {
5
3
  }
6
- export interface SendMMSCommandOutput extends SendMMSOutput, MetadataBearer {
4
+ export interface SendMMSCommandOutput extends MetadataBearer, SendMMSResult {
7
5
  }
8
6
  export declare class SendMMSCommand extends SensCommand<SendMMSCommandInput, SendMMSCommandOutput, SensClientResolvedConfig> {
9
7
  input: SendMMSCommandInput;
8
+ serializer: RequestSerializer<SendMMSCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<SendMMSCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: SendMMSCommandInput);
11
- serialize(input: SendMMSCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<SendMMSCommandOutput>;
16
11
  }
@@ -1,16 +1,15 @@
1
- import { HttpRequest, HttpResponse } from "@ingestkorea/util-http-handler";
2
- import { SensCommand, SendSMSInput, SendSMSOutput, MetadataBearer } from "../models";
3
- import { SensClientResolvedConfig } from "../SensClient";
4
- export interface SendSMSCommandInput extends SendSMSInput {
1
+ import { SensClientResolvedConfig, SensCommand, SendSMSRequest, SendSMSResult, MetadataBearer, RequestSerializer, ResponseDeserializer, SMSMessage } from "../models/index.js";
2
+ export interface SendSMSCommandInput extends SendSMSRequest {
5
3
  }
6
- export interface SendSMSCommandOutput extends SendSMSOutput, MetadataBearer {
4
+ export interface SendSMSCommandOutput extends MetadataBearer, SendSMSResult {
7
5
  }
8
6
  export declare class SendSMSCommand extends SensCommand<SendSMSCommandInput, SendSMSCommandOutput, SensClientResolvedConfig> {
9
7
  input: SendSMSCommandInput;
8
+ serializer: RequestSerializer<SendSMSCommandInput, SensClientResolvedConfig>;
9
+ deserializer: ResponseDeserializer<SendSMSCommandOutput, SensClientResolvedConfig>;
10
10
  constructor(input: SendSMSCommandInput);
11
- serialize(input: SendSMSCommandInput, config: SensClientResolvedConfig): Promise<HttpRequest>;
12
- deserialize(response: {
13
- response: HttpResponse;
14
- output: MetadataBearer;
15
- }): Promise<SendSMSCommandOutput>;
16
11
  }
12
+ export declare const resolveInputMessages: (messages: SMSMessage[], config: {
13
+ defaultContent: string;
14
+ defaultSubject: string;
15
+ }) => SMSMessage[];
@@ -1,11 +1,21 @@
1
- export declare const SMS_MAX = 90;
2
- export declare const LMS_MAX = 2000;
3
- export declare const MMS_FILE_MAX = 300;
4
1
  export declare const trimText: (input: string) => string;
5
2
  export declare const prettyPhoneNum: (input: string) => string;
6
3
  /** @returns content-length(euc-kr) */
7
4
  export declare const getContentLength: (input: string) => number;
8
- export declare const getRequestDuration: (input?: number) => {
5
+ export declare const convertToUtc: (input: string) => string;
6
+ export declare const convertToKst: (input: number) => string;
7
+ export declare const getDefaultRequestDuration: (config: {
8
+ durationLimitMs: number;
9
+ }) => {
9
10
  startTime: string;
10
11
  endTime: string;
11
12
  };
13
+ export declare const resolveRequestDuration: (input: {
14
+ startTime: string;
15
+ endTime: string;
16
+ }, config: {
17
+ durationLimitMs: number;
18
+ }) => {
19
+ startTimeMs: number;
20
+ endTimeMs: number;
21
+ };
@@ -1,11 +1,12 @@
1
- export * from "./SendAlimtalkCommand";
2
- export * from "./GetAlimtalkStatusCommand";
3
- export * from "./GetAlimtalkResultCommand";
4
- export * from "./GetAlimtalkTemplateCommand";
5
- export * from "./ListAlimtalkStatusCommand";
6
- export * from "./ListAlimtalkTemplatesCommand";
7
- export * from "./ListAlimtalkChannelsCommand";
8
- export * from "./SendSMSCommand";
9
- export * from "./SendMMSCommand";
10
- export * from "./GetSMSStatusCommand";
11
- export * from "./GetSMSResultCommand";
1
+ export * from "./GetAlimtalkResultCommand.js";
2
+ export * from "./GetAlimtalkStatusCommand.js";
3
+ export * from "./GetAlimtalkTemplateCommand.js";
4
+ export * from "./GetSMSResultCommand.js";
5
+ export * from "./GetSMSStatusCommand.js";
6
+ export * from "./ListAlimtalkChannelsCommand.js";
7
+ export * from "./ListAlimtalkStatusCommand.js";
8
+ export * from "./ListAlimtalkTemplatesCommand.js";
9
+ export * from "./ListSMSStatusCommand.js";
10
+ export * from "./SendAlimtalkCommand.js";
11
+ export * from "./SendMMSCommand.js";
12
+ export * from "./SendSMSCommand.js";
@@ -1,2 +1,2 @@
1
- export * from "./commands";
2
- export * from "./SensClient";
1
+ export * from "./commands/index.js";
2
+ export * from "./SensClient.js";
@@ -0,0 +1,7 @@
1
+ export declare const INGESTKOREA_USER_AGENT = "x-ingestkorea-user-agent";
2
+ export declare const INGESTKOREA_REQUEST_LOG = "x-ingestkorea-request";
3
+ export declare const INGESTKOREA_RETRY = "x-ingestkorea-attempts";
4
+ export declare const INGESTKOREA_RETRY_DELAY = "x-ingestkorea-total-retry-delay";
5
+ export declare const NCP_ACCESS_KEY = "x-ncp-iam-access-key";
6
+ export declare const NCP_TIMESTAMP = "x-ncp-apigw-timestamp";
7
+ export declare const NCP_SIGNATURE = "x-ncp-apigw-signature-v2";
@@ -1,4 +1,3 @@
1
- export * from "./middleware-sign";
2
- export * from "./middleware-metadata";
3
- export * from "./middleware-retry";
4
- export * from "./middleware-sort-headers";
1
+ export * from "./middleware-metadata.js";
2
+ export * from "./middleware-retry.js";
3
+ export * from "./middleware-sign.js";
@@ -1,2 +1,2 @@
1
- import { BuildMiddleware } from "../models";
2
- export declare const middlewareIngestkoreaMetadata: BuildMiddleware;
1
+ import { Middleware } from "../models/index.js";
2
+ export declare const middlewareIngestkoreaMetadata: Middleware;
@@ -1,2 +1,2 @@
1
- import { DeserializeMiddleware } from "../models";
2
- export declare const middlewareRetry: DeserializeMiddleware;
1
+ import { Middleware } from "../models/index.js";
2
+ export declare const middlewareRetry: Middleware;
@@ -1,2 +1,2 @@
1
- import { BuildMiddleware } from "../models";
2
- export declare const middlewareNcpSigner: BuildMiddleware;
1
+ import { Middleware } from "../models/index.js";
2
+ export declare const middlewareNcpSign: Middleware;
@@ -1,8 +1,8 @@
1
- import { StatusMessage } from "./GetAlimtalkStatus";
2
- export interface GetAlimtalkResultInput {
1
+ import { AlimtalkMessageStatus } from "./GetAlimtalkStatus.js";
2
+ export interface GetAlimtalkResultRequest {
3
3
  messageId: string;
4
4
  }
5
- export interface GetAlimtalkResultOutput extends StatusMessage {
5
+ export interface GetAlimtalkResultResult extends AlimtalkMessageStatus {
6
6
  failover?: Failover;
7
7
  }
8
8
  export interface Failover {
@@ -1,18 +1,21 @@
1
- import { ReceivedMessage } from "./SendAlimtalk";
2
- export interface GetAlimtalkStatusInput {
1
+ import { AlimtalkMessageRequestStatus } from "./SendAlimtalk.js";
2
+ export interface GetAlimtalkStatusRequest {
3
3
  requestId: string;
4
+ pageSize?: number;
5
+ nextToken?: string;
4
6
  }
5
- export interface GetAlimtalkStatusOutput {
7
+ export interface GetAlimtalkStatusResult {
6
8
  requestId?: string;
7
9
  statusCode?: string;
8
10
  statusName?: string;
9
- messages?: StatusMessage[];
11
+ messages?: AlimtalkMessageStatus[];
10
12
  pageSize?: number;
11
13
  pageIndex?: number;
12
14
  itemCount?: number;
13
15
  hasMore?: boolean;
16
+ nextToken?: string;
14
17
  }
15
- export interface StatusMessage extends ReceivedMessage {
18
+ export interface AlimtalkMessageStatus extends AlimtalkMessageRequestStatus {
16
19
  requestId?: string;
17
20
  requestTime?: string;
18
21
  plusFriendId?: string;