| @@ -0,0 +1,64 @@ | |||||
| import { EmailID, SendEmailKeyProps, sendEmail } from "@/mypage/メール"; | |||||
| import { makeReceipt } from "@/mypage/領収証発行"; | |||||
| /** | |||||
| * windowのグローバルオブジェクトに関数を登録する | |||||
| * 本typescriptプロジェクト以外からも関数を参照できるようにするためのAPI | |||||
| */ | |||||
| declare global { | |||||
| interface Window { | |||||
| KtKintoneLib: typeof KtKintoneLib; | |||||
| } | |||||
| } | |||||
| namespace KtKintoneLib { | |||||
| // MyPageAPIを呼び出すための関数群 | |||||
| export namespace api { | |||||
| // 領収証作成API | |||||
| export function 領収証作成( | |||||
| 入金予定実績レコード番号: number[] | |||||
| ): Promise<boolean> { | |||||
| return makeReceipt(入金予定実績レコード番号); | |||||
| } | |||||
| // メール送信API群 | |||||
| export namespace メール送信 { | |||||
| export function 解約承認(各種申請レコード番号: number): Promise<boolean> { | |||||
| return sendEmail(EmailID.解約承認, { | |||||
| application_no: 各種申請レコード番号, | |||||
| }); | |||||
| } | |||||
| export function 車両番号防犯登録番号変更完了( | |||||
| 各種申請レコード番号: number | |||||
| ): Promise<boolean> { | |||||
| return sendEmail(EmailID.車両番号_防犯登録番号変更完了, { | |||||
| application_no: 各種申請レコード番号, | |||||
| }); | |||||
| } | |||||
| } | |||||
| export function 利用者情報変更完了( | |||||
| 各種申請レコード番号: number | |||||
| ): Promise<boolean> { | |||||
| return sendEmail(EmailID.利用者情報変更完了, { | |||||
| application_no: 各種申請レコード番号, | |||||
| }); | |||||
| } | |||||
| export function 申込受付( | |||||
| 定期申込予約レコード番号: number | |||||
| ): Promise<boolean> { | |||||
| return sendEmail(EmailID.申込受付, { | |||||
| season_ticket_contract_entry_record_no: 定期申込予約レコード番号, | |||||
| }); | |||||
| } | |||||
| export function 申込承認( | |||||
| 定期申込予約レコード番号: number | |||||
| ): Promise<boolean> { | |||||
| return sendEmail(EmailID.申込承認, { | |||||
| season_ticket_contract_entry_record_no: 定期申込予約レコード番号, | |||||
| }); | |||||
| } | |||||
| } | |||||
| } | |||||
| window.KtKintoneLib = KtKintoneLib; | |||||
| @@ -2,21 +2,30 @@ import { MyPageApiID } from "."; | |||||
| import { send } from "./lib"; | import { send } from "./lib"; | ||||
| export const EmailID = { | export const EmailID = { | ||||
| 解約承認: "解約承認", | |||||
| 車両番号_防犯登録番号変更完了: "車両番号・防犯登録番号変更完了", | |||||
| 利用者情報変更完了: "利用者情報変更完了", | |||||
| 振替頻度変更完了: "振替頻度変更完了", | |||||
| 申込受付: "申込受付", | |||||
| 申込承認: "申込承認", | |||||
| 定期選考_一斉通知: "定期選考_一斉通知", | 定期選考_一斉通知: "定期選考_一斉通知", | ||||
| 定期選考_当選のお知らせ: "定期選考_当選のお知らせ", | |||||
| 定期選考_落選のお知らせ: "定期選考_落選のお知らせ", | |||||
| } as const; | } as const; | ||||
| export type EmailID = (typeof EmailID)[keyof typeof EmailID]; | export type EmailID = (typeof EmailID)[keyof typeof EmailID]; | ||||
| export type SendEmailKeyProps = { | |||||
| season_ticket_contract_entry_record_no?: number; | |||||
| application_no?: number; | |||||
| }; | |||||
| export const sendEmail = ( | export const sendEmail = ( | ||||
| id: EmailID, | id: EmailID, | ||||
| key: { | |||||
| season_ticket_contract_entry_record_no?: string; | |||||
| application_no?: string; | |||||
| }, | |||||
| data: object | |||||
| key: SendEmailKeyProps, | |||||
| data: object = {} | |||||
| ) => { | ) => { | ||||
| const sendData = { | const sendData = { | ||||
| email_id: id, | email_id: id, | ||||
| ...data, | |||||
| ...(data ?? {}), | |||||
| ...key, | ...key, | ||||
| token: process.env.MYPAGE_TOKEN ?? "", | token: process.env.MYPAGE_TOKEN ?? "", | ||||
| }; | }; | ||||
| @@ -0,0 +1,9 @@ | |||||
| import { MyPageApiID } from "."; | |||||
| import { send } from "./lib"; | |||||
| export const makeReceipt = (recordNos: number[]) => { | |||||
| const sendData = { | |||||
| record_no: recordNos, | |||||
| }; | |||||
| return send(MyPageApiID.領収証発行, sendData); | |||||
| }; | |||||