import { BaseResource } from '@gitbeaker/requester-utils'; import { RequestHelper, endpoint } from '../infrastructure'; import type { BaseRequestOptions, GitlabAPIResponse, ShowExpanded, Sudo } from '../infrastructure'; export interface GroupRelationExportStatusSchema extends Record { relation: string; status: number; error?: string; updated_at: string; } export class GroupRelationExports extends BaseResource { download( groupId: string | number, relation: string, options?: Sudo & ShowExpanded, ): Promise> { return RequestHelper.get()(this, endpoint`groups/${groupId}/export_relations/download`, { searchParams: { relation }, ...options, }); } exportStatus( groupId: string | number, options?: Sudo & ShowExpanded, ): Promise> { return RequestHelper.get()( this, endpoint`groups/${groupId}/export_relations`, options, ); } scheduleExport( groupId: string | number, options?: BaseRequestOptions, ): Promise> { return RequestHelper.post<{ message: string }>()( this, endpoint`groups/${groupId}/export_relations`, options, ); } }