export type GiteaSettings = {
    url: string | null
    hasToken: boolean
}

export type GiteaSettingsWrite = {
    url: string | null
    token: string | null
}

export type GiteaRepository = {
    fullName: string
    name: string
    owner: string
}

export type GiteaBranch = {
    name: string
    commits: GiteaCommit[]
}

export type GiteaCommit = {
    sha: string
    message: string
    author: string
    date: string
}

export type GiteaBranchCreate = {
    type: string
    baseBranch: string
}

export type GiteaPullRequest = {
    number: number
    title: string
    state: string
    merged: boolean
    headBranch: string
    author: string
    url: string
    ciStatuses: GiteaCiStatus[]
}

export type GiteaCiStatus = {
    context: string
    status: string
    target_url: string
}

export type GiteaBranchName = {
    name: string
}

export type GiteaTestResult = {
    success: boolean
}
