| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import type ApiResource from '~/models/ApiResource'
- import type { EnumChoice } from '~/types/interfaces'
- import type {
- Query as PiniaOrmQuery,
- Collection as PiniaOrmCollection,
- } 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
- 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: PiniaOrmCollection<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 CollectionResponse {
- member: Array<AnyJson>
- totalItems: number
- }
- type CollectionResponsePromise = Response<CollectionResponse>
- type Enum = Array<EnumChoice>
|