Add endpoint for reading & updating site deployment script (#562)

* feat(api): Add endpoint for updating site deployment script

- Add PUT /api/projects/{project}/servers/{server}/sites/{site}/deployment-script endpoint
- Add feature tests for successful and failed updates

* added reading deployment script as well

* generate docs

---------

Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
This commit is contained in:
Dimitar Yanakiev
2025-03-29 22:49:28 +02:00
committed by GitHub
parent 03be2d3ee2
commit 7882d2022c
33 changed files with 4072 additions and 1701 deletions

View File

@ -41,7 +41,7 @@ endpoints:
responses:
-
status: 200
content: '{"data":[{"id":2,"project_id":null,"global":true,"name":"laudantium","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"},{"id":3,"project_id":null,"global":true,"name":"aut","provider":"aws","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"&laquo; Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next &raquo;","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"quaerat","provider":"aws","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":4,"project_id":null,"global":true,"name":"quas","provider":"vultr","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}],"links":{"first":"\/?page=1","last":"\/?page=1","prev":null,"next":null},"meta":{"current_page":1,"from":1,"last_page":1,"links":[{"url":null,"label":"&laquo; Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next &raquo;","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}'
headers: []
description: ''
custom: []
@ -49,7 +49,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer Df16eda8Pa345EkgbZ6cvhV'
- 'Bearer aVP8e63k5D6ab1vdgEc4Zhf'
controller: null
method: null
route: null
@ -91,7 +91,7 @@ endpoints:
name: provider
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
required: true
example: voluptatem
example: exercitationem
type: string
enumValues: []
exampleWasSpecified: false
@ -101,7 +101,7 @@ endpoints:
name: name
description: 'The name of the server provider.'
required: true
example: repellat
example: similique
type: string
enumValues: []
exampleWasSpecified: false
@ -111,7 +111,7 @@ endpoints:
name: token
description: 'The token if provider requires api token'
required: true
example: omnis
example: nisi
type: string
enumValues: []
exampleWasSpecified: false
@ -121,7 +121,7 @@ endpoints:
name: key
description: 'The key if provider requires key'
required: true
example: recusandae
example: tempora
type: string
enumValues: []
exampleWasSpecified: false
@ -131,23 +131,23 @@ endpoints:
name: secret
description: 'The secret if provider requires key'
required: true
example: in
example: earum
type: string
enumValues: []
exampleWasSpecified: false
nullable: false
custom: []
cleanBodyParameters:
provider: voluptatem
name: repellat
token: omnis
key: recusandae
secret: in
provider: exercitationem
name: similique
token: nisi
key: tempora
secret: earum
fileParameters: []
responses:
-
status: 200
content: '{"id":2,"project_id":null,"global":true,"name":"quia","provider":"vultr","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
content: '{"id":3,"project_id":null,"global":true,"name":"iure","provider":"hetzner","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}'
headers: []
description: ''
custom: []
@ -155,7 +155,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer 8fbgDV6vdhakE1c64e3P5aZ'
- 'Bearer b6DZavf4c3gk8PEda1e5hV6'
controller: null
method: null
route: null
@ -209,7 +209,7 @@ endpoints:
responses:
-
status: 200
content: '{"id":2,"project_id":null,"global":true,"name":"ab","provider":"hetzner","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
content: '{"id":3,"project_id":null,"global":true,"name":"et","provider":"vultr","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}'
headers: []
description: ''
custom: []
@ -217,7 +217,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer eVE816Pc4ak3bdfahDZv6g5'
- 'Bearer 6b6aVEPkfvZ81c3dD5ea4hg'
controller: null
method: null
route: null
@ -270,7 +270,7 @@ endpoints:
name: name
description: 'The name of the server provider.'
required: true
example: est
example: porro
type: string
enumValues: []
exampleWasSpecified: false
@ -280,7 +280,7 @@ endpoints:
name: global
description: 'Accessible in all projects'
required: true
example: true
example: false
type: string
enumValues:
- true
@ -289,13 +289,13 @@ endpoints:
nullable: false
custom: []
cleanBodyParameters:
name: est
global: true
name: porro
global: false
fileParameters: []
responses:
-
status: 200
content: '{"id":2,"project_id":null,"global":true,"name":"nesciunt","provider":"linode","created_at":"2025-01-30T22:42:49.000000Z","updated_at":"2025-01-30T22:42:49.000000Z"}'
content: '{"id":3,"project_id":null,"global":true,"name":"aliquam","provider":"hetzner","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}'
headers: []
description: ''
custom: []
@ -303,7 +303,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer va86keaPDdh3b16Z54EgfcV'
- 'Bearer fgVkbe8ZhPa1c4v5E6Da36d'
controller: null
method: null
route: null
@ -365,7 +365,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer abv13ag8h5fZ4EPVDe6dc6k'
- 'Bearer 66Pfb5hE8gDVaZvkd1ec43a'
controller: null
method: null
route: null