next-drupal
Version:
Helpers for Next.js + Drupal.
68 lines (59 loc) • 1.4 kB
text/typescript
/* eslint-disable @typescript-eslint/no-explicit-any */
import type { JsonApiError, JsonApiLinks } from "../jsonapi-errors"
import type { DrupalPathAlias } from "./drupal"
// TODO: any...ugh.
export interface JsonApiResponse extends Record<string, any> {
jsonapi?: {
version: string
meta: Record<string, any>[]
}
data: Record<string, any>[]
errors: JsonApiError[]
meta: {
count: number
[key: string]: any
}
links?: JsonApiLinks
included?: Record<string, any>[]
}
export interface JsonApiResourceBodyRelationship {
data: {
type: string
id: string
}
}
export interface JsonApiCreateResourceBody {
data: {
type?: string
attributes?: Record<string, any>
relationships?: Record<string, JsonApiResourceBodyRelationship>
}
}
export interface JsonApiCreateFileResourceBody {
data: {
type?: string
attributes: {
type: string
field: string
filename: string
file: Buffer
}
}
}
export interface JsonApiUpdateResourceBody {
data: {
type?: string
id?: string
attributes?: Record<string, any>
relationships?: Record<string, JsonApiResourceBodyRelationship>
}
}
export interface JsonApiResource extends Record<string, any> {
id: string
type: string
langcode: string
status: boolean
}
export interface JsonApiResourceWithPath extends JsonApiResource {
path: DrupalPathAlias
}