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

@ -50,7 +50,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: []
@ -58,7 +58,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer vhcgVk5aa8de6fP3Z4E1Db6'
- 'Bearer Vcdk1vfeah3Pba865D64gEZ'
controller: null
method: null
route: null
@ -111,7 +111,7 @@ endpoints:
name: name
description: ''
required: true
example: voluptas
example: eum
type: string
enumValues: []
exampleWasSpecified: false
@ -145,7 +145,7 @@ endpoints:
name: port
description: ''
required: true
example: qui
example: incidunt
type: string
enumValues: []
exampleWasSpecified: false
@ -155,7 +155,7 @@ endpoints:
name: source
description: ''
required: false
example: amet
example: quisquam
type: string
enumValues: []
exampleWasSpecified: false
@ -172,17 +172,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: []
@ -190,7 +190,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer Z166cP5kab3eEhgD48Vvafd'
- 'Bearer k4gED56a1Vd8Zfc3Pvheb6a'
controller: null
method: null
route: null
@ -254,7 +254,7 @@ endpoints:
name: name
description: ''
required: true
example: et
example: dolor
type: string
enumValues: []
exampleWasSpecified: false
@ -264,7 +264,7 @@ endpoints:
name: type
description: ''
required: true
example: allow
example: deny
type: string
enumValues:
- allow
@ -288,7 +288,7 @@ endpoints:
name: port
description: ''
required: true
example: rerum
example: qui
type: string
enumValues: []
exampleWasSpecified: false
@ -298,7 +298,7 @@ endpoints:
name: source
description: ''
required: false
example: sed
example: porro
type: string
enumValues: []
exampleWasSpecified: false
@ -315,17 +315,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: []
@ -333,7 +333,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer 6P31Vc845vhEbkaagZdDfe6'
- 'Bearer ahV8vafbE5dDc4Zk1P36ge6'
controller: null
method: null
route: null
@ -398,7 +398,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: []
@ -406,7 +406,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer VdDb3eEaagvh68Z1kc5fP46'
- 'Bearer Vc4PfZ6k5hd618age3DEvab'
controller: null
method: null
route: null
@ -479,7 +479,7 @@ endpoints:
auth:
- headers
- Authorization
- 'Bearer ak3db6vef1DVEhacZ85g64P'
- 'Bearer Ze61D4Eb5f8vkg6PdhaaV3c'
controller: null
method: null
route: null