export interface RepositoryDTO {
  id: number;
  name: string;
  url: string;
  accessToken: string;
  apiVersion?: string;
  sort: number;
  remark?: string;
  createTime?: string;
  updateTime?: string;
  version?: number;
  createBy?: string;
  updateBy?: string;
  deleted: boolean;
  lastSyncTime?: string;
  lastSyncStatus?: 'SUCCESS' | 'FAILED' | 'RUNNING';
}

export interface RepositoryQuery {
  name?: string;
  url?: string;
}

export interface TestConnectionDTO {
  url: string;
  accessToken: string;
  apiVersion?: string;
}

export interface RunningSyncDTO {
  historyId: number;
  repositoryId: number;
  repositoryName: string;
  startTime: string;
  syncType: string;
  status: 'SUCCESS' | 'FAILED' | 'RUNNING';
  endTime?: string;
  errorMessage?: string;
  actuallyRunning: boolean;
}

export interface RepositorySyncStatusDTO {
  status: 'SUCCESS' | 'FAILED' | 'RUNNING';
  startTime: string;
  endTime: string | null;
  errorMessage: string | null;
} 