Add endpoint for triggering site deployment (#563)

* feat(api): Add endpoint for triggering site deployment

- Add POST /api/projects/{project}/servers/{server}/sites/{site}/deploy endpoint
- Add feature tests

* fix merge issue and generate api docs

* fix merge

---------

Co-authored-by: Saeed Vaziry <61919774+saeedvaziry@users.noreply.github.com>
Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
This commit is contained in:
Dimitar Yanakiev
2025-04-05 20:41:52 +03:00
committed by GitHub
parent f483f7fdca
commit 2a670146d8
33 changed files with 1941 additions and 1450 deletions

View File

@ -52,7 +52,7 @@ endpoints:
responses:
-
status: 200
content: '{"data":[{"id":null,"name":"optio","server_id":null,"type":"allow","protocol":"tcp","port":52674,"source":"142.10.115.135","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"name":"dolores","server_id":null,"type":"allow","protocol":"tcp","port":34607,"source":"20.175.64.76","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"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":null,"name":"sit","server_id":null,"type":"allow","protocol":"tcp","port":59225,"source":"130.41.114.80","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"name":"sequi","server_id":null,"type":"allow","protocol":"tcp","port":17864,"source":"170.103.31.60","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}],"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: []
@ -60,7 +60,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer vhcgVk5aa8de6fP3Z4E1Db6'
- 'Bearer Vcdk1vfeah3Pba865D64gEZ'
controller: null
method: null
route: null
@ -113,7 +113,7 @@ endpoints:
name: name
description: ''
required: true
example: voluptas
example: eum
type: string
enumValues: []
exampleWasSpecified: false
@ -147,7 +147,7 @@ endpoints:
name: port
description: ''
required: true
example: qui
example: incidunt
type: string
enumValues: []
exampleWasSpecified: false
@ -157,7 +157,7 @@ endpoints:
name: source
description: ''
required: false
example: amet
example: quisquam
type: string
enumValues: []
exampleWasSpecified: false
@ -174,17 +174,17 @@ endpoints:
nullable: false
custom: []
cleanBodyParameters:
name: voluptas
name: eum
type: deny
protocol: udp
port: qui
source: amet
port: incidunt
source: quisquam
mask: '0'
fileParameters: []
responses:
-
status: 200
content: '{"id":null,"name":"molestiae","server_id":null,"type":"allow","protocol":"tcp","port":26783,"source":"190.202.255.27","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
content: '{"id":null,"name":"consequuntur","server_id":null,"type":"allow","protocol":"tcp","port":50101,"source":"133.245.21.1","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
headers: []
description: ''
custom: []
@ -192,7 +192,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer Z166cP5kab3eEhgD48Vvafd'
- 'Bearer k4gED56a1Vd8Zfc3Pvheb6a'
controller: null
method: null
route: null
@ -256,7 +256,7 @@ endpoints:
name: name
description: ''
required: true
example: et
example: dolor
type: string
enumValues: []
exampleWasSpecified: false
@ -266,7 +266,7 @@ endpoints:
name: type
description: ''
required: true
example: allow
example: deny
type: string
enumValues:
- allow
@ -290,7 +290,7 @@ endpoints:
name: port
description: ''
required: true
example: rerum
example: qui
type: string
enumValues: []
exampleWasSpecified: false
@ -300,7 +300,7 @@ endpoints:
name: source
description: ''
required: false
example: sed
example: porro
type: string
enumValues: []
exampleWasSpecified: false
@ -317,17 +317,17 @@ endpoints:
nullable: false
custom: []
cleanBodyParameters:
name: et
type: allow
name: dolor
type: deny
protocol: tcp
port: rerum
source: sed
port: qui
source: porro
mask: '0'
fileParameters: []
responses:
-
status: 200
content: '{"id":null,"name":"labore","server_id":null,"type":"allow","protocol":"tcp","port":29044,"source":"113.132.217.224","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
content: '{"id":null,"name":"numquam","server_id":null,"type":"allow","protocol":"tcp","port":52010,"source":"159.227.119.185","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
headers: []
description: ''
custom: []
@ -335,7 +335,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer 6P31Vc845vhEbkaagZdDfe6'
- 'Bearer ahV8vafbE5dDc4Zk1P36ge6'
controller: null
method: null
route: null
@ -400,7 +400,7 @@ endpoints:
responses:
-
status: 200
content: '{"id":null,"name":"ipsa","server_id":null,"type":"allow","protocol":"tcp","port":50679,"source":"42.114.67.31","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
content: '{"id":null,"name":"voluptatem","server_id":null,"type":"allow","protocol":"tcp","port":5812,"source":"122.105.250.56","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}'
headers: []
description: ''
custom: []
@ -408,7 +408,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer VdDb3eEaagvh68Z1kc5fP46'
- 'Bearer Vc4PfZ6k5hd618age3DEvab'
controller: null
method: null
route: null
@ -481,7 +481,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer ak3db6vef1DVEhacZ85g64P'
- 'Bearer Ze61D4Eb5f8vkg6PdhaaV3c'
controller: null
method: null
route: null