zeripath
a2cfcdb91a
Slightly simplify LastCommitCache ( #20444 )
...
The LastCommitCache code is a little complex and there is unnecessary
duplication between the gogit and nogogit variants.
This PR adds the LastCommitCache as a field to the git.Repository and
pre-creates it in the ReferencesGit helpers etc. There has been some
simplification and unification of the variant code.
Signed-off-by: Andrew Thornton <art27@cantab.net>
2022-07-25 16:39:42 +01:00
Wim
cb50375e2b
Add more linters to improve code readability ( #19989 )
...
Add nakedret, unconvert, wastedassign, stylecheck and nolintlint linters to improve code readability
- nakedret - https://github.com/alexkohler/nakedret - nakedret is a Go static analysis tool to find naked returns in functions greater than a specified function length.
- unconvert - https://github.com/mdempsky/unconvert - Remove unnecessary type conversions
- wastedassign - https://github.com/sanposhiho/wastedassign - wastedassign finds wasted assignment statements.
- notlintlint - Reports ill-formed or insufficient nolint directives
- stylecheck - https://staticcheck.io/docs/checks/#ST - keep style consistent
- excluded: [ST1003 - Poorly chosen identifier](https://staticcheck.io/docs/checks/#ST1003 ) and [ST1005 - Incorrectly formatted error string](https://staticcheck.io/docs/checks/#ST1005 )
2022-06-20 12:02:49 +02:00
6543
1597e2da3e
Use middleware to open gitRepo ( #19559 )
2022-04-30 16:32:01 +02:00
Lunny Xiao
783a021889
Never use /api/v1 from Gitea UI Pages ( #19318 )
...
Reusing `/api/v1` from Gitea UI Pages have pros and cons.
Pros:
1) Less code copy
Cons:
1) API/v1 have to support shared session with page requests.
2) You need to consider for each other when you want to change something about api/v1 or page.
This PR moves all dependencies to API/v1 from UI Pages.
Partially replace #16052
2022-04-07 20:59:56 +02:00
6543
3e88af898a
Make git.OpenRepository accept Context ( #19260 )
...
* OpenRepositoryCtx -> OpenRepository
* OpenRepository -> openRepositoryWithDefaultContext, only for internal usage
2022-03-30 03:13:41 +08:00
John Olheiser
ea6efba9b3
Granular webhook events in editHook ( #19251 )
...
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2022-03-29 13:55:00 +02:00
wxiaoguang
7a550b3af2
Use `ctx` instead of `db.DefaultContext` in some packages(routers/services/modules) ( #19163 )
...
* Remove `db.DefaultContext` usage in routers, use `ctx` directly
* Use `ctx` directly if there is one, remove some `db.DefaultContext` in `services`
* Use ctx instead of db.DefaultContext for `cmd` and some `modules` packages
* fix incorrect context usage
2022-03-22 16:22:54 +01:00
6543
54e9ee37a7
format with gofumpt ( #18184 )
...
* gofumpt -w -l .
* gofumpt -w -l -extra .
* Add linter
* manual fix
* change make fmt
2022-01-20 18:46:10 +01:00
zeripath
5cb0c9aa0d
Propagate context and ensure git commands run in request context ( #17868 )
...
This PR continues the work in #17125 by progressively ensuring that git
commands run within the request context.
This now means that the if there is a git repo already open in the context it will be used instead of reopening it.
Signed-off-by: Andrew Thornton <art27@cantab.net>
2022-01-19 23:26:57 +00:00
Lunny Xiao
7a03473159
Use a standalone struct name for Organization ( #17632 )
...
* Use a standalone struct name for Organization
* recover unnecessary change
* make the code readable
* Fix template failure
* Fix template failure
* Move HasMemberWithUserID to org
* Fix test
* Remove unnecessary user type check
* Fix test
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2021-11-19 19:41:40 +08:00
Lunny Xiao
33fca2b537
Move webhook into models/webhook/ ( #17579 )
2021-11-10 13:13:16 +08:00
Lunny Xiao
5842a55b31
Move login related structs and functions to models/login ( #17093 )
...
* Move login related structs and functions to models/login
* Fix test
* Fix lint
* Fix lint
* Fix lint of windows
* Fix lint
* Fix test
* Fix test
* Only load necessary fixtures when preparing unit tests envs
* Fix lint
* Fix test
* Fix test
* Fix error log
* Fix error log
* Fix error log
* remove unnecessary change
* fix error log
* merge main branch
2021-09-24 19:32:56 +08:00
6543
c4d70a0325
Rename ctx.Form() to ctx.FormString() and move code into own file ( #16571 )
...
Followup from #16562 prepare for #16567
* Rename ctx.Form() to ctx.FormString()
* Reimplement FormX func to need less code and cpu cycles
* Move code into own file
2021-08-11 02:31:13 +02:00
Lunny Xiao
33e0b38287
Rename context.Query to context.Form ( #16562 )
2021-07-29 03:42:15 +02:00
Lunny Xiao
9f31f3aa8a
Add an abstract json layout to make it's easier to change json library ( #16528 )
...
* Add an abstract json layout to make it's easier to change json library
* Fix import
* Fix import sequence
* Fix blank lines
* Fix blank lines
2021-07-24 18:03:58 +02:00
6543
b81106be3f
Let branch/tag name be a valid ref to get CI status ( #16400 )
...
* fix #16384#
* refactor: move shared helper func to utils package
* extend Tests
* use ctx.Repo.GitRepo if not nil
2021-07-13 08:14:14 +01:00
KN4CK3R
9b1b4b5433
Refactor Webhook + Add X-Hub-Signature ( #16176 )
...
This PR removes multiple unneeded fields from the `HookTask` struct and adds the two headers `X-Hub-Signature` and `X-Hub-Signature-256`.
## ⚠️ BREAKING ⚠️
* The `Secret` field is no longer passed as part of the payload.
* "Breaking" change (or fix?): The webhook history shows the real called url and not the url registered in the webhook (`deliver.go`@129).
Close #16115
Fixes #7788
Fixes #11755
Co-authored-by: zeripath <art27@cantab.net>
2021-06-27 20:21:09 +01:00
6543
75205b5669
Fix some API bugs ( #16184 )
...
* Repository object only count releases as releases (fix #16144 )
* EditOrg respect RepoAdminChangeTeamAccess option (fix #16013 )
2021-06-18 01:24:55 +02:00
zeripath
f0e15250b9
Migrate to use jsoniter instead of encoding/json ( #14841 )
...
* Migrate to use jsoniter
* fix tests
* update gitea.com/go-chi/binding
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
2021-03-01 22:08:10 +01:00
6543
0d1444751f
[API] Add pagination to ListBranches ( #14524 )
...
* make PaginateUserSlice generic -> PaginateSlice
* Add pagination to ListBranches
* add skip, limit to Repository.GetBranches()
* Move routers/api/v1/utils/utils PaginateSlice -> modules/util/paginate.go
* repo_module.GetBranches paginate
* fix & rename & more logging
* better description
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: a1012112796 <1012112796@qq.com>
2021-02-03 20:06:13 +01:00
6543
a19447aed1
migrate from com.* to alternatives ( #14103 )
...
* remove github.com/unknwon/com from models
* dont use "com.ToStr()"
* replace "com.ToStr" with "fmt.Sprint" where its easy to do
* more refactor
* fix test
* just "proxy" Copy func for now
* as per @lunny
2020-12-25 11:59:32 +02:00
6543
9e456b5a56
HotFix: Hide private partisipation in Orgs ( #13994 )
...
* HotFix: Hide private partisipation in Orgs
* refactor & add node to fuc GetOrganizations
2020-12-17 00:39:12 +01:00
Lunny Xiao
9f100a45c6
Possible fix the webhook API creation ( #13960 )
...
* Possible fix the webhook API creation
* Fix api create webhook bug
2020-12-12 16:33:19 +01:00
Lunny Xiao
6edfa6bc88
Fix broken migration on webhook ( #13911 )
...
* Fix broken migration on webhook
* Fix lint
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2020-12-09 17:20:13 +00:00
Lunny Xiao
42354dfe45
Move webhook type from int to string ( #13664 )
...
* Move webhook type from int to string
* rename webhook_services
* finish refactor
* Fix merge
* Ignore unnecessary ci
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: zeripath <art27@cantab.net>
2020-12-08 11:41:14 +01:00
6543
3f3447a1ea
API: Fix GetQueryBeforeSince ( #13559 )
2020-11-14 14:05:40 +00:00
John Olheiser
3f1c0841cb
Granular webhook events ( #9626 )
...
* Initial work
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Add PR reviews and API coverage
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Split up events
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Add migration and locale
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Format
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Revert IsPull
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix comments
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix tests
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix PR reviews
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix issue_comment
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Make fmt
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Migrations
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Backwards compatible API
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Fix feishu
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Move session commit
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
2020-03-06 07:10:48 +02:00
6543
4160bd6ef1
Remove Unused Functions ( #10516 )
...
* remove ReplaceLeft
* remove GetRepositoryByOwnerAndName chainload to models.GetRepositoryByOwnerAndName
* remove CheckUnitUser chainload to models.CheckUnitUser
* remove MakeAssigneeList
* remove DownloadDiff & DownloadPatch -> DownloadDiffOrPatch
* remove GetRandomBytesAsBase64
* remove PushUpdateDeleteTags
* remove GetUserByKeyID
(you still can resolve user by "k, err := GetPublicKeyByID; userID := k.OwnerID")
* remove BasicAuthEncode from struct package -> same function in modules/base/tools !
* remove UserID from api.utils
* remove unused func from structs package
2020-03-02 00:05:44 +02:00
SpaWn2KiLl
1f01f53c53
API add/generalize pagination ( #9452 )
...
* paginate results
* fixed deadlock
* prevented breaking change
* updated swagger
* go fmt
* fixed find topic
* go mod tidy
* go mod vendor with go1.13.5
* fixed repo find topics
* fixed unit test
* added Limit method to Engine struct; use engine variable when provided; fixed gitignore
* use ItemsPerPage for default pagesize; fix GetWatchers, getOrgUsersByOrgID and GetStargazers; fix GetAllCommits headers; reverted some changed behaviors
* set Page value on Home route
* improved memory allocations
* fixed response headers
* removed logfiles
* fixed import order
* import order
* improved swagger
* added function to get models.ListOptions from context
* removed pagesize diff on unit test
* fixed imports
* removed unnecessary struct field
* fixed go fmt
* scoped PR
* code improvements
* code improvements
* go mod tidy
* fixed import order
* fixed commit statuses session
* fixed files headers
* fixed headers; added pagination for notifications
* go mod tidy
* go fmt
* removed Private from user search options; added setting.UI.IssuePagingNum as default valeu on repo's issues list
* Apply suggestions from code review
Co-Authored-By: 6543 <6543@obermui.de>
Co-Authored-By: zeripath <art27@cantab.net>
* fixed build error
* CI.restart()
* fixed merge conflicts resolve
* fixed conflicts resolve
* improved FindTrackedTimesOptions.ToOptions() method
* added backwards compatibility on ListReleases request; fixed issue tracked time ToSession
* fixed build error; fixed swagger template
* fixed swagger template
* fixed ListReleases backwards compatibility
* added page to user search route
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: zeripath <art27@cantab.net>
2020-01-24 14:00:29 -05:00
6543
14a9687444
times Add filters ( #9373 )
...
(extend #9200 )
* add query param for GET functions (created Bevore & after)
* add test
* generalize func GetQueryBeforeSince
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-01-08 16:14:00 -05:00
6543
2848c5eb8f
Swagger info corrections ( #9441 )
...
* use numbers and not http.Status___ enum
* fix test
* add many missing swagger responses
* code format
* Deletion Sould return 204 ...
* error handling improvements
* if special error type ... then add it to swagger too
* one smal nit
* invalidTopicsError is []string
* valid swagger specification 2.0
- if you add responses swagger can tell you if you do it right 👍
* use ctx.InternalServerError
* Revert "use numbers and not http.Status___ enum"
This reverts commit b1ff386e2418ed6a7f183e756b13277d701278ef.
* use http.Status* enum everywhere
2019-12-20 19:07:12 +02:00
Lunny Xiao
daab245167
Move code.gitea.io/gitea/routers/api/v1/convert to code.gitea.io/gitea/modules/convert ( #8892 )
...
* Move code.gitea.io/gitea/routers/api/v1/convert to code.gitea.io/gitea/modules/convert
* fix fmt
2019-11-10 12:41:51 +08:00
Lunny Xiao
a966a0298e
Move more webhook codes from models to webhook module ( #8802 )
...
* Move more webhook codes from models to webhook module
2019-11-03 22:13:25 +00:00
WGH
6ddd3b0b47
Implement webhook branch filter ( #7791 )
...
* Fix validate() function to handle errors in embedded anon structs
* Implement webhook branch filter
See #2025 , #3998 .
2019-09-09 08:48:21 +03:00
Tamal Saha
171b359877
Use gitea forked macaron ( #7933 )
...
Signed-off-by: Tamal Saha <tamal@appscode.com>
2019-08-23 12:40:29 -04:00
techknowlogick
5fb1ad7011
Webhook Logs show proper HTTP Method, and allow change HTTP method in form ( #6953 )
...
* Fix #6951 - logs show proper HTTP Method, and allow change HTTP method
in form
* enforce POST method for webhook
* set default if method is empty
2019-05-15 20:01:53 +08:00
Lunny Xiao
34eee25bd4
Move sdk structs to modules/structs ( #6905 )
...
* move sdk structs to moduels/structs
* fix tests
* fix fmt
* fix swagger
* fix vendor
2019-05-11 18:21:34 +08:00
John Olheiser
cac9e6e760
Updates to API 404 responses ( #6077 )
2019-03-18 22:29:43 -04:00
Lanre Adelowo
be48397945
Slack webhook channel name cannot be empty or just contain an hashtag ( #4786 )
2018-09-10 10:31:08 -04:00
Lunny Xiao
24941a1046
Add more webhooks support and refactor webhook templates directory ( #3929 )
...
* add more webhook support
* move hooks templates to standalone dir and add more webhooks ui
* fix tests
* update vendor checksum
* add more webhook support
* move hooks templates to standalone dir and add more webhooks ui
* fix tests
* update vendor checksum
* update vendor
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
* load attributes when created release
* update comparsion doc
2018-05-16 22:01:55 +08:00
Ethan Koenig
876bafb7ef
Fix API status code for hook creation ( #2814 )
...
* Fix API status code for hook creation
* Named constants for response statuses
2017-11-20 15:00:53 +08:00
Ethan Koenig
93a1de4842
Fix repo API bug ( #2133 )
...
Don't require token when not necessary
2017-07-12 03:23:41 +02:00
Ethan Koenig
9847b38518
Organization webhook API endpoints
2016-12-25 14:51:57 +01:00
Unknwon
9cd16c5b12
#1692 add organization APIs
2015-12-17 02:28:47 -05:00
Unknwon
b117befc2b
#1692 add user email APIs
2015-12-15 22:57:18 -05:00
Unknwon
56dd430a10
refactor API routes and some work for #976
2015-12-04 17:16:42 -05:00