| 123456789101112131415161718192021222324252627282930313233343536373839 |
- import {Plugin} from '@nuxt/types'
- import HydraParser from '../../services/utils/hydraParser'
- import {AnyJson} from "~/types/types";
- declare module '@nuxt/types' {
- interface Context {
- $rest: AnyJson
- }
- }
- const restPlugin: Plugin = (ctx) => {
- const getCollection = async (uri: string) => {
- const responseQuery = await ctx.$http.get(`${uri}`);
- return await queries(responseQuery);
- }
- const getItem = async (uri: string, id: number) => {
- const query = await ctx.$http.get(`${uri}/${id}`);
- return await queries(query);
- }
- const queries = async (responseQuery: any) => {
- try {
- let response = await responseQuery.json();
- const hydra = new HydraParser();
- return hydra.parse(response);
- } catch (err) {
- console.log(err)
- }
- }
- ctx.$rest = {
- 'getCollection': getCollection,
- 'getItem': getItem
- }
- }
- export default restPlugin
|