@ingestkorea/client-sens
Version:
INGESTKOREA SDK Naver Cloud Platform SENS Client for Node.js.
51 lines (50 loc) • 2.03 kB
JavaScript
import { HttpRequest } from "@ingestkorea/util-http-handler";
import { parseBody, parseErrorBody, deserializeMetadata } from "./constants";
export const serializeIngestkorea_restJson_SendSMSCommand = async (input, config) => {
const hostname = "sens.apigw.ntruss.com";
const path = "/sms/v2/services/" + config.serviceId.sms + "/messages";
const headers = {
"content-type": "application/json; charset=utf-8",
host: hostname,
};
const body = JSON.stringify({
from: input.from,
content: input.content,
messages: input.messages,
type: input.type != undefined ? input.type : "SMS",
...(input.contentType != undefined && { contentType: input.contentType }),
...(input.countryCode != undefined && { countryCode: input.countryCode }),
...(input.subject != undefined && input.type === "LMS" && { subject: input.subject }),
});
return new HttpRequest({
protocol: "https:",
method: "POST",
hostname: hostname,
path: path,
headers: headers,
body: body,
});
};
export const deserializeIngestkorea_restJson_SendSMSCommand = async (response) => {
const { response: httpResponse, output } = response;
if (httpResponse.statusCode > 300)
await parseErrorBody(httpResponse);
const data = await parseBody(httpResponse); // SendSMSOutput
let contents = {};
contents = await deserializeIngestkorea_restJson_SendSMSOutput(data);
return {
$metadata: {
...deserializeMetadata(httpResponse),
...output.$metadata,
},
...contents,
};
};
export const deserializeIngestkorea_restJson_SendSMSOutput = async (output) => {
return {
requestId: output.requestId ? output.requestId : undefined,
requestTime: output.requestTime ? output.requestTime : undefined,
statusCode: output.statusCode ? output.statusCode : undefined,
statusName: output.statusName ? output.statusName : undefined,
};
};