@prismicio/client
Version:
The official JavaScript + TypeScript client library for Prismic
100 lines (82 loc) • 2.54 kB
text/typescript
import type { Ref } from "./ref"
/**
* Repository metadata returned from the Prismic REST API V2. This data can be fetched by sending a
* `GET` a request to a repository's `/api/v2` endpoint.
*
* @see More details on the `/api/v2` endpoint: {@link https://prismic.io/docs/api#refs-and-the-entry-api}
*/
export interface Repository {
/**
* A list of refs for the repository.
*
* @see {@link Ref}
*/
refs: Ref[]
/** An identifier used to query content with the latest integration fields data. */
integrationFieldsRef: string | null
/**
* A list of languages for the repository.
*
* @see {@link Language}
*/
languages: Language[]
/** A list of the repository's custom type API IDs mapped to their human-readable name. */
types: Record<string, string>
/**
* @deprecated Tags are only available in the forms object.
* @see More details in the blog post "A change to how the Prismic API handles tags": {@link https://prismic.io/blog/a-change-to-how-the-prismic-api-handles-tags}
*/
tags: string[]
/**
* An internally-used list of REST API features for the repository.
*
* @internal
*/
forms: Record<string, Form>
/** The URL used to begin the OAuth process for the repository. */
oauth_initiate: string
/** The token used for the OAuth process for the repository. */
oauth_token: string
/** The version of the API. */
version: string
/** Licensing information for the repository content. */
license: string
/** @deprecated Experiments are no longer part of Prismic. */
experiments: unknown
/** @deprecated Bookmarks are not longer part of Prismic. */
bookmarks: Record<string, string>
}
/** Metadata for a language that has been configured for a repository. */
export interface Language {
/** A unique identifier for the language. */
id: string
/** The name of the language. */
name: string
/** Whether or not the language is the default language of the repository. */
is_master: boolean
}
/**
* A Prismic REST API V2 feature supported by the repository. It contains metadata about the feature
* and how to interact with it via the API.
*
* @internal
*/
export interface Form {
method: "GET"
enctype: string
action: string
name?: string
rel?: string
fields: Record<string, FormField>
}
/**
* A field for a feature of the Prismic REST API V2. It contains metadata about the feature's field
* and how to interact with it via the API.
*
* @internal
*/
export interface FormField {
type: "String" | "Integer"
multiple: boolean
default?: string
}