@dossierhq/integration-test
Version:
Integration test to ensure that different Dossier database adapters work as expected.
226 lines (225 loc) • 16.4 kB
TypeScript
import type { Component, DossierClient, DossierExceptionClient, Entity, EntityReference, Location, PublishedDossierClient, PublishedDossierExceptionClient, PublishedEntity, RichText } from '@dossierhq/core';
export type AppDossierClient = DossierClient<AppEntity, AppComponent, AppUniqueIndexes, AppDossierExceptionClient>;
export type AppDossierExceptionClient = DossierExceptionClient<AppEntity, AppComponent, AppUniqueIndexes>;
export type AppUniqueIndexes = 'genericUnique' | 'stringsUnique';
export type AppEntity = ChangeValidations | Components | Locations | MigrationEntity | ReadOnly | References | RichTexts | Strings | SubjectOnly | SubjectOrDefaultAuthKey | TitleOnly;
export interface ChangeValidationsFields {
required: string | null;
matchPattern: string | null;
richText: RichText | null;
component: AppComponent | null;
componentList: AppComponent[] | null;
}
export type ChangeValidations = Entity<'ChangeValidations', ChangeValidationsFields, ''>;
export declare function isChangeValidations(entity: Entity<string, object>): entity is ChangeValidations;
export declare function assertIsChangeValidations(entity: Entity<string, object>): asserts entity is ChangeValidations;
export interface ComponentsFields {
any: AppComponent | null;
anyAdminOnly: AppComponent | null;
}
export type Components = Entity<'Components', ComponentsFields, ''>;
export declare function isComponents(entity: Entity<string, object>): entity is Components;
export declare function assertIsComponents(entity: Entity<string, object>): asserts entity is Components;
export interface LocationsFields {
location: Location | null;
locationList: Location[] | null;
locationAdminOnly: Location | null;
}
export type Locations = Entity<'Locations', LocationsFields, ''>;
export declare function isLocations(entity: Entity<string, object>): entity is Locations;
export declare function assertIsLocations(entity: Entity<string, object>): asserts entity is Locations;
export type MigrationEntityFields = Record<never, never>;
export type MigrationEntity = Entity<'MigrationEntity', MigrationEntityFields, ''>;
export declare function isMigrationEntity(entity: Entity<string, object>): entity is MigrationEntity;
export declare function assertIsMigrationEntity(entity: Entity<string, object>): asserts entity is MigrationEntity;
export interface ReadOnlyFields {
message: string | null;
}
export type ReadOnly = Entity<'ReadOnly', ReadOnlyFields, '' | 'subject'>;
export declare function isReadOnly(entity: Entity<string, object>): entity is ReadOnly;
export declare function assertIsReadOnly(entity: Entity<string, object>): asserts entity is ReadOnly;
export interface ReferencesFields {
any: EntityReference | null;
anyList: EntityReference[] | null;
anyAdminOnly: EntityReference | null;
titleOnly: EntityReference | null;
}
export type References = Entity<'References', ReferencesFields, ''>;
export declare function isReferences(entity: Entity<string, object>): entity is References;
export declare function assertIsReferences(entity: Entity<string, object>): asserts entity is References;
export interface RichTextsFields {
richText: RichText | null;
richTextList: RichText[] | null;
richTextMinimal: RichText | null;
richTextLimitedTypes: RichText | null;
}
export type RichTexts = Entity<'RichTexts', RichTextsFields, ''>;
export declare function isRichTexts(entity: Entity<string, object>): entity is RichTexts;
export declare function assertIsRichTexts(entity: Entity<string, object>): asserts entity is RichTexts;
export interface StringsFields {
multiline: string | null;
stringAdminOnly: string | null;
pattern: string | null;
patternList: string[] | null;
values: 'bar' | 'baz' | 'foo' | null;
valuesList: ('bar' | 'baz' | 'foo')[] | null;
unique: string | null;
uniqueAdminOnly: string | null;
uniqueGenericIndex: string | null;
}
export type Strings = Entity<'Strings', StringsFields, ''>;
export declare function isStrings(entity: Entity<string, object>): entity is Strings;
export declare function assertIsStrings(entity: Entity<string, object>): asserts entity is Strings;
export interface SubjectOnlyFields {
message: string | null;
}
export type SubjectOnly = Entity<'SubjectOnly', SubjectOnlyFields, 'subject'>;
export declare function isSubjectOnly(entity: Entity<string, object>): entity is SubjectOnly;
export declare function assertIsSubjectOnly(entity: Entity<string, object>): asserts entity is SubjectOnly;
export interface SubjectOrDefaultAuthKeyFields {
message: string | null;
}
export type SubjectOrDefaultAuthKey = Entity<'SubjectOrDefaultAuthKey', SubjectOrDefaultAuthKeyFields, '' | 'subject'>;
export declare function isSubjectOrDefaultAuthKey(entity: Entity<string, object>): entity is SubjectOrDefaultAuthKey;
export declare function assertIsSubjectOrDefaultAuthKey(entity: Entity<string, object>): asserts entity is SubjectOrDefaultAuthKey;
export interface TitleOnlyFields {
title: string | null;
}
export type TitleOnly = Entity<'TitleOnly', TitleOnlyFields, ''>;
export declare function isTitleOnly(entity: Entity<string, object>): entity is TitleOnly;
export declare function assertIsTitleOnly(entity: Entity<string, object>): asserts entity is TitleOnly;
export type AppComponent = AdminOnlyComponent | ChangeValidationsComponent | LocationsComponent | MigrationComponent | ReferencesComponent;
export type AdminOnlyComponentFields = Record<never, never>;
export type AdminOnlyComponent = Component<'AdminOnlyComponent', AdminOnlyComponentFields>;
export declare function isAdminOnlyComponent(component: Component<string, object> | AdminOnlyComponent): component is AdminOnlyComponent;
export declare function assertIsAdminOnlyComponent(component: Component<string, object> | AdminOnlyComponent): asserts component is AdminOnlyComponent;
export interface ChangeValidationsComponentFields {
matchPattern: string | null;
}
export type ChangeValidationsComponent = Component<'ChangeValidationsComponent', ChangeValidationsComponentFields>;
export declare function isChangeValidationsComponent(component: Component<string, object> | ChangeValidationsComponent): component is ChangeValidationsComponent;
export declare function assertIsChangeValidationsComponent(component: Component<string, object> | ChangeValidationsComponent): asserts component is ChangeValidationsComponent;
export interface LocationsComponentFields {
location: Location | null;
locationAdminOnly: Location | null;
}
export type LocationsComponent = Component<'LocationsComponent', LocationsComponentFields>;
export declare function isLocationsComponent(component: Component<string, object> | LocationsComponent): component is LocationsComponent;
export declare function assertIsLocationsComponent(component: Component<string, object> | LocationsComponent): asserts component is LocationsComponent;
export type MigrationComponentFields = Record<never, never>;
export type MigrationComponent = Component<'MigrationComponent', MigrationComponentFields>;
export declare function isMigrationComponent(component: Component<string, object> | MigrationComponent): component is MigrationComponent;
export declare function assertIsMigrationComponent(component: Component<string, object> | MigrationComponent): asserts component is MigrationComponent;
export interface ReferencesComponentFields {
reference: EntityReference | null;
}
export type ReferencesComponent = Component<'ReferencesComponent', ReferencesComponentFields>;
export declare function isReferencesComponent(component: Component<string, object> | ReferencesComponent): component is ReferencesComponent;
export declare function assertIsReferencesComponent(component: Component<string, object> | ReferencesComponent): asserts component is ReferencesComponent;
export type AppPublishedDossierClient = PublishedDossierClient<AppPublishedEntity, AppPublishedComponent, AppPublishedUniqueIndexes, AppPublishedDossierExceptionClient>;
export type AppPublishedDossierExceptionClient = PublishedDossierExceptionClient<AppPublishedEntity, AppPublishedComponent, AppPublishedUniqueIndexes>;
export type AppPublishedUniqueIndexes = 'genericUnique' | 'stringsUnique';
export type AppPublishedEntity = PublishedChangeValidations | PublishedComponents | PublishedLocations | PublishedMigrationEntity | PublishedReadOnly | PublishedReferences | PublishedRichTexts | PublishedStrings | PublishedSubjectOnly | PublishedSubjectOrDefaultAuthKey | PublishedTitleOnly;
export interface PublishedChangeValidationsFields {
required: string;
matchPattern: string | null;
richText: RichText | null;
component: AppPublishedComponent | null;
componentList: AppPublishedComponent[] | null;
}
export type PublishedChangeValidations = PublishedEntity<'ChangeValidations', PublishedChangeValidationsFields, ''>;
export declare function isPublishedChangeValidations(entity: PublishedEntity<string, object>): entity is PublishedChangeValidations;
export declare function assertIsPublishedChangeValidations(entity: PublishedEntity<string, object>): asserts entity is PublishedChangeValidations;
export interface PublishedComponentsFields {
any: AppPublishedComponent | null;
}
export type PublishedComponents = PublishedEntity<'Components', PublishedComponentsFields, ''>;
export declare function isPublishedComponents(entity: PublishedEntity<string, object>): entity is PublishedComponents;
export declare function assertIsPublishedComponents(entity: PublishedEntity<string, object>): asserts entity is PublishedComponents;
export interface PublishedLocationsFields {
location: Location | null;
locationList: Location[] | null;
}
export type PublishedLocations = PublishedEntity<'Locations', PublishedLocationsFields, ''>;
export declare function isPublishedLocations(entity: PublishedEntity<string, object>): entity is PublishedLocations;
export declare function assertIsPublishedLocations(entity: PublishedEntity<string, object>): asserts entity is PublishedLocations;
export type PublishedMigrationEntityFields = Record<never, never>;
export type PublishedMigrationEntity = PublishedEntity<'MigrationEntity', PublishedMigrationEntityFields, ''>;
export declare function isPublishedMigrationEntity(entity: PublishedEntity<string, object>): entity is PublishedMigrationEntity;
export declare function assertIsPublishedMigrationEntity(entity: PublishedEntity<string, object>): asserts entity is PublishedMigrationEntity;
export interface PublishedReadOnlyFields {
message: string;
}
export type PublishedReadOnly = PublishedEntity<'ReadOnly', PublishedReadOnlyFields, '' | 'subject'>;
export declare function isPublishedReadOnly(entity: PublishedEntity<string, object>): entity is PublishedReadOnly;
export declare function assertIsPublishedReadOnly(entity: PublishedEntity<string, object>): asserts entity is PublishedReadOnly;
export interface PublishedReferencesFields {
any: EntityReference | null;
anyList: EntityReference[] | null;
titleOnly: EntityReference | null;
}
export type PublishedReferences = PublishedEntity<'References', PublishedReferencesFields, ''>;
export declare function isPublishedReferences(entity: PublishedEntity<string, object>): entity is PublishedReferences;
export declare function assertIsPublishedReferences(entity: PublishedEntity<string, object>): asserts entity is PublishedReferences;
export interface PublishedRichTextsFields {
richText: RichText | null;
richTextList: RichText[] | null;
richTextMinimal: RichText | null;
richTextLimitedTypes: RichText | null;
}
export type PublishedRichTexts = PublishedEntity<'RichTexts', PublishedRichTextsFields, ''>;
export declare function isPublishedRichTexts(entity: PublishedEntity<string, object>): entity is PublishedRichTexts;
export declare function assertIsPublishedRichTexts(entity: PublishedEntity<string, object>): asserts entity is PublishedRichTexts;
export interface PublishedStringsFields {
multiline: string | null;
pattern: string | null;
patternList: string[] | null;
values: 'bar' | 'baz' | 'foo' | null;
valuesList: ('bar' | 'baz' | 'foo')[] | null;
unique: string | null;
uniqueGenericIndex: string | null;
}
export type PublishedStrings = PublishedEntity<'Strings', PublishedStringsFields, ''>;
export declare function isPublishedStrings(entity: PublishedEntity<string, object>): entity is PublishedStrings;
export declare function assertIsPublishedStrings(entity: PublishedEntity<string, object>): asserts entity is PublishedStrings;
export interface PublishedSubjectOnlyFields {
message: string;
}
export type PublishedSubjectOnly = PublishedEntity<'SubjectOnly', PublishedSubjectOnlyFields, 'subject'>;
export declare function isPublishedSubjectOnly(entity: PublishedEntity<string, object>): entity is PublishedSubjectOnly;
export declare function assertIsPublishedSubjectOnly(entity: PublishedEntity<string, object>): asserts entity is PublishedSubjectOnly;
export interface PublishedSubjectOrDefaultAuthKeyFields {
message: string;
}
export type PublishedSubjectOrDefaultAuthKey = PublishedEntity<'SubjectOrDefaultAuthKey', PublishedSubjectOrDefaultAuthKeyFields, '' | 'subject'>;
export declare function isPublishedSubjectOrDefaultAuthKey(entity: PublishedEntity<string, object>): entity is PublishedSubjectOrDefaultAuthKey;
export declare function assertIsPublishedSubjectOrDefaultAuthKey(entity: PublishedEntity<string, object>): asserts entity is PublishedSubjectOrDefaultAuthKey;
export interface PublishedTitleOnlyFields {
title: string;
}
export type PublishedTitleOnly = PublishedEntity<'TitleOnly', PublishedTitleOnlyFields, ''>;
export declare function isPublishedTitleOnly(entity: PublishedEntity<string, object>): entity is PublishedTitleOnly;
export declare function assertIsPublishedTitleOnly(entity: PublishedEntity<string, object>): asserts entity is PublishedTitleOnly;
export type AppPublishedComponent = PublishedChangeValidationsComponent | PublishedLocationsComponent | PublishedMigrationComponent | PublishedReferencesComponent;
export interface PublishedChangeValidationsComponentFields {
matchPattern: string | null;
}
export type PublishedChangeValidationsComponent = Component<'ChangeValidationsComponent', PublishedChangeValidationsComponentFields>;
export declare function isPublishedChangeValidationsComponent(component: Component<string, object> | PublishedChangeValidationsComponent): component is PublishedChangeValidationsComponent;
export declare function assertIsPublishedChangeValidationsComponent(component: Component<string, object> | PublishedChangeValidationsComponent): asserts component is PublishedChangeValidationsComponent;
export interface PublishedLocationsComponentFields {
location: Location | null;
}
export type PublishedLocationsComponent = Component<'LocationsComponent', PublishedLocationsComponentFields>;
export declare function isPublishedLocationsComponent(component: Component<string, object> | PublishedLocationsComponent): component is PublishedLocationsComponent;
export declare function assertIsPublishedLocationsComponent(component: Component<string, object> | PublishedLocationsComponent): asserts component is PublishedLocationsComponent;
export type PublishedMigrationComponentFields = Record<never, never>;
export type PublishedMigrationComponent = Component<'MigrationComponent', PublishedMigrationComponentFields>;
export declare function isPublishedMigrationComponent(component: Component<string, object> | PublishedMigrationComponent): component is PublishedMigrationComponent;
export declare function assertIsPublishedMigrationComponent(component: Component<string, object> | PublishedMigrationComponent): asserts component is PublishedMigrationComponent;
export interface PublishedReferencesComponentFields {
reference: EntityReference | null;
}
export type PublishedReferencesComponent = Component<'ReferencesComponent', PublishedReferencesComponentFields>;
export declare function isPublishedReferencesComponent(component: Component<string, object> | PublishedReferencesComponent): component is PublishedReferencesComponent;
export declare function assertIsPublishedReferencesComponent(component: Component<string, object> | PublishedReferencesComponent): asserts component is PublishedReferencesComponent;