| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import type ApiResource from '~/models/ApiResource'
- import type { EnumChoice } from '~/types/interfaces'
- import type { Query as PiniaOrmQuery } from 'pinia-orm'
- type AnyJson = Record<string, unknown>
- interface AssociativeArray {
- [key: string]: unknown
- }
- interface Connector {
- request(
- method: HTTP_METHOD,
- url: string,
- body: null | unknown,
- params: null | AssociativeArray,
- query: null | AssociativeArray,
- )
- }
- interface HydraMetadata {
- readonly totalItems?: number
- first?: number
- last?: number
- next?: number
- previous?: number
- type?: METADATA_TYPE
- }
- interface ApiResponse {
- data: AnyJson | ApiResource | (AnyJson | ApiResource)[] | EnumApiResponse
- metadata: HydraMetadata
- }
- interface ApiCollection extends ApiResponse {
- data: AnyJson[]
- metadata: HydraMetadata
- }
- interface Pagination {
- first?: number
- last?: number
- next?: number
- previous?: number
- }
- interface Collection<T extends ApiResource> {
- items: Array<T>
- pagination: Pagination
- totalItems: number | undefined
- }
- interface ApiFilter {
- applyToPiniaOrmQuery: <T extends ApiResource>(
- query: PiniaOrmQuery<T>,
- ) => PiniaOrmQuery<T>
- getApiQueryPart: () => string
- }
- interface EnumItem {
- value: string
- label: string
- }
- interface EnumApiResponse extends AnyJson {
- name: string
- items: Record<string, string>
- }
- interface CollectionResponse {
- member: Array<AnyJson>
- totalItems: number
- }
- type CollectionResponsePromise = Response<CollectionResponse>
- type Enum = Array<EnumChoice>
|