Commit Graph

170 Commits

Author SHA1 Message Date
Akhilesh Pandey
4c92c32c0a [CODE-617]: Add env variable in Gitness to allow/disallow sign-ups 2023-07-20 16:34:07 +05:30
Johannes Batzill
45026edf2b Merge branch 'akp/deprecate-formvalue' of _OKE5H2PQKOUfzFFDuD4FA/default/CODE/gitness (#188) 2023-07-19 00:01:25 +00:00
Akhilesh Pandey
e26e578da2 CODE-623: API to logout a user and delete the session token from database (#202) 2023-07-18 10:19:00 +00:00
Akhilesh Pandey
d55ff28174 Update error message when unable to parse user_uid 2023-07-18 15:31:56 +05:30
Akhilesh Pandey
a57f4f22a9 Update user-admin update API to use the user_uid instead of user_id 2023-07-18 15:20:57 +05:30
Akhilesh Pandey
ee683aa2c8 Update struct attribute names and pass register logic from handler to controller 2023-07-18 00:57:06 +05:30
Akhilesh Pandey
03cc7de4f2 CODE-619: Update API to use UserID from Path 2023-07-14 20:50:00 +05:30
Akhilesh Pandey
07b04f2d77 CODE-619: Add Handler and Route for Service update admin 2023-07-14 20:10:43 +05:30
Johannes Batzill
e354f560a5 Replace QueryParamAsPositiveInt64 with QueryParamAsPositiveInt64OrDefault where the parameter is optional (#191) 2023-07-13 05:46:16 +00:00
Johannes Batzill
5543fba0b4 [GIHA] Introduce githa custom githook binary (#186) 2023-07-12 15:49:06 +00:00
Akhilesh Pandey
959fb7b462 CODE-610: Remove FormValue and start using Query().Get() for all APIs doing get requests and sync required parameters in swagger schema 2023-07-12 21:16:07 +05:30
Akhilesh Pandey
2dd4d73da5 CODE-385: Fix delete response (#170) 2023-06-28 16:13:25 +00:00
Akhilesh Pandey
9ebc5c1bea CODE-548: Update search to prID 2023-06-23 00:47:19 +05:30
Akhilesh Pandey
699156d56d CODE-548: API support to remove reviewers from pull request 2023-06-22 22:31:52 +05:30
Johannes Batzill
e1a24699c3 CODE-385: Search and Add reviewers to Database API (#126) 2023-06-15 20:26:36 +00:00
Abhinav Singh
6de9c127e0 Merge branch 'abhinav/CODE-318' of _OKE5H2PQKOUfzFFDuD4FA/default/CODE/gitness (#116) 2023-06-09 12:58:12 +00:00
Marko Gaćeša
cdc1370564 feat: [CODE-389]: status checks API layer 2023-06-08 12:38:20 +02:00
Atefeh Mohseni-Ejiyeh
0df1335855 [HARNESS] Delete Space on Harness Account/Org/Project deletion (#83) 2023-06-08 00:09:34 +00:00
Abhinav Singh
23f299fb64 techdebt: [CODE-318]: remove commits v2 2023-06-07 12:26:26 -07:00
Akhilesh Pandey
24a9888cfc feat: Update HTTP status code to 201 when returning from successful create operations 2023-06-01 15:09:17 +05:30
Abhinav Singh
a0ce4fe88e feat: [CODE-345]: rename enhancement and committer addition 2023-05-23 18:02:31 -07:00
atefeh
c88de09a2a code cleaning 2023-05-22 17:04:30 -07:00
Abhinav Singh
a6615c91a2 feat: [CODE-200]: list commits with date filter 2023-05-17 15:22:59 -07:00
Abhinav Singh
7f6947f0ea feat: [CODE-200]: list commits with date filter 2023-05-17 14:37:19 -07:00
Abhinav Singh
943708dcc7 feat: [CODE-200]: list commits with date filter 2023-05-17 01:39:35 -07:00
Enver Bisevac
7c6a28ecd1 Merge branch 'ap/add-tag-api' of _OKE5H2PQKOUfzFFDuD4FA/default/CODE/gitness (#36) 2023-05-16 15:35:52 +00:00
Akhilesh Pandey
527b3e18fa Add Validate to Service and Handler 2023-05-15 22:14:55 +05:30
Akhilesh Pandey
f41b918129 feat: [CODE-199]: Update success status code to 204 2023-05-12 22:04:10 +05:30
Marko Gaćeša
2cfe58c699 block merge if there are unresolved comments 2023-05-12 13:53:29 +02:00
Abhinav Singh
7dcccc323e Merge branch 'abhinav/CODE-260' of _OKE5H2PQKOUfzFFDuD4FA/default/CODE/gitness (#58) 2023-05-10 21:06:57 +00:00
Abhinav Singh
59a7cdf8a8 feat: [CODE-260]: commit api should have path filter 2023-05-08 22:54:00 -07:00
Marko Gaćeša
59b7cf5e69 comment status API 2023-05-08 16:03:23 +02:00
Marko Gaćeša
8aea16d96a add headers with SHAs for PR raw diff API 2023-04-27 18:40:52 +02:00
Johannes Batzill
0de0d2fcef updating permission check to april milestone 2023-04-19 09:24:38 -07:00
Enver Bisevac
fffb37bfa2 Merge branch 'eb/rbac' of _OKE5H2PQKOUfzFFDuD4FA/default/CODE/gitness (#25) 2023-04-19 15:29:46 +00:00
Johannes Batzill
89bb0f6b99 update gitRPC getBlob api to stream blob content, add 'raw' api. 2023-04-18 11:39:59 -07:00
Enver Bisevac
b092c1b8df added go-rbac dependency 2023-04-18 03:10:30 +02:00
Enver Bisevac
5c266ad78f fix for merge-check response 2023-03-30 20:51:25 +02:00
Enver Bisevac
75ec201c2b Merge branch 'eb/gitrpc_error_handling' of _OKE5H2PQKOUfzFFDuD4FA/default/CODE/gitness (#8) 2023-03-21 10:19:21 +00:00
Marko Gaćeša
c7c36e49e1 Add git blame API (#346) 2023-03-09 12:55:23 +01:00
Enver Bisevac
56d8f304a6 gitrpc error handling - initial work 2023-03-06 16:36:19 +01:00
Enver Bisevac
fd08fa9775 [maint] api for PR metadata added (#319) 2023-02-12 21:39:56 -08:00
Enver Bisevac
82b8679d6f [fix] diff-stats api returns total commits and files changed in compare branches (#323) 2023-02-13 00:47:23 +01:00
Enver Bisevac
13a456e357 [scm-58] Add merge-check and Integrate with PR (#318)
Co-authored-by: Johannes Batzill <johannes.batzill@harness.io>
2023-02-11 23:22:12 -08:00
Johannes Batzill
b0c8c91c08 [MISC] Hide email from public principals API. (#314) 2023-02-06 11:33:41 -08:00
Johannes Batzill
bf9906c4ce [API] Add principals API, move users to admin, simplify user/service/serviceaccount validation (#300) 2023-02-03 00:15:11 -08:00
Johannes Batzill
c5d92b498b [API] Add GetCommit API (#291) 2023-02-01 18:50:54 -08:00
Johannes Batzill
fe83493623 [API] Add GetBranch API (#290) 2023-02-01 18:13:27 -08:00
Enver Bisevac
e2b350e704 [maint] pr statistic is in pr response now (#269) 2023-01-31 15:21:05 +01:00
Enver Bisevac
baa3822acc [SCM-55] initial work on PR metadata (#262) 2023-01-31 02:08:23 +01:00
Johannes Batzill
7da9bce7c1 [Githook] Add GitHook binary (#259)
This PR adds a githook sub-package to our cmd packages, introducing the githook binary.
The binary is linked as pre-receie/update/post-receive by gitrpc if configured.
This is required to have a gitrpc deployment without requiring the one-in-all gitness binary on the same machine.
2023-01-27 13:04:58 -08:00
Enver Bisevac
6a7cc4e518 [scm-63] fix for empty commits and diff in PR (#228) 2023-01-20 02:27:51 +01:00
Johannes Batzill
335998505e [MISC] Introduce PathStore and Move PathLogic to Controller Layer (#226)
This change is a follow up on the effort to remove transactions and sync stores from the database layer, and move them in the application layer. It is addressing the repo + space store.
The following changes are included:
- Introduce PathStore storing resource paths (repo + space)
- Add foreign key from path.repo_id/space_id to repo.id/space.id
- Add foreign key from repo/space.parent_id to space.id
- Remove repo_sync and space_sync
- Move path creation logic to repo/space controller (for both creating primary paths for new repos/spaces, as well as creating alias spaces)
- Reimplement repo/space moving on controller layer
2023-01-18 11:34:12 -08:00
Hitesh Aringa
66cc979334 [SCM-61]: sort in webhook list api (#199)
* [SCM-61]: order by in webhook api

* [SCM-61]: comment change

* [SCM-61]: added query filter on display name
2023-01-17 09:59:27 -08:00
Marko Gaćeša
8151b4591e PR change state API; Removed rejected state (#220) 2023-01-17 16:04:30 +01:00
Enver Bisevac
63de576d08 [feat] initial work on merging PR (#170)
* initial work on merging PR

* code refactored based on requested changes

* requested changes
2023-01-10 02:09:43 +01:00
Johannes Batzill
5cb824debd [feat]: Add Git Server Hook Support (#159)
This change is adding git server hook components:
- githook CLI implementation
- githook api handlers
- githook controler
2023-01-06 12:15:11 -08:00
Marko Gaćeša
65b49a933a pull request reviewers (#167) 2023-01-06 20:29:20 +01:00
Johannes Batzill
2006f769c9 [Webhook] Add url.Provider, Add principal to branch webhooks (#163) 2023-01-06 01:57:26 -08:00
Johannes Batzill
6c567b38d0 [MISC] Move GitRPC to Read/WriteRequest, Update Create/Delete Branch to use Push, Setup githook Symlink, Accept Incoming X-Request-Id (#157) 2023-01-05 11:03:35 -08:00
Johannes Batzill
7ada1af3aa [API] Add after Support to Commit Listing (#155) 2023-01-04 16:59:43 -08:00
Johannes Batzill
1f1118f624 [Webhook] Add Event Processing and Retrigger (#148)
This change includes:
- webhook event processor (includes actual webhook execution)
- webhook retrigger API allowing to retrigger previous webhook executions
2023-01-04 14:43:36 -08:00
Johannes Batzill
44ec7ceb07 [Webhook] Add API and DB Basics (#142)
This change introduces:
- webhook type / store / controller / handler
- webhookExecution type / store / controller / handler
- foreign key fix for sqlite3
2022-12-28 13:07:48 -08:00
Marko Gaćeša
da53331ca1 PR comment: edit and delete APIs (#138) 2022-12-27 14:55:53 +01:00
Marko Gaćeša
b5bdeb8538 create comment API (#137) 2022-12-27 11:46:49 +01:00
Marko Gaćeša
7fc77396a9 Pull request timeline feature: DB and the list API (#136) 2022-12-26 12:17:38 +01:00
Enver Bisevac
22b0595476 initial work on raw diff (#129) 2022-12-22 14:30:31 +01:00
Marko Gaćeša
204548169d pullreq: update API (#122) 2022-12-13 16:13:27 +01:00
Marko Gaćeša
fe9118e074 PullReq list API: Added pagination headers (#121) 2022-12-09 17:02:45 +01:00
Marko Gaćeša
15163f3daa pullreq: dedicated struct for pulling data from DB (#116) 2022-12-08 12:52:31 +01:00
Marko Gaćeša
9e86875217 Returning author and merger info for PRs (#114) 2022-12-07 14:03:17 +01:00
Enver Bisevac
7a54ef9d65 fix with file content on commit, fix linter, removed unused provider 2022-11-30 22:36:01 +01:00
Marko Gaćeša
1f4ac7e4b4 pullreq: list API (#99) 2022-11-30 13:56:29 +01:00
Marko Gaćeša
1eba93695b feat: pull requests (#89)
* feat: pull requests, data layer

* pull requests: api layer

* add pull request number

* added auth check
2022-11-29 13:51:59 +01:00
Enver Bisevac
630c9b553f ordering imports linter and writer (#85) 2022-11-22 23:42:39 +01:00
Enver Bisevac
ad619c7e3c [feat]ability to commit files using REST api (#82)
* initial work on commit files

* minor improvements, grpc server interceptors and more

* compare file old sha and current sha

* added some validation steps

* config immutable, introduce temp repos dir

* handler added to standalone

* fix CI linter, fix minor bug on update

* wire generator files
2022-11-22 19:24:40 +01:00
Johannes Batzill
60f0ea969d [API] Add API For Commit Divergence Calulation (#77)
This commit contains the following changes:
- Add `commits/calculate_divergence` API to calculate commit divergence of reference pairs
- Rename `serviceAccounts` to `service_accounts` to follow REST best practices
2022-11-16 16:53:31 -08:00
Enver Bisevac
86716b4a0c [bug] authentication on push to public repo (#74)
* authentication on push to public repo

* receivepack or uploadpack this should also be enum.PermissionRepoEdit or enum.PermissionRepoView

* accountID used for realm
2022-11-15 21:59:58 +01:00
Enver Bisevac
93fc430776 [bug] git clone/pull/push auth using Basic Authorization fixed (#66)
* git clone/pull/push auth using Basic Authorization fixed

* use api key as git login

* middleware renamed to RequiredInGitPath

* remove requiredingitpath middleware

* requested changes

* requested changes

* minor code cleanup
2022-11-11 07:59:32 +01:00
Johannes Batzill
c55c53deab [API] Add Create + Delete Branch API (+ Basic GIT Error Propagation) (#70)
This change adds the following:
- create / delete branch
- basic error propagation from git to user (notfound, conflict, invalidinput)
- create repo root folder in server instead of service constructor
2022-11-10 20:57:31 -08:00
Johannes Batzill
c8cee4d250 [Misc] Preparation for Container Deployment (#67)
This change is fixing our docker file which is used to build our harness code image used for PR deployments.
Furthermore, the change contains some logging improvements that were added along the way of setting up the PR environment.
2022-11-09 23:03:40 -08:00
Johannes Batzill
ff2f949e78 add GITURL to repo apis list and create (#64)
- rename repo.url to repo.GitURL to avoid ambiguity
- add support to create / list api
- add default value (http://localhost:3000)
- remove handler backfilling host / port to simplify flow (can be added if needed)
2022-11-08 19:35:49 -08:00
Enver Bisevac
98436fb644 clone url implemented (#63)
Clone URL (http) used for clone/pull/push git operations
2022-11-08 18:32:01 -08:00
Enver Bisevac
e24c2192eb repo path fixed on gitrpc server 2022-11-09 00:10:55 +01:00
Johannes Batzill
3ba0f75c8d Introduce UIDs for Space / Repo / Tokens, Add Custom Harness Validation, ... (#57)
This change adds the following:
- Space UID + Custom harness validation (accountId for top level space, harness identifier for child spaces)
- Repo UID + Custom harness validation (harness identifier)
- Store Unique casing of space / repo path and add Path.ValueUnique (with Unique index) to allow for application layer controlling the case sensitivity (case insensitive standalone vs partially case sensitive harness)
- Token UID (unique index over ownertype + ownerID + tokenUID)
- Add DisplayName for principals (replaces Name to avoid confustion)
- Store Unique casing of principal UID and add Principal.ValueUnique (with unique index) to allow for application layer, per principal type control of case sensitivity (required in embedded mode)
- Generate serviceAccount UID (+Email) Randomly (sa-{space|repo}-{ID}-{random}) - Allows to have a unique UID across all principals while reducing likelyhood of overlaps with users + avoid overlap across spaces / repos.
- Sync casing of space names (accountId orgId projectId) when creating spaces on the fly (to ensure case sensitivity of - harness code) or use the existing space to update casing.
- Update serviceaccount client to match updated NG Manager API
- in embedded mode create spaces for harness resources owning the service account
2022-11-06 23:14:47 -08:00
Enver Bisevac
578dd13d8d [maint] eb/gitrpc refactor (#51)
* pull/push impl done

* Basic auth for harness

* gitrpc as top level package

* New ctor for package

* gitrpcserver instead of server2
2022-11-03 13:17:03 +01:00
Enver Bisevac
fb0e93394d [feat] pull/push over https - done (#47)
* pull/push impl done

* Basic auth for harness
2022-11-01 19:02:29 +01:00
Johannes Batzill
2d4db78991 Add Tag Listing API (#49)
This change is adding the List Tags API. To do so, a few changes were necessary:
- Refactor List Branches on giteaAdapter / repo_service
- Expose WalkReferences via giteaAdapter
2022-10-28 13:10:26 -07:00
Johannes Batzill
c0258b34ef Add search capability to repo and space listing (for child spaces) (#44)
This change is adding search capability to the following apis:
- child repositories
- child spaces
*NOTE* The search space is limited to direct child repos/spaces.
2022-10-24 18:57:55 -07:00
Johannes Batzill
5337c46a4f Add Query and Sorting Capability to ListBranches API (#42)
This change adds the following to the list branches api:
- 'query' parameter for querying branches using arbitrary substrings
- 'sort' parameter for sorting the branches (name and date supported)
- 'direction' parameter for specifing the direction of the sorted output
2022-10-21 20:45:26 -07:00
Johannes Batzill
f655c2fae3 Add Standalone API to Harness Router (#40)
To simplify UI code we are going to expose both Harness API and Standalone API (restricted to harness embedded functionalities) when running in harness mode.

Furthermore, this PR adds a middleware that allows us to reuse standalone Handlers for Harness API for operations that don't require any request/response manipulation.
2022-10-19 18:35:40 -07:00
Johannes Batzill
743aee6029 [API] Add List Branches, Improve latestCommit Performance for listing directory (#38)
This commit has the following changes:
- API for listing branches
- Improve performance of content API for dir type responses with includeCommit=true
- swagger for git operations
- fix file names from camelCase to kebab_case
2022-10-17 23:05:50 -07:00
Johannes Batzill
e423ffda3c Fix Default Branch Creation (#37)
While the HEAD is pointed to the correct branch (might not exist), we created the initial files during repo creation still on the master branch (as it's an empty repo and clone by default sets up master when cloning an empty repo)
2022-10-17 19:09:46 -07:00
Enver Bisevac
41cbb6622f server urls added, resource moved to the root path (#35) 2022-10-18 02:24:20 +02:00
Johannes Batzill
0a7857f660 Fix License header to 2022 (#34) 2022-10-17 15:33:49 -07:00
Enver Bisevac
2b69b3d24a [MAINT] added repos endpoints to swagger (#33)
* added repos endpoints

* todo comments removed in create repo method
2022-10-18 00:10:36 +02:00
Johannes Batzill
91a75ed601 Add GetContent and ListCommits APIs, Fix DefaultBranch support (#32)
Adds the following:
- Add GetContent API (with gitrpc, proto, gitadapter changes)
- Add ListCommits API (with gitrpc, proto, gitadapter changes)
- DefaultBranch (to repo table in DB, update branch in git-repo, have default value in config)
2022-10-17 00:14:31 -07:00
Enver Bisevac
00647d7d1b [MAINT] golangci-lint config changed (#31)
* goheader linter added

* file header consistency
2022-10-13 14:39:15 +02:00
Johannes Batzill
ecb6276fa8 Add EOF to RPC File Chunk & Cleanups (#29)
Adds an EOF flag to data chunks to avoid using []byte("EOF") as end (due to potential false positives).
Furthermore, a few cleanups are done:
- Add TODOs for initial git changes
- Add missing file headers
- Fix typo for license (was licence)
- Fix make wire target
2022-10-12 10:21:53 -07:00
Enver Bisevac
1cf07b6417 initial work on create repository (#27)
* initial work on create repository

* create repository as single method call using client stream

* resources handler and files

* minor fix for wire dep graph
2022-10-11 17:48:04 +02:00