瀏覽代碼

ajout de la méthode getFirstItem

Vincent GUFFON 4 年之前
父節點
當前提交
644ddc2623
共有 2 個文件被更改,包括 16 次插入3 次删除
  1. 2 2
      services/dataProvider/dataProvider.ts
  2. 14 1
      services/store/query.ts

+ 2 - 2
services/dataProvider/dataProvider.ts

@@ -35,7 +35,7 @@ class DataProvider{
 
       return await this.provide(deserializeResponse)
     }catch(error){
-      throw new ApiError(error.response.status, error.response.data.detail)
+      throw new ApiError(500, error)
     }
   }
 
@@ -59,7 +59,7 @@ class DataProvider{
 
   deserialization(data: AnyJson): AnyJson{
     const serializer = new Serializer()
-    return serializer.denormalize(data, DENORMALIZER_TYPE.DEFAULT)
+    return serializer.denormalize(data, DENORMALIZER_TYPE.HYDRA)
   }
 }
 

+ 14 - 1
services/store/query.ts

@@ -1,4 +1,4 @@
-import {Query as VuexQuery} from "@vuex-orm/core";
+import {Query as VuexQuery, Model} from "@vuex-orm/core";
 import {$objectProperties} from "~/services/utils/objectProperties";
 import {AnyJson} from "~/types/interfaces";
 import {Collection, Item} from "@vuex-orm/core/dist/src/data/Data";
@@ -24,6 +24,19 @@ class Query{
     return item;
   }
 
+  /**
+   * Récupération du premier item
+   * @param {VuexQuery} query
+   * @return {Item} l'Item
+   */
+  public getFirstItem(query: VuexQuery): Item{
+    const item  =  query.first()
+    if(!item || typeof item === "undefined")
+      throw new Error('item not found')
+
+    return item;
+  }
+
   /**
    * Récupération la collection de la Query
    * @param {VuexQuery} query