Files
gitea/modules/structs/repo_topic.go
T
David Svantesson 1f951cdeba Add API endpoint for accessing repo topics (#7963)
* Create API endpoints for repo topics.

Signed-off-by: David Svantesson <[email protected]>

* Generate swagger

Signed-off-by: David Svantesson <[email protected]>

* Add documentation to functions

Signed-off-by: David Svantesson <[email protected]>

* Grammar fix

Signed-off-by: David Svantesson <[email protected]>

* Fix function comment

Signed-off-by: David Svantesson <[email protected]>

* Can't use FindTopics when looking for a single repo topic, as it doesnt use exact match

Signed-off-by: David Svantesson <[email protected]>

* Add PUT ​/repos​/{owner}​/{repo}​/topics and remove GET ​/repos​/{owner}​/{repo}​/topics

* Ignore if topic is sent twice in same request, refactoring.

Signed-off-by: David Svantesson <[email protected]>

* Fix topic dropdown with api changes.

Signed-off-by: David Svantesson <[email protected]>

* Style fix

Signed-off-by: David Svantesson <[email protected]>

* Update API documentation

Signed-off-by: David Svantesson <[email protected]>

* Better way to handle duplicate topics in slice

Signed-off-by: David Svantesson <[email protected]>

* Make response element TopicName an array of strings, instead of using an array of TopicName

Signed-off-by: David Svantesson <[email protected]>

* Add test cases for API Repo Topics.

Signed-off-by: David Svantesson <[email protected]>

* Fix format of tests

Signed-off-by: David Svantesson <[email protected]>

* Fix comments

Signed-off-by: David Svantesson <[email protected]>

* Fix unit tests after adding some more topics to the test fixture.

Signed-off-by: David Svantesson <[email protected]>

* Update models/topic.go

Limit multiple if else if ...

Co-Authored-By: Antoine GIRARD <[email protected]>

* Engine as first parameter in function

Co-Authored-By: Antoine GIRARD <[email protected]>

* Replace magic numbers with http status code constants.

Signed-off-by: David Svantesson <[email protected]>

* Fix variable scope

Signed-off-by: David Svantesson <[email protected]>

* Test one read with login and one with token

Signed-off-by: David Svantesson <[email protected]>

* Add some more tests

Signed-off-by: David Svantesson <[email protected]>

* Apply suggestions from code review

Use empty struct for efficiency

Co-Authored-By: Lauris BH <[email protected]>

* Add test case to check access for user with write access

Signed-off-by: David Svantesson <[email protected]>

* Fix access, repo admin required to change topics

Signed-off-by: David Svantesson <[email protected]>

* Correct first test to be without token

Signed-off-by: David Svantesson <[email protected]>

* Any repo reader should be able to access topics.

* No need for string pointer

Signed-off-by: David Svantesson <[email protected]>
2019-09-03 23:46:24 +08:00

30 lines
707 B
Go

// Copyright 2019 The Gitea 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"
)
// TopicResponse for returning topics
type TopicResponse struct {
ID int64 `json:"id"`
Name string `json:"topic_name"`
RepoCount int `json:"repo_count"`
Created time.Time `json:"created"`
Updated time.Time `json:"updated"`
}
// TopicName a list of repo topic names
type TopicName struct {
TopicNames []string `json:"topics"`
}
// RepoTopicOptions a collection of repo topic names
type RepoTopicOptions struct {
// list of topic names
Topics []string `json:"topics"`
}