diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-05-11 18:21:34 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-11 18:21:34 +0800 |
commit | 34eee25bd42d19287e3e33afd169cc979ab61f37 (patch) | |
tree | 8def3b2f224745e3fbc0adaec2f01d7f752c443d /modules/structs/issue.go | |
parent | 1658cd04e9918109867f2745ddf760d260681878 (diff) | |
download | gitea-34eee25bd42d19287e3e33afd169cc979ab61f37.tar.gz gitea-34eee25bd42d19287e3e33afd169cc979ab61f37.zip |
Move sdk structs to modules/structs (#6905)
* move sdk structs to moduels/structs
* fix tests
* fix fmt
* fix swagger
* fix vendor
Diffstat (limited to 'modules/structs/issue.go')
-rw-r--r-- | modules/structs/issue.go | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/modules/structs/issue.go b/modules/structs/issue.go new file mode 100644 index 0000000000..af6aa6e541 --- /dev/null +++ b/modules/structs/issue.go @@ -0,0 +1,111 @@ +// Copyright 2016 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package structs + +import ( + "time" +) + +// StateType issue state type +type StateType string + +const ( + // StateOpen pr is opend + StateOpen StateType = "open" + // StateClosed pr is closed + StateClosed StateType = "closed" +) + +// PullRequestMeta PR info if an issue is a PR +type PullRequestMeta struct { + HasMerged bool `json:"merged"` + Merged *time.Time `json:"merged_at"` +} + +// Issue represents an issue in a repository +// swagger:model +type Issue struct { + ID int64 `json:"id"` + URL string `json:"url"` + Index int64 `json:"number"` + Poster *User `json:"user"` + Title string `json:"title"` + Body string `json:"body"` + Labels []*Label `json:"labels"` + Milestone *Milestone `json:"milestone"` + Assignee *User `json:"assignee"` + Assignees []*User `json:"assignees"` + // Whether the issue is open or closed + // + // type: string + // enum: open,closed + State StateType `json:"state"` + Comments int `json:"comments"` + // swagger:strfmt date-time + Created time.Time `json:"created_at"` + // swagger:strfmt date-time + Updated time.Time `json:"updated_at"` + // swagger:strfmt date-time + Closed *time.Time `json:"closed_at"` + // swagger:strfmt date-time + Deadline *time.Time `json:"due_date"` + + PullRequest *PullRequestMeta `json:"pull_request"` +} + +// ListIssueOption list issue options +type ListIssueOption struct { + Page int + State string +} + +// CreateIssueOption options to create one issue +type CreateIssueOption struct { + // required:true + Title string `json:"title" binding:"Required"` + Body string `json:"body"` + // username of assignee + Assignee string `json:"assignee"` + Assignees []string `json:"assignees"` + // swagger:strfmt date-time + Deadline *time.Time `json:"due_date"` + // milestone id + Milestone int64 `json:"milestone"` + // list of label ids + Labels []int64 `json:"labels"` + Closed bool `json:"closed"` +} + +// EditIssueOption options for editing an issue +type EditIssueOption struct { + Title string `json:"title"` + Body *string `json:"body"` + Assignee *string `json:"assignee"` + Assignees []string `json:"assignees"` + Milestone *int64 `json:"milestone"` + State *string `json:"state"` + // swagger:strfmt date-time + Deadline *time.Time `json:"due_date"` +} + +// EditDeadlineOption options for creating a deadline +type EditDeadlineOption struct { + // required:true + // swagger:strfmt date-time + Deadline *time.Time `json:"due_date"` +} + +// IssueDeadline represents an issue deadline +// swagger:model +type IssueDeadline struct { + // swagger:strfmt date-time + Deadline *time.Time `json:"due_date"` +} + +// EditPriorityOption options for updating priority +type EditPriorityOption struct { + // required:true + Priority int `json:"priority"` +} |