fix: update and delete local API return types (#2434)
This commit is contained in:
@@ -1,12 +1,12 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import { DeepRequired } from 'ts-essentials';
|
||||
import { Model, PaginateModel, AggregatePaginateModel } from 'mongoose';
|
||||
import { AggregatePaginateModel, Model, PaginateModel } from 'mongoose';
|
||||
import { GraphQLInputObjectType, GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
||||
import { Response } from 'express';
|
||||
import { Access, GeneratePreviewURL, EntityDescription, Endpoint } from '../../config/types';
|
||||
import { Access, Endpoint, EntityDescription, GeneratePreviewURL } from '../../config/types';
|
||||
import { Field } from '../../fields/config/types';
|
||||
import { PayloadRequest } from '../../express/types';
|
||||
import { IncomingAuthType, Auth } from '../../auth/types';
|
||||
import { Auth, IncomingAuthType } from '../../auth/types';
|
||||
import { IncomingUploadType, Upload } from '../../uploads/types';
|
||||
import { IncomingCollectionVersions, SanitizedCollectionVersions } from '../../versions/types';
|
||||
import { Config as GeneratedTypes } from '../../generated-types';
|
||||
|
||||
@@ -1,33 +1,19 @@
|
||||
import { Config as GeneratedTypes } from 'payload/generated-types';
|
||||
import find from './find';
|
||||
import findByID from './findByID';
|
||||
import create from './create';
|
||||
import update, { ByIDOptions as UpdateByIDOptions, ManyOptions as UpdateManyOptions, Options as UpdateOptions } from './update';
|
||||
import deleteLocal, { ByIDOptions as DeleteByIDOptions, ManyOptions as DeleteManyOptions, Options as DeleteOptions } from './delete';
|
||||
import update from './update';
|
||||
import deleteLocal from './delete';
|
||||
import auth from '../../../auth/operations/local';
|
||||
import findVersionByID from './findVersionByID';
|
||||
import findVersions from './findVersions';
|
||||
import restoreVersion from './restoreVersion';
|
||||
import { BulkOperationResult } from '../../config/types';
|
||||
|
||||
async function localUpdate <T extends keyof GeneratedTypes['collections']>(options: UpdateByIDOptions<T>): Promise<GeneratedTypes['collections'][T]>
|
||||
async function localUpdate <T extends keyof GeneratedTypes['collections']>(options: UpdateManyOptions<T>): Promise<BulkOperationResult<T>>
|
||||
async function localUpdate <T extends keyof GeneratedTypes['collections']>(options: UpdateOptions<T>): Promise<GeneratedTypes['collections'][T] | BulkOperationResult<T>> {
|
||||
return update<T>(this, options);
|
||||
}
|
||||
|
||||
async function localDelete <T extends keyof GeneratedTypes['collections']>(options: DeleteByIDOptions<T>): Promise<GeneratedTypes['collections'][T]>
|
||||
async function localDelete <T extends keyof GeneratedTypes['collections']>(options: DeleteManyOptions<T>): Promise<BulkOperationResult<T>>
|
||||
async function localDelete <T extends keyof GeneratedTypes['collections']>(options: DeleteOptions<T>): Promise<GeneratedTypes['collections'][T] | BulkOperationResult<T>> {
|
||||
return deleteLocal<T>(this, options);
|
||||
}
|
||||
|
||||
export default {
|
||||
find,
|
||||
findByID,
|
||||
create,
|
||||
update: localUpdate,
|
||||
localDelete,
|
||||
update,
|
||||
deleteLocal,
|
||||
auth,
|
||||
findVersionByID,
|
||||
findVersions,
|
||||
|
||||
@@ -5,15 +5,8 @@ import crypto from 'crypto';
|
||||
import path from 'path';
|
||||
import mongoose from 'mongoose';
|
||||
import { Config as GeneratedTypes } from 'payload/generated-types';
|
||||
import {
|
||||
Collection,
|
||||
CollectionModel,
|
||||
} from './collections/config/types';
|
||||
import {
|
||||
SanitizedConfig,
|
||||
EmailOptions,
|
||||
InitOptions,
|
||||
} from './config/types';
|
||||
import { BulkOperationResult, Collection, CollectionModel } from './collections/config/types';
|
||||
import { EmailOptions, InitOptions, SanitizedConfig } from './config/types';
|
||||
import { TypeWithVersion } from './versions/types';
|
||||
import { PaginatedDocs } from './mongoose/types';
|
||||
|
||||
@@ -22,12 +15,22 @@ import { Globals } from './globals/config/types';
|
||||
import { ErrorHandler } from './express/middleware/errorHandler';
|
||||
import localOperations from './collections/operations/local';
|
||||
import localGlobalOperations from './globals/operations/local';
|
||||
import { encrypt, decrypt } from './auth/crypto';
|
||||
import { decrypt, encrypt } from './auth/crypto';
|
||||
import { BuildEmailResult, Message } from './email/types';
|
||||
import { Preferences } from './preferences/types';
|
||||
|
||||
import { Options as CreateOptions } from './collections/operations/local/create';
|
||||
import { Options as FindOptions } from './collections/operations/local/find';
|
||||
import {
|
||||
ByIDOptions as UpdateByIDOptions,
|
||||
ManyOptions as UpdateManyOptions,
|
||||
Options as UpdateOptions,
|
||||
} from './collections/operations/local/update';
|
||||
import {
|
||||
ByIDOptions as DeleteByIDOptions,
|
||||
ManyOptions as DeleteManyOptions,
|
||||
Options as DeleteOptions,
|
||||
} from './collections/operations/local/delete';
|
||||
import { Options as FindByIDOptions } from './collections/operations/local/findByID';
|
||||
import { Options as FindVersionsOptions } from './collections/operations/local/findVersions';
|
||||
import { Options as FindVersionByIDOptions } from './collections/operations/local/findVersionByID';
|
||||
@@ -251,14 +254,28 @@ export class BasePayload<TGeneratedTypes extends GeneratedTypes> {
|
||||
* @param options
|
||||
* @returns Updated document(s)
|
||||
*/
|
||||
update = localOperations.update
|
||||
update<T extends keyof TGeneratedTypes['collections']>(options: UpdateByIDOptions<T>):Promise<TGeneratedTypes['collections'][T]>
|
||||
|
||||
update<T extends keyof TGeneratedTypes['collections']>(options: UpdateManyOptions<T>):Promise<BulkOperationResult<T>>
|
||||
|
||||
update<T extends keyof TGeneratedTypes['collections']>(options: UpdateOptions<T>):Promise<TGeneratedTypes['collections'][T] | BulkOperationResult<T>> {
|
||||
const { update } = localOperations;
|
||||
return update<T>(this, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description delete one or more documents
|
||||
* @param options
|
||||
* @returns Updated document(s)
|
||||
*/
|
||||
delete = localOperations.localDelete;
|
||||
delete<T extends keyof TGeneratedTypes['collections']>(options: DeleteByIDOptions<T>):Promise<TGeneratedTypes['collections'][T]>
|
||||
|
||||
delete<T extends keyof TGeneratedTypes['collections']>(options: DeleteManyOptions<T>):Promise<BulkOperationResult<T>>
|
||||
|
||||
delete<T extends keyof TGeneratedTypes['collections']>(options: DeleteOptions<T>):Promise<TGeneratedTypes['collections'][T] | BulkOperationResult<T>> {
|
||||
const { deleteLocal } = localOperations;
|
||||
return deleteLocal<T>(this, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description Find versions with criteria
|
||||
|
||||
Reference in New Issue
Block a user