mirror of
https://github.com/zhigang1992/GitHawk.git
synced 2026-06-13 01:08:17 +08:00
* update to latest GQL schema * remove deprecated GQL * add merge-allowed APIs * wire up merge methods * remove pref type if changed
49 lines
1.3 KiB
Swift
49 lines
1.3 KiB
Swift
//
|
|
// IssueType.swift
|
|
// Freetime
|
|
//
|
|
// Created by Ryan Nystrom on 6/4/17.
|
|
// Copyright © 2017 Ryan Nystrom. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import IGListKit
|
|
import UIKit
|
|
|
|
struct FileChanges: Equatable {
|
|
let additions: Int
|
|
let deletions: Int
|
|
let changedFiles: Int
|
|
}
|
|
|
|
protocol IssueType {
|
|
|
|
var id: String { get }
|
|
var pullRequest: Bool { get }
|
|
var number: Int { get }
|
|
var title: String { get }
|
|
var labelableFields: LabelableFields { get }
|
|
var commentFields: CommentFields { get }
|
|
var reactionFields: ReactionFields { get }
|
|
var closableFields: ClosableFields { get }
|
|
var assigneeFields: AssigneeFields { get }
|
|
var milestoneFields: MilestoneFields? { get }
|
|
var merged: Bool { get }
|
|
var targetBranch: String? { get }
|
|
var locked: Bool { get }
|
|
var headPaging: HeadPaging { get }
|
|
var viewerCanUpdate: Bool { get }
|
|
var fileChanges: FileChanges? { get }
|
|
|
|
var reviewRequestModel: IssueAssigneesModel? { get }
|
|
func mergeModel(availableTypes: [IssueMergeType]) -> IssueMergeModel?
|
|
|
|
func timelineViewModels(
|
|
owner: String,
|
|
repo: String,
|
|
contentSizeCategory: UIContentSizeCategory,
|
|
width: CGFloat
|
|
) -> (models: [ListDiffable], mentionedUsers: [AutocompleteUser])
|
|
|
|
}
|