UNPKG

@portone/server-sdk

Version:

PortOne JavaScript SDK for server-side usage

401 lines (400 loc) • 11.9 kB
import { PartnerError } from "./PartnerError.mjs"; import { USER_AGENT } from "../../../client.mjs"; export function PartnerClient(init) { const baseUrl = init.baseUrl ?? "https://api.portone.io"; const secret = init.secret; return { createPlatformPartners: async (options) => { const { test, partners } = options; const requestBody = JSON.stringify({ partners }); const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/batch?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT }, body: requestBody } ); if (!response.ok) { throw new CreatePlatformPartnersError(await response.json()); } return response.json(); }, connectPartnerMemberCompany: async (options) => { const { id, test } = options; const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/member-company-connect/${encodeURIComponent(id)}?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT } } ); if (!response.ok) { throw new ConnectPartnerMemberCompanyError(await response.json()); } return response.json(); }, connectBulkPartnerMemberCompany: async (options) => { const test = options?.test; const filter = options?.filter; const requestBody = JSON.stringify({ filter }); const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/member-company-connect?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT }, body: requestBody } ); if (!response.ok) { throw new ConnectBulkPartnerMemberCompanyError(await response.json()); } return response.json(); }, disconnectPartnerMemberCompany: async (options) => { const { id, test } = options; const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/member-company-disconnect/${encodeURIComponent(id)}?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT } } ); if (!response.ok) { throw new DisconnectPartnerMemberCompanyError(await response.json()); } return response.json(); }, disconnectBulkPartnerMemberCompany: async (options) => { const test = options?.test; const filter = options?.filter; const requestBody = JSON.stringify({ filter }); const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/member-company-disconnect?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT }, body: requestBody } ); if (!response.ok) { throw new DisconnectBulkPartnerMemberCompanyError(await response.json()); } return response.json(); }, archivePlatformPartner: async (options) => { const { id, test } = options; const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/${encodeURIComponent(id)}/archive?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT } } ); if (!response.ok) { throw new ArchivePlatformPartnerError(await response.json()); } return response.json(); }, recoverPlatformPartner: async (options) => { const { id, test } = options; const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/${encodeURIComponent(id)}/recover?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT } } ); if (!response.ok) { throw new RecoverPlatformPartnerError(await response.json()); } return response.json(); }, getPlatformPartner: async (options) => { const { id, test } = options; const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/${encodeURIComponent(id)}?${query}`, baseUrl), { method: "GET", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT } } ); if (!response.ok) { throw new GetPlatformPartnerError(await response.json()); } return response.json(); }, updatePlatformPartner: async (options) => { const { id, test, name, contact, account, defaultContractId, memo, tags, type, userDefinedProperties } = options; const requestBody = JSON.stringify({ name, contact, account, defaultContractId, memo, tags, type, userDefinedProperties }); const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners/${encodeURIComponent(id)}?${query}`, baseUrl), { method: "PATCH", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT }, body: requestBody } ); if (!response.ok) { throw new UpdatePlatformPartnerError(await response.json()); } return response.json(); }, getPlatformPartners: async (options) => { const test = options?.test; const page = options?.page; const filter = options?.filter; const requestBody = JSON.stringify({ page, filter }); const query = [ ["test", test], ["requestBody", requestBody] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners?${query}`, baseUrl), { method: "GET", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT } } ); if (!response.ok) { throw new GetPlatformPartnersError(await response.json()); } return response.json(); }, createPlatformPartner: async (options) => { const { test, id, name, contact, account, defaultContractId, memo, tags, type, userDefinedProperties } = options; const requestBody = JSON.stringify({ id, name, contact, account, defaultContractId, memo, tags, type, userDefinedProperties }); const query = [ ["test", test] ].flatMap(([key, value]) => value == null ? [] : `${key}=${encodeURIComponent(value)}`).join("&"); const response = await fetch( new URL(`/platform/partners?${query}`, baseUrl), { method: "POST", headers: { Authorization: `PortOne ${secret}`, "User-Agent": USER_AGENT }, body: requestBody } ); if (!response.ok) { throw new CreatePlatformPartnerError(await response.json()); } return response.json(); } }; } export class CreatePlatformPartnersError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, CreatePlatformPartnersError.prototype); this.name = "CreatePlatformPartnersError"; } } export class ConnectPartnerMemberCompanyError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, ConnectPartnerMemberCompanyError.prototype); this.name = "ConnectPartnerMemberCompanyError"; } } export class ConnectBulkPartnerMemberCompanyError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, ConnectBulkPartnerMemberCompanyError.prototype); this.name = "ConnectBulkPartnerMemberCompanyError"; } } export class DisconnectPartnerMemberCompanyError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, DisconnectPartnerMemberCompanyError.prototype); this.name = "DisconnectPartnerMemberCompanyError"; } } export class DisconnectBulkPartnerMemberCompanyError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, DisconnectBulkPartnerMemberCompanyError.prototype); this.name = "DisconnectBulkPartnerMemberCompanyError"; } } export class ArchivePlatformPartnerError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, ArchivePlatformPartnerError.prototype); this.name = "ArchivePlatformPartnerError"; } } export class RecoverPlatformPartnerError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, RecoverPlatformPartnerError.prototype); this.name = "RecoverPlatformPartnerError"; } } export class GetPlatformPartnerError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, GetPlatformPartnerError.prototype); this.name = "GetPlatformPartnerError"; } } export class UpdatePlatformPartnerError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, UpdatePlatformPartnerError.prototype); this.name = "UpdatePlatformPartnerError"; } } export class GetPlatformPartnersError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, GetPlatformPartnersError.prototype); this.name = "GetPlatformPartnersError"; } } export class CreatePlatformPartnerError extends PartnerError { /** @ignore */ constructor(data) { super(data); Object.setPrototypeOf(this, CreatePlatformPartnerError.prototype); this.name = "CreatePlatformPartnerError"; } }