Skip to content
This repository has been archived by the owner on May 27, 2021. It is now read-only.

Veams/veams-services

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Head to the site for detailed instructions.

Gitter Chat

Veams Services

Simple services provided for and by Veams.

Usage

Install the package:

npm install veams-services --save 

Just import the service you need:

import VeamsHttp from 'veams-services/lib/http';

Http Service

You can simple use the http service and modify it for your needs, for example:

import VeamsHttp from 'veams-services/lib/http';

let httpService = new VeamsHttp({
	type: 'json'
});

/** 
 * Override the default parser,
 * which only returns `responseText`
 */
httpService.parser = ({ request }) => {
	return {
		status: request.status,
		statusText: request.statusText,
		body: JSON.parse(request.responseText)
	};
};

class MyPagesService {
	url = 'http://localhost:3000/api/pages';
	http = httpService;

	/**
	 * Static id checker.
	 *
	 * @param {String} id - Id of the endpoint.
	 */
	static checkId(id) {
		if (!id || typeof id !== 'string') {
			throw new Error(`PagesService :: You have to provide an "id" and this "id" needs to be a string!`);
		}
	}

	/**
	 * Fetch data items from the endpoint.
	 */
	read() {
		return this.http.get(`${this.url}`);
	}

	/**
	 * Fetch data item by provided id from the endpoint.
	 *
	 * @param {String} id - Id of the endpoint.
	 */
	readById(id) {
		this.constructor.checkId(id);

		return this.http.get(`${this.url}/${id}`);
	}
}

const myPagesService = new MyPagesService();

export default myPagesService;

That's it!

Releases

No releases published

Packages

No packages published