import { RpcMethod } from './commonTypes'; export type ApplicationsGroupsService_GetByCode = RpcMethod; export type ApplicationsGroupsService_List = RpcMethod; export type ApplicationsGroupsService_Create = RpcMethod; export type ApplicationsGroupsService_Update = RpcMethod; export type ApplicationsGroupsService_Delete = RpcMethod; export interface ApplicationsGroupsService { /** Returns a single application group by its group code, including the title and its member application codes ordered highest-priority first. Use to inspect one group after list_applications_groups. */ GetByCode: ApplicationsGroupsService_GetByCode; /** Lists the account's application groups, ordered by title or creation date, with paging and an optional title substring search. Use to browse groups or find a group code before fetching or editing one. */ List: ApplicationsGroupsService_List; /** Creates an application group with a title and an ordered list of member application codes (first = highest priority), and grants the account's existing API tokens message rights on the new group. Returns the new group code. */ Create: ApplicationsGroupsService_Create; /** Overwrites an application group's title and its ordered member application list (first = highest priority), replacing all previous members. Use to rename a group or change which applications belong to it. */ Update: ApplicationsGroupsService_Update; /** Deletes an application group by group code, removing its member application links and revoking the group from the account's API token restrictions. The group cannot be recovered. */ Delete: ApplicationsGroupsService_Delete; } export type ApplicationsGroup_Application = { code: string; title: string; iconUrl: string; }; export type ApplicationsGroup = { code: string; title: string; applications: ApplicationsGroup_Application[]; }; export type GetApplicationsGroupByCodeRequest = { /** Application group code of the group to fetch. */ code?: string; }; export type ListApplicationsGroupsRequest_OrderBy = 'TITLE' | 'CREATED'; export type ListApplicationsGroupsRequest_OrderDirection = 'ASC' | 'DESC'; export type ListApplicationsGroupsRequest = { page?: number; perPage?: number; orderBy?: ListApplicationsGroupsRequest_OrderBy; orderDirection?: ListApplicationsGroupsRequest_OrderDirection; /** Case-insensitive substring match on the group title. */ searchByTitle?: string; }; export type ListApplicationsGroupsResponse = { applicationsGroups: ApplicationsGroup[]; page: number; perPage: number; totalPages: number; }; export type CreateApplicationsGroupRequest = { /** Group title (max 32 characters; must not contain < > or &). */ title?: string; /** Member application codes (format XXXXX-XXXXX); list order sets priority, first = highest. */ applications?: string[]; }; export type CreateApplicationsGroupResponse = { code: string; }; export type UpdateApplicationsGroupRequest = { /** Application group code of the group to update. */ code?: string; /** Group title (max 32 characters; must not contain < > or &). */ title?: string; /** Member application codes (format XXXXX-XXXXX); list order sets priority, first = highest. */ applications?: string[]; }; export type UpdateApplicationsGroupResponse = {}; export type DeleteApplicationsGroupRequest = { /** Application group code of the group to delete. */ code?: string; }; export type DeleteApplicationsGroupResponse = {};