### What? Adds full support for the point field to Postgres and Vercel Postgres adapters through the Postgis extension. Fully the same API as with MongoDB, including support for `near`, `within` and `intersects` operators. Additionally, exposes to adapter args: * `tablesFilter`https://orm.drizzle.team/docs/drizzle-kit-push#including-tables-schemas-and-extensions. * `extensions` list of extensions to create, for example `['vector', 'pg_search']`, `postgis` is created automatically if there's any point field ### Why? It's essential to support that field type, especially if the postgres adapter should be out of beta on 3.0 stable. ### How? * Bumps `drizzle-orm` to `0.36.1` and `drizzle-kit` to `0.28.0` as we need this change https://github.com/drizzle-team/drizzle-orm/pull/3141 * Uses its functions to achieve querying functionality, for example the `near` operator works through `ST_DWithin` or `intersects` through `ST_Intersects`. * Removes MongoDB condition from all point field tests, but keeps for SQLite Resolves these discussions: https://github.com/payloadcms/payload/discussions/8996 https://github.com/payloadcms/payload/discussions/8644
623 lines
14 KiB
TypeScript
623 lines
14 KiB
TypeScript
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* This file was automatically generated by Payload.
|
|
* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
|
|
* and re-run `payload generate:types` to regenerate this file.
|
|
*/
|
|
|
|
export interface Config {
|
|
auth: {
|
|
users: UserAuthOperations;
|
|
};
|
|
collections: {
|
|
posts: Post;
|
|
'default-values': DefaultValue;
|
|
'relation-a': RelationA;
|
|
'relation-b': RelationB;
|
|
'pg-migrations': PgMigration;
|
|
'custom-schema': CustomSchema;
|
|
places: Place;
|
|
'fields-persistance': FieldsPersistance;
|
|
'custom-ids': CustomId;
|
|
users: User;
|
|
'payload-locked-documents': PayloadLockedDocument;
|
|
'payload-preferences': PayloadPreference;
|
|
'payload-migrations': PayloadMigration;
|
|
};
|
|
collectionsJoins: {};
|
|
collectionsSelect: {
|
|
posts: PostsSelect<false> | PostsSelect<true>;
|
|
'default-values': DefaultValuesSelect<false> | DefaultValuesSelect<true>;
|
|
'relation-a': RelationASelect<false> | RelationASelect<true>;
|
|
'relation-b': RelationBSelect<false> | RelationBSelect<true>;
|
|
'pg-migrations': PgMigrationsSelect<false> | PgMigrationsSelect<true>;
|
|
'custom-schema': CustomSchemaSelect<false> | CustomSchemaSelect<true>;
|
|
places: PlacesSelect<false> | PlacesSelect<true>;
|
|
'fields-persistance': FieldsPersistanceSelect<false> | FieldsPersistanceSelect<true>;
|
|
'custom-ids': CustomIdsSelect<false> | CustomIdsSelect<true>;
|
|
users: UsersSelect<false> | UsersSelect<true>;
|
|
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
|
|
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
|
|
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
|
|
};
|
|
db: {
|
|
defaultIDType: string;
|
|
};
|
|
globals: {
|
|
global: Global;
|
|
};
|
|
globalsSelect: {
|
|
global: GlobalSelect<false> | GlobalSelect<true>;
|
|
};
|
|
locale: 'en' | 'es';
|
|
user: User & {
|
|
collection: 'users';
|
|
};
|
|
jobs?: {
|
|
tasks: unknown;
|
|
workflows?: unknown;
|
|
};
|
|
}
|
|
export interface UserAuthOperations {
|
|
forgotPassword: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
login: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
registerFirstUser: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
unlock: {
|
|
email: string;
|
|
password: string;
|
|
};
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "posts".
|
|
*/
|
|
export interface Post {
|
|
id: string;
|
|
title: string;
|
|
hasTransaction?: boolean | null;
|
|
throwAfterChange?: boolean | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "default-values".
|
|
*/
|
|
export interface DefaultValue {
|
|
id: string;
|
|
title?: string | null;
|
|
defaultValue?: string | null;
|
|
array?:
|
|
| {
|
|
defaultValue?: string | null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
group?: {
|
|
defaultValue?: string | null;
|
|
};
|
|
select?: ('option0' | 'option1' | 'default') | null;
|
|
/**
|
|
* @minItems 2
|
|
* @maxItems 2
|
|
*/
|
|
point?: [number, number] | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "relation-a".
|
|
*/
|
|
export interface RelationA {
|
|
id: string;
|
|
title?: string | null;
|
|
richText?: {
|
|
root: {
|
|
type: string;
|
|
children: {
|
|
type: string;
|
|
version: number;
|
|
[k: string]: unknown;
|
|
}[];
|
|
direction: ('ltr' | 'rtl') | null;
|
|
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
indent: number;
|
|
version: number;
|
|
};
|
|
[k: string]: unknown;
|
|
} | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "relation-b".
|
|
*/
|
|
export interface RelationB {
|
|
id: string;
|
|
title?: string | null;
|
|
relationship?: (string | null) | RelationA;
|
|
richText?: {
|
|
root: {
|
|
type: string;
|
|
children: {
|
|
type: string;
|
|
version: number;
|
|
[k: string]: unknown;
|
|
}[];
|
|
direction: ('ltr' | 'rtl') | null;
|
|
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
|
|
indent: number;
|
|
version: number;
|
|
};
|
|
[k: string]: unknown;
|
|
} | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "pg-migrations".
|
|
*/
|
|
export interface PgMigration {
|
|
id: string;
|
|
relation1?: (string | null) | RelationA;
|
|
myArray?:
|
|
| {
|
|
relation2?: (string | null) | RelationB;
|
|
mySubArray?:
|
|
| {
|
|
relation3?: (string | null) | RelationB;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
myGroup?: {
|
|
relation4?: (string | null) | RelationB;
|
|
};
|
|
myBlocks?:
|
|
| {
|
|
relation5?: (string | null) | RelationA;
|
|
relation6?: (string | null) | RelationB;
|
|
id?: string | null;
|
|
blockName?: string | null;
|
|
blockType: 'myBlock';
|
|
}[]
|
|
| null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-schema".
|
|
*/
|
|
export interface CustomSchema {
|
|
id: string;
|
|
text?: string | null;
|
|
localizedText?: string | null;
|
|
relationship?: (string | RelationA)[] | null;
|
|
select?: ('a' | 'b' | 'c')[] | null;
|
|
radio?: ('a' | 'b' | 'c') | null;
|
|
array?:
|
|
| {
|
|
text?: string | null;
|
|
localizedText?: string | null;
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
blocks?:
|
|
| {
|
|
text?: string | null;
|
|
localizedText?: string | null;
|
|
id?: string | null;
|
|
blockName?: string | null;
|
|
blockType: 'block';
|
|
}[]
|
|
| null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
_status?: ('draft' | 'published') | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "places".
|
|
*/
|
|
export interface Place {
|
|
id: string;
|
|
country?: string | null;
|
|
city?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "fields-persistance".
|
|
*/
|
|
export interface FieldsPersistance {
|
|
id: string;
|
|
text?: string | null;
|
|
textHooked?: string | null;
|
|
array?:
|
|
| {
|
|
id?: string | null;
|
|
}[]
|
|
| null;
|
|
textWithinRow?: string | null;
|
|
textWithinCollapsible?: string | null;
|
|
textWithinTabs?: string | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-ids".
|
|
*/
|
|
export interface CustomId {
|
|
id: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
_status?: ('draft' | 'published') | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "users".
|
|
*/
|
|
export interface User {
|
|
id: string;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
email: string;
|
|
resetPasswordToken?: string | null;
|
|
resetPasswordExpiration?: string | null;
|
|
salt?: string | null;
|
|
hash?: string | null;
|
|
loginAttempts?: number | null;
|
|
lockUntil?: string | null;
|
|
password?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-locked-documents".
|
|
*/
|
|
export interface PayloadLockedDocument {
|
|
id: string;
|
|
document?:
|
|
| ({
|
|
relationTo: 'posts';
|
|
value: string | Post;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'default-values';
|
|
value: string | DefaultValue;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'relation-a';
|
|
value: string | RelationA;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'relation-b';
|
|
value: string | RelationB;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'pg-migrations';
|
|
value: string | PgMigration;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'custom-schema';
|
|
value: string | CustomSchema;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'places';
|
|
value: string | Place;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'fields-persistance';
|
|
value: string | FieldsPersistance;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'custom-ids';
|
|
value: string | CustomId;
|
|
} | null)
|
|
| ({
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
} | null);
|
|
globalSlug?: string | null;
|
|
user: {
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
};
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-preferences".
|
|
*/
|
|
export interface PayloadPreference {
|
|
id: string;
|
|
user: {
|
|
relationTo: 'users';
|
|
value: string | User;
|
|
};
|
|
key?: string | null;
|
|
value?:
|
|
| {
|
|
[k: string]: unknown;
|
|
}
|
|
| unknown[]
|
|
| string
|
|
| number
|
|
| boolean
|
|
| null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-migrations".
|
|
*/
|
|
export interface PayloadMigration {
|
|
id: string;
|
|
name?: string | null;
|
|
batch?: number | null;
|
|
updatedAt: string;
|
|
createdAt: string;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "posts_select".
|
|
*/
|
|
export interface PostsSelect<T extends boolean = true> {
|
|
title?: T;
|
|
hasTransaction?: T;
|
|
throwAfterChange?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "default-values_select".
|
|
*/
|
|
export interface DefaultValuesSelect<T extends boolean = true> {
|
|
title?: T;
|
|
defaultValue?: T;
|
|
array?:
|
|
| T
|
|
| {
|
|
defaultValue?: T;
|
|
id?: T;
|
|
};
|
|
group?:
|
|
| T
|
|
| {
|
|
defaultValue?: T;
|
|
};
|
|
select?: T;
|
|
point?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "relation-a_select".
|
|
*/
|
|
export interface RelationASelect<T extends boolean = true> {
|
|
title?: T;
|
|
richText?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "relation-b_select".
|
|
*/
|
|
export interface RelationBSelect<T extends boolean = true> {
|
|
title?: T;
|
|
relationship?: T;
|
|
richText?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "pg-migrations_select".
|
|
*/
|
|
export interface PgMigrationsSelect<T extends boolean = true> {
|
|
relation1?: T;
|
|
myArray?:
|
|
| T
|
|
| {
|
|
relation2?: T;
|
|
mySubArray?:
|
|
| T
|
|
| {
|
|
relation3?: T;
|
|
id?: T;
|
|
};
|
|
id?: T;
|
|
};
|
|
myGroup?:
|
|
| T
|
|
| {
|
|
relation4?: T;
|
|
};
|
|
myBlocks?:
|
|
| T
|
|
| {
|
|
myBlock?:
|
|
| T
|
|
| {
|
|
relation5?: T;
|
|
relation6?: T;
|
|
id?: T;
|
|
blockName?: T;
|
|
};
|
|
};
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-schema_select".
|
|
*/
|
|
export interface CustomSchemaSelect<T extends boolean = true> {
|
|
text?: T;
|
|
localizedText?: T;
|
|
relationship?: T;
|
|
select?: T;
|
|
radio?: T;
|
|
array?:
|
|
| T
|
|
| {
|
|
text?: T;
|
|
localizedText?: T;
|
|
id?: T;
|
|
};
|
|
blocks?:
|
|
| T
|
|
| {
|
|
block?:
|
|
| T
|
|
| {
|
|
text?: T;
|
|
localizedText?: T;
|
|
id?: T;
|
|
blockName?: T;
|
|
};
|
|
};
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
_status?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "places_select".
|
|
*/
|
|
export interface PlacesSelect<T extends boolean = true> {
|
|
country?: T;
|
|
city?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "fields-persistance_select".
|
|
*/
|
|
export interface FieldsPersistanceSelect<T extends boolean = true> {
|
|
text?: T;
|
|
textHooked?: T;
|
|
array?:
|
|
| T
|
|
| {
|
|
id?: T;
|
|
};
|
|
textWithinRow?: T;
|
|
textWithinCollapsible?: T;
|
|
textWithinTabs?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "custom-ids_select".
|
|
*/
|
|
export interface CustomIdsSelect<T extends boolean = true> {
|
|
id?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
_status?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "users_select".
|
|
*/
|
|
export interface UsersSelect<T extends boolean = true> {
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
email?: T;
|
|
resetPasswordToken?: T;
|
|
resetPasswordExpiration?: T;
|
|
salt?: T;
|
|
hash?: T;
|
|
loginAttempts?: T;
|
|
lockUntil?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-locked-documents_select".
|
|
*/
|
|
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
|
|
document?: T;
|
|
globalSlug?: T;
|
|
user?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-preferences_select".
|
|
*/
|
|
export interface PayloadPreferencesSelect<T extends boolean = true> {
|
|
user?: T;
|
|
key?: T;
|
|
value?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "payload-migrations_select".
|
|
*/
|
|
export interface PayloadMigrationsSelect<T extends boolean = true> {
|
|
name?: T;
|
|
batch?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "global".
|
|
*/
|
|
export interface Global {
|
|
id: string;
|
|
text?: string | null;
|
|
updatedAt?: string | null;
|
|
createdAt?: string | null;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "global_select".
|
|
*/
|
|
export interface GlobalSelect<T extends boolean = true> {
|
|
text?: T;
|
|
updatedAt?: T;
|
|
createdAt?: T;
|
|
globalType?: T;
|
|
}
|
|
/**
|
|
* This interface was referenced by `Config`'s JSON-Schema
|
|
* via the `definition` "auth".
|
|
*/
|
|
export interface Auth {
|
|
[k: string]: unknown;
|
|
}
|
|
|
|
|
|
declare module 'payload' {
|
|
// @ts-ignore
|
|
export interface GeneratedTypes extends Config {}
|
|
} |