/* tslint:disable */ /* eslint-disable */ /** * Fabric API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { RootType } from './RootType'; import { RootTypeFromJSON, RootTypeFromJSONTyped, RootTypeToJSON, RootTypeToJSONTyped, } from './RootType'; import type { FilterResourcesRequestOrder } from './FilterResourcesRequestOrder'; import { FilterResourcesRequestOrderFromJSON, FilterResourcesRequestOrderFromJSONTyped, FilterResourcesRequestOrderToJSON, FilterResourcesRequestOrderToJSONTyped, } from './FilterResourcesRequestOrder'; import type { Kind } from './Kind'; import { KindFromJSON, KindFromJSONTyped, KindToJSON, KindToJSONTyped, } from './Kind'; import type { SharingFilters } from './SharingFilters'; import { SharingFiltersFromJSON, SharingFiltersFromJSONTyped, SharingFiltersToJSON, SharingFiltersToJSONTyped, } from './SharingFilters'; /** * * @export * @interface FilterResourcesRequest */ export interface FilterResourcesRequest { /** * Filter by one or more resource kinds. * @type {Array} * @memberof FilterResourcesRequest */ 'kind'?: Array; /** * Exclude resources of specific kinds. * @type {Array} * @memberof FilterResourcesRequest */ 'kindExclude'?: Array; /** * Find resources associated with a specific task. * @type {string} * @memberof FilterResourcesRequest */ 'taskId'?: string; /** * Filter resources that are tagged with any of the specified tags. * @type {Array} * @memberof FilterResourcesRequest */ 'tagIds'?: Array; /** * Filter by name, case-insensitive, supports partial matches. * @type {string} * @memberof FilterResourcesRequest */ 'name'?: string; /** * Look up by the URL of a bookmark kind resource. * @type {string} * @memberof FilterResourcesRequest */ 'url'?: string; /** * Find resources that are direct children of the specified parent resource. Set to `null` to find root-level spaces. * @type {string} * @memberof FilterResourcesRequest */ 'parentId'?: string | null; /** * Set to true to only show your private resources. Set to false to only show team resources. Only applies to team workspaces. * @type {boolean} * @memberof FilterResourcesRequest */ 'isPrivate'?: boolean; /** * Fetch specific resources by their IDs. * @type {Array} * @memberof FilterResourcesRequest */ 'resourceIds'?: Array; /** * Label of the resource - pass null for resources that have no label. * @type {number} * @memberof FilterResourcesRequest */ 'label'?: number | null; /** * Filter by sharing status of the resource: * - onlyMe: items that are only visible to me, * - myContent: items in my workspace, including items created by other users and visible to other users, * - published: published items, * - shared: items visible to multiple users or via sharing links, * - sharedWithMe: items created by other users and shared with me, including items inside spaces shared with me, * - sharedWithMeDirectly: items shared with me, excluding their descendants. * @type {Array} * @memberof FilterResourcesRequest */ 'shared'?: Array; /** * Filter by root type of the resource: * - `SYSTEM`: only inbox items, * - `SPACE`: spaces you created, * - `INTEGRATION`: resources inside integrations. * * @type {Array} * @memberof FilterResourcesRequest */ 'rootTypes'?: Array; /** * Whether to include root resources in the results. * @type {boolean} * @memberof FilterResourcesRequest */ 'includeRoots'?: boolean; /** * Filter resources created before the specified date (ISO 8601 format). * @type {string} * @memberof FilterResourcesRequest */ 'createdBefore'?: string | null; /** * Filter resources created after the specified date (ISO 8601 format). * @type {string} * @memberof FilterResourcesRequest */ 'createdAfter'?: string | null; /** * Filter resources modified before the specified date (ISO 8601 format). * @type {string} * @memberof FilterResourcesRequest */ 'modifiedBefore'?: string | null; /** * Filter resources modified after the specified date (ISO 8601 format). * @type {string} * @memberof FilterResourcesRequest */ 'modifiedAfter'?: string | null; /** * * @type {boolean} * @memberof FilterResourcesRequest */ 'includeSubfolderCount'?: boolean; /** * Number of items to return per page. * @type {number} * @memberof FilterResourcesRequest */ 'limit'?: number; /** * The pagination cursor returned as `nextCursor` in the previous request. * @type {string} * @memberof FilterResourcesRequest */ 'cursor'?: string; /** * Whether to return results in random order. Overrides the `order` parameter. * @type {boolean} * @memberof FilterResourcesRequest */ 'random'?: boolean; /** * Filter resources created by specific users. * @type {Array} * @memberof FilterResourcesRequest */ 'userIds'?: Array; /** * Filter resources from a given point in time. * @type {string} * @memberof FilterResourcesRequest */ 'snapshotAt'?: string | null; /** * * @type {FilterResourcesRequestOrder} * @memberof FilterResourcesRequest */ 'order'?: FilterResourcesRequestOrder; } /** * Check if a given object implements the FilterResourcesRequest interface. */ export function instanceOfFilterResourcesRequest(value: object): value is FilterResourcesRequest { return true; } export function FilterResourcesRequestFromJSON(json: any): FilterResourcesRequest { return FilterResourcesRequestFromJSONTyped(json, false); } export function FilterResourcesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): FilterResourcesRequest { if (json == null) { return json; } const result = { } as FilterResourcesRequest; if (json['kind'] !== undefined) { result['kind'] = (json['kind'] as Array).map(KindFromJSON); } if (json['kindExclude'] !== undefined) { result['kindExclude'] = (json['kindExclude'] as Array).map(KindFromJSON); } if (json['taskId'] !== undefined) { result['taskId'] = json['taskId']; } if (json['tagIds'] !== undefined) { result['tagIds'] = json['tagIds']; } if (json['name'] !== undefined) { result['name'] = json['name']; } if (json['url'] !== undefined) { result['url'] = json['url']; } if (json['parentId'] !== undefined) { if (json['parentId'] === null) { result['parentId'] = null; } else { result['parentId'] = json['parentId']; } } if (json['isPrivate'] !== undefined) { result['isPrivate'] = json['isPrivate']; } if (json['resourceIds'] !== undefined) { result['resourceIds'] = json['resourceIds']; } if (json['label'] !== undefined) { if (json['label'] === null) { result['label'] = null; } else { result['label'] = json['label']; } } if (json['shared'] !== undefined) { result['shared'] = (json['shared'] as Array).map(SharingFiltersFromJSON); } if (json['rootTypes'] !== undefined) { result['rootTypes'] = (json['rootTypes'] as Array).map(RootTypeFromJSON); } if (json['includeRoots'] !== undefined) { result['includeRoots'] = json['includeRoots']; } if (json['createdBefore'] !== undefined) { if (json['createdBefore'] === null) { result['createdBefore'] = null; } else { result['createdBefore'] = json['createdBefore']; } } if (json['createdAfter'] !== undefined) { if (json['createdAfter'] === null) { result['createdAfter'] = null; } else { result['createdAfter'] = json['createdAfter']; } } if (json['modifiedBefore'] !== undefined) { if (json['modifiedBefore'] === null) { result['modifiedBefore'] = null; } else { result['modifiedBefore'] = json['modifiedBefore']; } } if (json['modifiedAfter'] !== undefined) { if (json['modifiedAfter'] === null) { result['modifiedAfter'] = null; } else { result['modifiedAfter'] = json['modifiedAfter']; } } if (json['includeSubfolderCount'] !== undefined) { result['includeSubfolderCount'] = json['includeSubfolderCount']; } if (json['limit'] !== undefined) { result['limit'] = json['limit']; } if (json['cursor'] !== undefined) { result['cursor'] = json['cursor']; } if (json['random'] !== undefined) { result['random'] = json['random']; } if (json['userIds'] !== undefined) { result['userIds'] = json['userIds']; } if (json['snapshotAt'] !== undefined) { if (json['snapshotAt'] === null) { result['snapshotAt'] = null; } else { result['snapshotAt'] = json['snapshotAt']; } } if (json['order'] !== undefined) { result['order'] = FilterResourcesRequestOrderFromJSON(json['order']); } return result; } export function FilterResourcesRequestToJSON(json: any): FilterResourcesRequest { return FilterResourcesRequestToJSONTyped(json, false); } export function FilterResourcesRequestToJSONTyped(value?: FilterResourcesRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'kind': value['kind'] == null ? undefined : ((value['kind'] as Array).map(KindToJSON)), 'kindExclude': value['kindExclude'] == null ? undefined : ((value['kindExclude'] as Array).map(KindToJSON)), 'taskId': value['taskId'], 'tagIds': value['tagIds'], 'name': value['name'], 'url': value['url'], 'parentId': value['parentId'], 'isPrivate': value['isPrivate'], 'resourceIds': value['resourceIds'], 'label': value['label'], 'shared': value['shared'] == null ? undefined : ((value['shared'] as Array).map(SharingFiltersToJSON)), 'rootTypes': value['rootTypes'] == null ? undefined : ((value['rootTypes'] as Array).map(RootTypeToJSON)), 'includeRoots': value['includeRoots'], 'createdBefore': value['createdBefore'], 'createdAfter': value['createdAfter'], 'modifiedBefore': value['modifiedBefore'], 'modifiedAfter': value['modifiedAfter'], 'includeSubfolderCount': value['includeSubfolderCount'], 'limit': value['limit'], 'cursor': value['cursor'], 'random': value['random'], 'userIds': value['userIds'], 'snapshotAt': value['snapshotAt'], 'order': FilterResourcesRequestOrderToJSON(value['order']), }; }