Compare commits

...

9 commits

Author SHA1 Message Date
7ef7dcd725 Merge pull request 'Some small fixes' (#273) from Chewing_Bever/vieter:explicitely-empty-values into dev
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/arch Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/man Pipeline was successful
ci/woodpecker/push/test Pipeline was successful
ci/woodpecker/push/docker Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
Reviewed-on: #273
2022-10-01 16:56:25 +02:00
e9fdbc9426
chore: removed duplicate changelog entries [CI SKIP] 2022-10-01 16:54:33 +02:00
15c2d72743
docs: updated json response types for create routes [CI SKIP]
Some checks failed
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/docs Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline failed
ci/woodpecker/pr/man unknown status
ci/woodpecker/pr/docker unknown status
2022-10-01 16:53:16 +02:00
f34eefd59b
fix(server): prevent api as a repository name
All checks were successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/docs Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/man Pipeline was successful
ci/woodpecker/pr/docker Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2022-10-01 16:38:38 +02:00
ae98c3e717
feat(server): repo POST requests now return information 2022-10-01 16:38:38 +02:00
559ef3e505
feat: logs api now also returns id 2022-10-01 16:38:36 +02:00
847d77b2bc
chore(ci): refactor ci configs a bit 2022-10-01 16:38:10 +02:00
95d32e2d51
fix(server): prevent api as a repository name 2022-10-01 16:38:09 +02:00
575c04189d
fix(client): allow empty values as params 2022-10-01 16:37:52 +02:00
15 changed files with 60 additions and 14 deletions

View file

@ -1,3 +1,6 @@
variables:
- &vlang_image 'chewingbever/vlang:0.3'
matrix: matrix:
PLATFORM: PLATFORM:
- 'linux/amd64' - 'linux/amd64'
@ -7,7 +10,7 @@ platform: ${PLATFORM}
pipeline: pipeline:
install-modules: install-modules:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
commands: commands:
- export VMODULES=$PWD/.vmodules - export VMODULES=$PWD/.vmodules
@ -16,7 +19,7 @@ pipeline:
event: [push, pull_request] event: [push, pull_request]
debug: debug:
image: 'chewingbever/vlang:0.3' image: *vlang_image
commands: commands:
- export VMODULES=$PWD/.vmodules - export VMODULES=$PWD/.vmodules
- make - make
@ -26,7 +29,7 @@ pipeline:
exclude: [main] exclude: [main]
prod: prod:
image: 'chewingbever/vlang:0.3' image: *vlang_image
environment: environment:
- LDFLAGS=-lz -lbz2 -llzma -lexpat -lzstd -llz4 -lsqlite3 -static - LDFLAGS=-lz -lbz2 -llzma -lexpat -lzstd -llz4 -lsqlite3 -static
commands: commands:
@ -44,7 +47,7 @@ pipeline:
event: [push, pull_request] event: [push, pull_request]
upload: upload:
image: 'chewingbever/vlang:0.3' image: *vlang_image
secrets: [ s3_username, s3_password ] secrets: [ s3_username, s3_password ]
commands: commands:
# https://gist.github.com/JustinTimperio/7c7115f87b775618637d67ac911e595f # https://gist.github.com/JustinTimperio/7c7115f87b775618637d67ac911e595f

View file

@ -1,3 +1,6 @@
variables:
- &vlang_image 'chewingbever/vlang:0.3'
platform: 'linux/amd64' platform: 'linux/amd64'
branches: branches:
exclude: [ main ] exclude: [ main ]
@ -11,7 +14,7 @@ pipeline:
- make docs - make docs
api-docs: api-docs:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
group: 'generate' group: 'generate'
commands: commands:

View file

@ -1,3 +1,6 @@
variables:
- &vlang_image 'chewingbever/vlang:0.3'
platform: 'linux/amd64' platform: 'linux/amd64'
branches: [ 'main' ] branches: [ 'main' ]
depends_on: depends_on:
@ -8,7 +11,7 @@ skip_clone: true
pipeline: pipeline:
prepare: prepare:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
secrets: [ s3_username, s3_password ] secrets: [ s3_username, s3_password ]
commands: commands:

View file

@ -1,3 +1,6 @@
variables:
- &vlang_image 'chewingbever/vlang:0.3'
# These checks already get performed on the feature branches # These checks already get performed on the feature branches
branches: branches:
exclude: [ main ] exclude: [ main ]
@ -5,7 +8,7 @@ platform: 'linux/amd64'
pipeline: pipeline:
lint: lint:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
commands: commands:
- make lint - make lint

View file

@ -1,3 +1,6 @@
variables:
- &vlang_image 'chewingbever/vlang:0.3'
platform: 'linux/amd64' platform: 'linux/amd64'
branches: branches:
exclude: [ main ] exclude: [ main ]
@ -9,7 +12,7 @@ skip_clone: true
pipeline: pipeline:
generate: generate:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
commands: commands:
- curl -o vieter -L "https://s3.rustybever.be/vieter/commits/$CI_COMMIT_SHA/vieter-linux-amd64" - curl -o vieter -L "https://s3.rustybever.be/vieter/commits/$CI_COMMIT_SHA/vieter-linux-amd64"

View file

@ -1,3 +1,6 @@
variables:
- &vlang_image 'chewingbever/vlang:0.3'
matrix: matrix:
PLATFORM: PLATFORM:
- 'linux/amd64' - 'linux/amd64'
@ -9,7 +12,7 @@ platform: ${PLATFORM}
pipeline: pipeline:
install-modules: install-modules:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
commands: commands:
- export VMODULES=$PWD/.vmodules - export VMODULES=$PWD/.vmodules
@ -18,7 +21,7 @@ pipeline:
event: [pull_request] event: [pull_request]
test: test:
image: 'chewingbever/vlang:0.3' image: *vlang_image
pull: true pull: true
commands: commands:
- export VMODULES=$PWD/.vmodules - export VMODULES=$PWD/.vmodules

View file

@ -35,6 +35,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Refactor of web framework * Refactor of web framework
* API endpoints now return id of newly created entries * API endpoints now return id of newly created entries
* Repo POST requests now return information on published package * Repo POST requests now return information on published package
* `api` can no longer be used as a repository name
* CLI client now allows setting values to an empty value
### Removed ### Removed

View file

@ -112,6 +112,17 @@ id | ID of requested log
## Publish build log ## Publish build log
> JSON output format
```json
{
"message": "",
"data": {
"id": 15
}
}
```
<aside class="warning"> <aside class="warning">
You should probably not use this endpoint, as it's used by the build system to You should probably not use this endpoint, as it's used by the build system to

View file

@ -100,6 +100,17 @@ id | id of requested target
## Create a new target ## Create a new target
> JSON output format
```json
{
"message": "",
"data": {
"id": 15
}
}
```
Create a new target with the given data. Create a new target with the given data.
### HTTP Request ### HTTP Request

View file

@ -30,12 +30,10 @@ fn (c &Client) send_request_raw(method Method, url string, params map[string]str
// Escape each query param // Escape each query param
for k, v in params { for k, v in params {
// An empty parameter should be the same as not providing it at all // An empty parameter should be the same as not providing it at all
if v != '' { params_escaped[k] = urllib.query_escape(v)
params_escaped[k] = urllib.query_escape(v)
}
} }
params_str := params_escaped.keys().map('$it=${params[it]}').join('&') params_str := params_escaped.keys().map('$it=${params_escaped[it]}').join('&')
full_url = '$full_url?$params_str' full_url = '$full_url?$params_str'
} }

View file

@ -50,6 +50,12 @@ fn (mut app App) get_repo_file(repo string, arch string, filename string) web.Re
// put_package handles publishing a package to a repository. // put_package handles publishing a package to a repository.
['/:repo/publish'; auth; post] ['/:repo/publish'; auth; post]
fn (mut app App) put_package(repo string) web.Result { fn (mut app App) put_package(repo string) web.Result {
// api is a reserved keyword for api routes & should never be allowed to be
// a repository.
if repo.to_lower() == 'api' {
return app.json(.bad_request, new_response("'api' is a reserved keyword & cannot be used as a repository name."))
}
mut pkg_path := '' mut pkg_path := ''
if length := app.req.header.get(.content_length) { if length := app.req.header.get(.content_length) {