@cbnsndwch/ghl-app-contracts
Version:
Data contracts for GHL Marketplace apps
47 lines (46 loc) • 1.8 kB
TypeScript
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose/types/inferschematype" />
import type { FilterQuery } from 'mongoose';
/**
* An input data contract for paginated list endpoints.
*/
export interface IListInput<T> {
/**
* (Optional) How many records to skip before returning results.
*/
offset?: number;
/**
* (Optional) How many records to return per page.
*/
limit?: number;
/**
* (Optional) MongoDB filter to apply to the query.
*/
filters?: FilterQuery<T>;
/**
* (Optional) MongoDB projection to apply to the query.
*/
projection?: Array<keyof T> | Record<keyof T, 0 | 1>;
}