aboutsummaryrefslogtreecommitdiff
path: root/documentation/API
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2021-08-04 16:11:10 +0200
committerHampusM <hampus@hampusmat.com>2021-08-04 16:11:10 +0200
commiteaf6ac44e7d38ff6cc71ca72bdaceed59b86c550 (patch)
treed178c67e77fc3114e7858f623ca0ead2c92dde25 /documentation/API
parent78c806159a2ab795e96d7c06350e4012485f255a (diff)
Added API documentation & updated the Typedoc theme dependency
Diffstat (limited to 'documentation/API')
-rw-r--r--documentation/API/introduction.md3
-rw-r--r--documentation/API/v1/repos.md165
-rw-r--r--documentation/API/v1/v1.md22
3 files changed, 190 insertions, 0 deletions
diff --git a/documentation/API/introduction.md b/documentation/API/introduction.md
new file mode 100644
index 0000000..343bdf6
--- /dev/null
+++ b/documentation/API/introduction.md
@@ -0,0 +1,3 @@
+Every Githermit instance has a public API.
+
+These are all the endpoints for this API. \ No newline at end of file
diff --git a/documentation/API/v1/repos.md b/documentation/API/v1/repos.md
new file mode 100644
index 0000000..483676e
--- /dev/null
+++ b/documentation/API/v1/repos.md
@@ -0,0 +1,165 @@
+## /repos
+**Method:** GET
+
+**Description:**<br>
+Retrieves a list of available repositories.
+
+**Parameters:**<br>
+None
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|------------------------|---------------------------------------------------------------------|
+| 200 | A list of repositories | [\[Repository summary\]](/docs/interfaces/api.RepositorySummary.html) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo
+**Method:** GET
+
+**Description:**<br>
+Retrieves a repository.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|------|----------|----------------|----------|--------|
+| repo | path | The repository | true | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|--------------|----------------------------------------------------|
+| 200 | A repository | [Repository](/docs/interfaces/api.Repository.html) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo/tree
+**Method:** GET
+
+**Description:**<br>
+Retrieves a repository tree.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|------|----------|------------------|----------|--------|
+| repo | path | The repository | true | string |
+| path | query | Path in the tree | false | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|-------------|---------------------------------------|
+| 200 | A tree | [Tree](/docs/modules/api.html#Tree) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo/tags
+**Method:** GET
+
+**Description:**<br>
+Retrieves a repository tag.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|------|----------|----------------|----------|--------|
+| repo | path | The repository | true | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|-------------|---------------------------------------|
+| 200 | A tag | [\[Tag\]](/docs/modules/api.html#Tag) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo/log
+**Method:** GET
+
+**Description:**<br>
+Retrieves a repository's log.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|------|----------|----------------|----------|--------|
+| repo | path | The repository | true | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|--------------|----------------------------------------------------|
+| 200 | A log commit | [\[Log commit\]](/docs/modules/api.html#LogCommit) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo/log/:commit
+**Method:** GET
+
+**Description:**<br>
+Retrieves a commit from a repository.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|--------|----------|----------------|----------|--------|
+| repo | path | The repository | true | string |
+| commit | path | A commit SHA | true | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|-------------|--------------------------------------------|
+| 200 | A commit | [Commit](/docs/interfaces/api.Commit.html) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo/branches
+**Method:** GET
+
+**Description:**<br>
+Retrieves a repository's branches.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|--------|----------|----------------|----------|--------|
+| repo | path | The repository | true | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|-------------|---------------------------------------------------------------|
+| 200 | A branch | [\[Branch summary\]](/docs/interfaces/api.BranchSummary.html) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) |
+
+<br>
+
+## /repos/:repo/branches/:branch
+**Method:** GET
+
+**Description:**<br>
+Retrieves a branch from a repository.
+
+**Parameters:**<br>
+
+| Name | Location | Description | Required | Schema |
+|--------|----------|----------------|----------|--------|
+| repo | path | The repository | true | string |
+| branch | path | A branch | true | string |
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|-------------|--------------------------------------------|
+| 200 | A branch | [Branch](/docs/interfaces/api.Branch.html) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) | \ No newline at end of file
diff --git a/documentation/API/v1/v1.md b/documentation/API/v1/v1.md
new file mode 100644
index 0000000..327d7f2
--- /dev/null
+++ b/documentation/API/v1/v1.md
@@ -0,0 +1,22 @@
+## About
+The first edition of the Githermit API.
+
+All of following endpoints should be prefixed with `/api/v1`.
+
+<br>
+
+## /info
+**Method:** GET
+
+**Description:**<br>
+Retrieves information about the Githermit instance.
+
+**Parameters:**<br>
+None
+
+**Response:**<br>
+
+| Code | Description | Schema |
+|---------|----------------------|---------------------------------------|
+| 200 | Instance information | [Info](/docs/modules/api.html#Info) |
+| 400-599 | An error | [Error](/docs/modules/api.html#Error) | \ No newline at end of file