// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../resource'; import { isRequestOptions } from '../../core'; import * as Core from '../../core'; import * as FilterAPI from './filter'; import * as FlowRunNotificationPoliciesAPI from './flow-run-notification-policies'; export class Filter extends APIResource { /** * Query for flow run notification policies. */ create(params?: FilterCreateParams, options?: Core.RequestOptions): Core.APIPromise; create(options?: Core.RequestOptions): Core.APIPromise; create( params: FilterCreateParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise { if (isRequestOptions(params)) { return this.create({}, params); } const { 'x-prefect-api-version': xPrefectAPIVersion, ...body } = params; return this._client.post('/api/flow_run_notification_policies/filter', { body, ...options, headers: { ...(xPrefectAPIVersion != null ? { 'x-prefect-api-version': xPrefectAPIVersion } : undefined), ...options?.headers, }, }); } } export type FilterCreateResponse = Array; export interface FilterCreateParams { /** * Body param: Filter FlowRunNotificationPolicies. */ flow_run_notification_policy_filter?: FilterCreateParams.FlowRunNotificationPolicyFilter; /** * Body param: Defaults to PREFECT_API_DEFAULT_LIMIT if not provided. */ limit?: number; /** * Body param: */ offset?: number; /** * Header param: */ 'x-prefect-api-version'?: string; } export namespace FilterCreateParams { /** * Filter FlowRunNotificationPolicies. */ export interface FlowRunNotificationPolicyFilter { /** * Filter by `FlowRunNotificationPolicy.is_active`. */ is_active?: FlowRunNotificationPolicyFilter.IsActive | null; } export namespace FlowRunNotificationPolicyFilter { /** * Filter by `FlowRunNotificationPolicy.is_active`. */ export interface IsActive { /** * Filter notification policies for only those that are or are not active. */ eq_?: boolean | null; } } } export namespace Filter { export import FilterCreateResponse = FilterAPI.FilterCreateResponse; export import FilterCreateParams = FilterAPI.FilterCreateParams; }