data.d.ts 987 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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>