data.d.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import ApiResource from "~/models/ApiResource";
  2. import type {EnumChoice} from "~/types/interfaces";
  3. type AnyJson = Record<string, any>
  4. interface AssociativeArray {
  5. [key: string]: any;
  6. }
  7. interface Connector {
  8. request(
  9. method: HTTP_METHOD,
  10. url: string,
  11. body: null | any,
  12. params: null | AssociativeArray,
  13. query: null | AssociativeArray
  14. )
  15. }
  16. interface HydraMetadata {
  17. readonly totalItems?: number
  18. firstPage?: number
  19. lastPage?: number
  20. nextPage?: number
  21. previousPage?: number
  22. type?: METADATA_TYPE
  23. }
  24. interface ApiResponse {
  25. data: AnyJson
  26. metadata: HydraMetadata
  27. }
  28. interface ApiCollection extends ApiResponse {
  29. data: AnyJson
  30. metadata: HydraMetadata
  31. }
  32. interface Pagination {
  33. first?: number
  34. last?: number
  35. next?: number
  36. previous?: number
  37. }
  38. interface Collection {
  39. items: Array<ApiResource>
  40. pagination: Pagination
  41. totalItems: number | undefined
  42. }
  43. interface EnumItem {
  44. value: string
  45. label: string
  46. }
  47. type Enum = Array<EnumChoice>