@underpostnet/underpost
Version:
90 lines (84 loc) • 2.46 kB
JavaScript
import { Auth } from '../../components/core/Auth.js';
import { loggerFactory } from '../../components/core/Logger.js';
import { getApiBaseUrl, headersFactory, payloadFactory } from '../core/core.service.js';
const logger = loggerFactory(import.meta);
logger.info('Load service');
const endpoint = 'instance';
const InstanceService = {
post: (options = { id: '', body: {} }) =>
new Promise((resolve, reject) =>
fetch(getApiBaseUrl({ id: options.id, endpoint }), {
method: 'POST',
headers: headersFactory(),
body: payloadFactory(options.body),
})
.then(async (res) => {
return await res.json();
})
.then((res) => {
logger.info(res);
return resolve(res);
})
.catch((error) => {
logger.error(error);
return reject(error);
}),
),
put: (options = { id: '', body: {} }) =>
new Promise((resolve, reject) =>
fetch(getApiBaseUrl({ id: options.id, endpoint }), {
method: 'PUT',
headers: headersFactory(),
body: payloadFactory(options.body),
})
.then(async (res) => {
return await res.json();
})
.then((res) => {
logger.info(res);
return resolve(res);
})
.catch((error) => {
logger.error(error);
return reject(error);
}),
),
get: (options = { id: '', body: {} }) =>
new Promise((resolve, reject) =>
fetch(getApiBaseUrl({ id: options.id, endpoint }), {
method: 'GET',
headers: headersFactory(),
})
.then(async (res) => {
return await res.json();
})
.then((res) => {
logger.info(res);
return resolve(res);
})
.catch((error) => {
logger.error(error);
return reject(error);
}),
),
delete: (options = { id: '', body: {} }) =>
new Promise((resolve, reject) =>
fetch(getApiBaseUrl({ id: options.id, endpoint }), {
method: 'DELETE',
headers: headersFactory(),
body: payloadFactory(options.body),
})
.then(async (res) => {
return await res.json();
})
.then((res) => {
logger.info(res);
return resolve(res);
})
.catch((error) => {
logger.error(error);
return reject(error);
}),
),
};
export { InstanceService };