UNPKG

@underpostnet/underpost

Version:

Underpost Platform — end-to-end CI/CD and application-delivery toolchain CLI. Covers bare metal, Kubernetes, K3s, kubeadm, LXD, container/image orchestration, secrets, databases, cron jobs, monitoring, SSH, runners, PWA + Workbox delivery, and release orc

107 lines (106 loc) 3.01 kB
import { Auth } from '../../components/core/Auth.js'; import { loggerFactory } from '../../components/core/Logger.js'; import { getApiBaseUrl, headersFactory, payloadFactory, buildQueryUrl } from '../core/core.service.js'; const logger = loggerFactory(import.meta); logger.info('Load service'); const endpoint = 'user'; class UserMock { static default = { username: 'guest', email: `guest@${location.hostname}`, role: 'guest', }; } class UserService { static post = (options = { id: '', body: {} }) => new Promise((resolve, reject) => fetch(getApiBaseUrl({ id: options.id, endpoint }), { method: 'POST', headers: headersFactory(), credentials: 'include', 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); }), ); static get = (options = {}) => { const { id = 'all', page, limit, filterModel, sortModel, sort, asc, order } = options; const url = buildQueryUrl(getApiBaseUrl({ id, endpoint }), { page, limit, filterModel, sortModel, sort, asc, order, }); return new Promise((resolve, reject) => fetch(url.toString(), { method: 'GET', headers: headersFactory(), credentials: 'include', }) .then(async (res) => { return await res.json(); }) .then((res) => { logger.info(res); return resolve(res); }) .catch((error) => { logger.error(error); return reject(error); }), ); }; static delete = (options = { id: '', body: {} }) => new Promise((resolve, reject) => fetch(getApiBaseUrl({ id: options.id, endpoint }), { method: 'DELETE', headers: headersFactory(), credentials: 'include', 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); }), ); static put = (options = { id: '', body: {}, headerId: '' }) => new Promise((resolve, reject) => fetch(getApiBaseUrl({ id: options.id, endpoint }), { method: 'PUT', headers: headersFactory(options.headerId), credentials: 'include', 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 { UserService, UserMock };