import { RpcMethod } from './commonTypes'; export type IOSCategoriesService_List = RpcMethod; export type IOSCategoriesService_Get = RpcMethod; export type IOSCategoriesService_Create = RpcMethod; export type IOSCategoriesService_Update = RpcMethod; export type IOSCategoriesService_Delete = RpcMethod; export interface IOSCategoriesService { /** Lists an application's iOS notification action categories (each a named set of action buttons), newest first, with paging and an optional name/identifier search. Use to browse categories or find an identifier before get/update/delete. */ List: IOSCategoriesService_List; /** Returns one iOS notification category by its identifier within an application, including its action buttons. Use after list_ios_categories to inspect a single category. */ Get: IOSCategoriesService_Get; /** Creates a new iOS notification action category with its buttons in an application. Fails if the identifier already exists for the application; use update_ios_category to change an existing one. */ Create: IOSCategoriesService_Create; /** Overwrites an existing iOS notification category's name and action buttons, addressed by application and identifier. Use to edit a category; the identifier itself is not changed. */ Update: IOSCategoriesService_Update; /** Deletes an iOS notification category by application and identifier. Removing a category cannot be undone; a missing identifier is treated as a no-op. */ Delete: IOSCategoriesService_Delete; } export type ListIOSCategoriesRequest_OrderBy = 'NAME' | 'CREATED' | 'UPDATED'; export type ListIOSCategoriesRequest_OrderDirection = 'ASC' | 'DESC'; export type ListIOSCategoriesRequest = { /** Application code (XXXXX-XXXXX) whose iOS categories to list. */ application?: string; orderBy?: ListIOSCategoriesRequest_OrderBy; orderDirection?: ListIOSCategoriesRequest_OrderDirection; page?: number; perPage?: number; /** Case-insensitive substring matched against both category name and identifier. */ searchByName?: string; }; export type IOSCategory = { name: string; identifier: string; buttons: IOSCategoryButton[]; created: Date; }; export type IOSCategoryButton = { id: string; label: string; destructive: boolean; startApplication: boolean; }; export type ListIOSCategoriesResponse = { presets: IOSCategory[]; page: number; perPage: number; total: number; }; export type GetIOSCategoryRequest = { /** Application code (XXXXX-XXXXX) that owns the category. */ application?: string; /** Category identifier, unique within the application. */ identifier?: string; }; export type GetIOSCategoryResponse = { preset: IOSCategory; }; export type CreateIOSCategoryRequest = { /** Application code (XXXXX-XXXXX) to create the category in. */ application?: string; name?: string; /** Category identifier, must be unique within the application; if empty, the created record ID is used. */ identifier?: string; buttons?: IOSCategoryButton[]; }; export type CreateIOSCategoryResponse = { preset: IOSCategory; }; export type UpdateIOSCategoryRequest = { /** Application code (XXXXX-XXXXX) that owns the category. */ application?: string; /** Category identifier, unique within the application. */ identifier?: string; name?: string; buttons?: IOSCategoryButton[]; }; export type UpdateIOSCategoryResponse = { preset: IOSCategory; }; export type DeleteIOSCategoryRequest = { /** Application code (XXXXX-XXXXX) that owns the category. */ application?: string; /** Category identifier, unique within the application. */ identifier?: string; }; export type DeleteIOSCategoryResponse = {};