rest.ts 752 B

12345678910111213141516171819202122232425262728293031
  1. import {Plugin} from '@nuxt/types'
  2. import {$hydraParser} from '../../services/utils/hydraParser'
  3. const restPlugin: Plugin = (ctx) => {
  4. const getCollection = async (uri: string) => {
  5. const responseQuery = await ctx.$http.get(`${uri}`);
  6. return await queries(responseQuery);
  7. }
  8. const getItem = async (uri: string, id: number) => {
  9. const query = await ctx.$http.get(`${uri}/${id}`);
  10. return await queries(query);
  11. }
  12. const queries = async (responseQuery: any) => {
  13. try {
  14. let response = await responseQuery.json();
  15. return $hydraParser.parse(response);
  16. } catch (err) {
  17. console.log(err)
  18. }
  19. }
  20. ctx.$rest = {
  21. 'getCollection': getCollection,
  22. 'getItem': getItem
  23. }
  24. }
  25. export default restPlugin