diff --git a/.scribe/endpoints.cache/00.yaml b/.scribe/endpoints.cache/00.yaml index 0b6feab..20534f9 100644 --- a/.scribe/endpoints.cache/00.yaml +++ b/.scribe/endpoints.cache/00.yaml @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PahVdEb56Z3f14kDgc68aev' + - 'Bearer 46fadkVc1vP5Ea8hg3bZeD6' controller: null method: null route: null @@ -113,7 +113,7 @@ endpoints: name: command description: '' required: true - example: qui + example: sit type: string enumValues: [] exampleWasSpecified: false @@ -123,7 +123,7 @@ endpoints: name: user description: '' required: true - example: vito + example: root type: string enumValues: - root @@ -142,8 +142,8 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - command: qui - user: vito + command: sit + user: root frequency: '* * * * *' fileParameters: [] responses: @@ -157,7 +157,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer agkPEVc3h6D1d6a8evfZb54' + - 'Bearer eaEVDZ1ka5v4hf6Pgcd386b' controller: null method: null route: null @@ -204,7 +204,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 17 + example: 13 type: integer enumValues: [] exampleWasSpecified: false @@ -213,7 +213,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - cronJob_id: 17 + cronJob_id: 13 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -230,7 +230,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer b518EePkVcdhDvZaf6643ga' + - 'Bearer gZkc1Vh568badDefE64vPa3' controller: null method: null route: null @@ -277,7 +277,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 11 + example: 16 type: integer enumValues: [] exampleWasSpecified: false @@ -286,7 +286,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - cronJob_id: 11 + cronJob_id: 16 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -303,7 +303,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3cak566dDhPvV8eZafg4bE1' + - 'Bearer PceD65b61vaV8Eg3a4dkfhZ' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/01.yaml b/.scribe/endpoints.cache/01.yaml index 60739f4..50d7b73 100644 --- a/.scribe/endpoints.cache/01.yaml +++ b/.scribe/endpoints.cache/01.yaml @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"name":"joyce53","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"eric55","status":"ready","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"name":"fkrajcik","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"critchie","status":"ready","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer vegcPa1dk6f435E68ZbhaVD' + - 'Bearer aZvgeV364fd8b6a5EDchP1k' controller: null method: null route: null @@ -113,7 +113,7 @@ endpoints: name: name description: '' required: true - example: debitis + example: esse type: string enumValues: [] exampleWasSpecified: false @@ -123,7 +123,7 @@ endpoints: name: charset description: '' required: true - example: maxime + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -133,21 +133,21 @@ endpoints: name: collation description: '' required: true - example: sed + example: labore type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: debitis - charset: maxime - collation: sed + name: esse + charset: ut + collation: labore fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"brekke.isabell","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"cory33","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Vk1fhea8caEg4dvD35PbZ66' + - 'Bearer fVvDPc64eaEk5bd36hgZ18a' controller: null method: null route: null @@ -202,7 +202,7 @@ endpoints: name: id description: 'The ID of the database.' required: true - example: 11 + example: 9 type: integer enumValues: [] exampleWasSpecified: false @@ -211,7 +211,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - id: 11 + id: 9 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -220,7 +220,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"vandervort.emmalee","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"walter.jacey","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -228,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer av45D6PehEdbZVgc381akf6' + - 'Bearer bvcEZgDaPfd564V18ahek63' controller: null method: null route: null @@ -275,7 +275,7 @@ endpoints: name: database_id description: 'The ID of the database.' required: true - example: 5 + example: 16 type: integer enumValues: [] exampleWasSpecified: false @@ -284,7 +284,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - database_id: 5 + database_id: 16 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -301,7 +301,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer hDa6EdgkP84fcV61baZ3v5e' + - 'Bearer 4a68DgeP6vcZbfVkh5a3d1E' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/02.yaml b/.scribe/endpoints.cache/02.yaml index 18a4b15..5eadced 100644 --- a/.scribe/endpoints.cache/02.yaml +++ b/.scribe/endpoints.cache/02.yaml @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"username":"lehner.eloy","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"rlowe","databases":[],"host":"%","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"username":"imurray","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"raleigh.heidenreich","databases":[],"host":"%","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3Da5E66PfZgdb81vkceah4V' + - 'Bearer Ebak4v1cZPe5hd66D8V3gfa' controller: null method: null route: null @@ -113,7 +113,7 @@ endpoints: name: username description: '' required: true - example: voluptas + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -123,7 +123,7 @@ endpoints: name: password description: '' required: true - example: ':D+e=/;H,' + example: "L&1)4X-w>&T=:'Y2#x" type: string enumValues: [] exampleWasSpecified: false @@ -140,14 +140,14 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - username: voluptas - password: ':D+e=/;H,' + username: ut + password: "L&1)4X-w>&T=:'Y2#x" host: '%' fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"fahey.joseph","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"kbernhard","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer DvPa3c6f5Edbagh8kVe41Z6' + - 'Bearer E4kahacZv6VDg81e6f3P5db' controller: null method: null route: null @@ -202,7 +202,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 19 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -211,7 +211,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - databaseUser_id: 19 + databaseUser_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -220,7 +220,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"szboncak","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"lavada.casper","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -228,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer VvDgd431cbE68heZ5fa6kaP' + - 'Bearer 3DgPZadcaf6h5bk4Vv8E61e' controller: null method: null route: null @@ -275,7 +275,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 11 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -284,7 +284,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - databaseUser_id: 11 + databaseUser_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -292,19 +292,19 @@ endpoints: name: databases description: 'Array of database names to link to the user.' required: true - example: accusantium + example: laboriosam type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - databases: accusantium + databases: laboriosam fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"smith.liliana","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"ojerde","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -312,7 +312,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1ZaahDcVeEvf6kd58P346gb' + - 'Bearer Deh4d1aa586ZgckPvE3bV6f' controller: null method: null route: null @@ -359,7 +359,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 18 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -368,7 +368,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - databaseUser_id: 18 + databaseUser_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -385,7 +385,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6g31ZcdV68bDfEaak54vePh' + - 'Bearer Pcd366f5egE1hVba8aZk4vD' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/03.yaml b/.scribe/endpoints.cache/03.yaml index 6c1754d..3ceaba6 100644 --- a/.scribe/endpoints.cache/03.yaml +++ b/.scribe/endpoints.cache/03.yaml @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"name":"ea","server_id":null,"type":"allow","protocol":"tcp","port":41910,"source":"202.183.211.242","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"name":"iusto","server_id":null,"type":"allow","protocol":"tcp","port":60689,"source":"227.149.61.57","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + 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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 8g15h66aPf3ZdvkEab4ceVD' + - 'Bearer vhcgVk5aa8de6fP3Z4E1Db6' controller: null method: null route: null @@ -113,7 +113,7 @@ endpoints: name: name description: '' required: true - example: autem + example: voluptas type: string enumValues: [] exampleWasSpecified: false @@ -123,7 +123,7 @@ endpoints: name: type description: '' required: true - example: allow + example: deny type: string enumValues: - allow @@ -135,7 +135,7 @@ endpoints: name: protocol description: '' required: true - example: tcp + example: udp type: string enumValues: - tcp @@ -147,7 +147,7 @@ endpoints: name: port description: '' required: true - example: quas + example: qui type: string enumValues: [] exampleWasSpecified: false @@ -157,7 +157,7 @@ endpoints: name: source description: '' required: false - example: blanditiis + example: amet type: string enumValues: [] exampleWasSpecified: false @@ -174,17 +174,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: autem - type: allow - protocol: tcp - port: quas - source: blanditiis + name: voluptas + type: deny + protocol: udp + port: qui + source: amet mask: '0' fileParameters: [] responses: - status: 200 - content: '{"id":null,"name":"in","server_id":null,"type":"allow","protocol":"tcp","port":13253,"source":"245.228.81.208","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + 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}' headers: [] description: '' custom: [] @@ -192,7 +192,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 8dhcE436Zbk6fgVDP1aa5ev' + - 'Bearer Z166cP5kab3eEhgD48Vvafd' controller: null method: null route: null @@ -256,7 +256,7 @@ endpoints: name: name description: '' required: true - example: earum + example: et type: string enumValues: [] exampleWasSpecified: false @@ -290,7 +290,7 @@ endpoints: name: port description: '' required: true - example: ab + example: rerum type: string enumValues: [] exampleWasSpecified: false @@ -300,7 +300,7 @@ endpoints: name: source description: '' required: false - example: possimus + example: sed type: string enumValues: [] exampleWasSpecified: false @@ -317,17 +317,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: earum + name: et type: allow protocol: tcp - port: ab - source: possimus + port: rerum + source: sed mask: '0' fileParameters: [] responses: - status: 200 - content: '{"id":null,"name":"repudiandae","server_id":null,"type":"allow","protocol":"tcp","port":44250,"source":"243.200.88.169","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + 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}' headers: [] description: '' custom: [] @@ -335,7 +335,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer ag6ebf3456hVkd8ca1PvEDZ' + - 'Bearer 6P31Vc845vhEbkaagZdDfe6' controller: null method: null route: null @@ -400,7 +400,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"name":"quam","server_id":null,"type":"allow","protocol":"tcp","port":62505,"source":"73.254.77.244","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + 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}' headers: [] description: '' custom: [] @@ -408,7 +408,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Paagd6D6fV5v4kZ31ebc8hE' + - 'Bearer VdDb3eEaagvh68Z1kc5fP46' controller: null method: null route: null @@ -481,7 +481,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer avf16Vhb43dacPZge6D5k8E' + - 'Bearer ak3db6vef1DVEhacZ85g64P' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/04.yaml b/.scribe/endpoints.cache/04.yaml index 0b94028..7cb5b7e 100644 --- a/.scribe/endpoints.cache/04.yaml +++ b/.scribe/endpoints.cache/04.yaml @@ -34,7 +34,7 @@ endpoints: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '59' + x-ratelimit-remaining: '58' access-control-allow-origin: '*' description: null custom: [] diff --git a/.scribe/endpoints.cache/05.yaml b/.scribe/endpoints.cache/05.yaml index a6f4c95..260eeb9 100644 --- a/.scribe/endpoints.cache/05.yaml +++ b/.scribe/endpoints.cache/05.yaml @@ -30,7 +30,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":3,"name":"Amara Jaskolski","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":4,"name":"Christy Kohler","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":3,"name":"Kattie Haley","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":4,"name":"Kailyn Kiehn","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -38,7 +38,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 5v83ePa1dah4bcE6VgfZDk6' + - 'Bearer 6D5kabfhdagZcP61VEe48v3' controller: null method: null route: null @@ -69,19 +69,19 @@ endpoints: name: name description: 'The name of the project.' required: true - example: temporibus + example: excepturi type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: temporibus + name: excepturi fileParameters: [] responses: - status: 200 - content: '{"id":3,"name":"Prof. Enrico Wehner Sr.","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":3,"name":"Dayne White","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -89,7 +89,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Zk61vE43aagDbc5V68edhPf' + - 'Bearer 1Vafe4abk6gvZE5dD36h8Pc' controller: null method: null route: null @@ -132,7 +132,7 @@ endpoints: responses: - status: 200 - content: '{"id":3,"name":"Zoie Feest","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":3,"name":"Cheyenne Ankunding III","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -140,7 +140,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6vfDgb435d8cPeV1EZa6hak' + - 'Bearer Pa3cd5ZeE1gbh68D46vafVk' controller: null method: null route: null @@ -182,19 +182,19 @@ endpoints: name: name description: 'The name of the project.' required: true - example: sit + example: mollitia type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: sit + name: mollitia fileParameters: [] responses: - status: 200 - content: '{"id":3,"name":"Mr. Jayme Kuhlman DVM","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":3,"name":"Susanna Stark","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -202,7 +202,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6gkaZVh3P5b81cf6ev4EdDa' + - 'Bearer 83Dfg6h4cdPev1abak5ZE6V' controller: null method: null route: null @@ -253,7 +253,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bfeg4DZ566cvdP813kVhEaa' + - 'Bearer Z84d51aDbhgk36fEPvV6eac' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/06.yaml b/.scribe/endpoints.cache/06.yaml index ea2cd18..5752b57 100644 --- a/.scribe/endpoints.cache/06.yaml +++ b/.scribe/endpoints.cache/06.yaml @@ -1,19 +1,19 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: servers +name: redirects description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects' metadata: - groupName: servers + groupName: redirects groupDescription: '' subgroup: '' subgroupDescription: '' - title: list - description: 'Get all servers in a project.' + title: index + description: 'Get all redirects.' authenticated: true custom: [] headers: @@ -31,8 +31,30 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 + site_id: 11 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -41,7 +63,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Prof. Wyatt Powlowski IV","ssh_user":"vito","ip":"33.53.217.82","local_ip":"227.155.11.76","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Guiseppe D''Amore","ssh_user":"vito","ip":"41.138.98.159","local_ip":"78.178.81.109","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"site_id":null,"mode":301,"from":"error","to":"https:\/\/www.pfannerstill.com\/facere-est-totam-laudantium-in-illo-sequi","status":"ready","created_at":null,"updated_at":null},{"id":null,"site_id":null,"mode":301,"from":"repellat","to":"http:\/\/gislason.biz\/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html","status":"ready","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +71,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aaEkbd3D8gZ6f5v1ePhcV46' + - 'Bearer Pava668DdZfk4cVEg3eb5h1' controller: null method: null route: null @@ -57,14 +79,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/servers' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects' metadata: - groupName: servers + groupName: redirects groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: 'Create a new server.' + description: 'Create a new redirect.' authenticated: true custom: [] headers: @@ -82,14 +104,36 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 + site_id: 11 queryParameters: [] cleanQueryParameters: [] bodyParameters: - provider: - name: provider - description: 'The server provider type' + from: + name: from + description: '' required: true example: vel type: string @@ -97,273 +141,38 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_provider: - name: server_provider - description: 'If the provider is not custom, the ID of the server provider profile' + to: + name: to + description: '' required: true - example: hetzner + example: ea + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + mode: + name: mode + description: '' + required: true + example: 307 type: string enumValues: - - custom - - hetzner - - digitalocean - - linode - - vultr - exampleWasSpecified: false - nullable: false - custom: [] - region: - name: region - description: 'Provider region if the provider is not custom' - required: true - example: voluptatibus - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - plan: - name: plan - description: 'Provider plan if the provider is not custom' - required: true - example: ducimus - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - ip: - name: ip - description: 'SSH IP address if the provider is custom' - required: true - example: dolores - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - port: - name: port - description: 'SSH Port if the provider is custom' - required: true - example: ratione - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - name: - name: name - description: 'The name of the server.' - required: true - example: in - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - os: - name: os - description: 'The os of the server' - required: true - example: cumque - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - webserver: - name: webserver - description: 'Web server' - required: true - example: nginx - type: string - enumValues: - - none - - nginx - exampleWasSpecified: false - nullable: false - custom: [] - database: - name: database - description: Database - required: true - example: mysql80 - type: string - enumValues: - - none - - mysql57 - - mysql80 - - mariadb103 - - mariadb104 - - mariadb103 - - postgresql12 - - postgresql13 - - postgresql14 - - postgresql15 - - postgresql16 - exampleWasSpecified: false - nullable: false - custom: [] - php: - name: php - description: 'PHP version' - required: true - example: '7.4' - type: string - enumValues: - - '7.0' - - '7.1' - - '7.2' - - '7.3' - - '7.4' - - '8.0' - - '8.1' - - '8.2' - - '8.3' + - 301 + - 302 + - 307 + - 308 exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: vel - server_provider: hetzner - region: voluptatibus - plan: ducimus - ip: dolores - port: ratione - name: in - os: cumque - webserver: nginx - database: mysql80 - php: '7.4' + from: vel + to: ea + mode: 307 fileParameters: [] responses: - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Anissa McDermott","ssh_user":"vito","ip":"212.15.34.173","local_ip":"142.201.95.242","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 6cgZPdbVD4fvae15khaE638' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/projects/{project_id}/servers/{id}' - metadata: - groupName: servers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: show - description: 'Get a server by ID.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - id: - name: id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Prof. Newton Wintheiser Jr.","ssh_user":"vito","ip":"243.154.251.36","local_ip":"198.224.194.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer d5Ebc1ZeDv8aPk466aV3gfh' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/reboot' - metadata: - groupName: servers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: reboot - description: 'Reboot a server.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 content: null headers: [] description: '' @@ -372,69 +181,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Vav31kZcfg86bdE6ha5DeP4' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/upgrade' - metadata: - groupName: servers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: upgrade - description: 'Upgrade server.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 14bV3dgZhD6cvEefkPa586a' + - 'Bearer 14Vg6Dce6aEh8kPbav5Z3fd' controller: null method: null route: null @@ -442,14 +189,14 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects/{redirect_id}' metadata: - groupName: servers + groupName: redirects groupDescription: '' subgroup: '' subgroupDescription: '' title: delete - description: 'Delete server.' + description: 'Delete a redirect.' authenticated: true custom: [] headers: @@ -477,9 +224,31 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + redirect_id: + name: redirect_id + description: 'The ID of the redirect.' + required: true + example: 9 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 server_id: 29 + site_id: 11 + redirect_id: 9 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -496,7 +265,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Vv6EbPh186eg3D5fadackZ4' + - 'Bearer vabZDk1c6fV46Ea3edhP8g5' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/07.yaml b/.scribe/endpoints.cache/07.yaml index 016a975..04e6025 100644 --- a/.scribe/endpoints.cache/07.yaml +++ b/.scribe/endpoints.cache/07.yaml @@ -1,19 +1,19 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: server-providers +name: servers description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/server-providers' + uri: 'api/projects/{project_id}/servers' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: '' + description: 'Get all servers in a project.' authenticated: true custom: [] headers: @@ -41,7 +41,7 @@ endpoints: responses: - status: 200 - 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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Consuelo Connelly","ssh_user":"vito","ip":"80.154.83.232","local_ip":"45.31.117.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Rodolfo Fadel","ssh_user":"vito","ip":"103.227.79.93","local_ip":"33.49.217.56","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aVP8e63k5D6ab1vdgEc4Zhf' + - 'Bearer 4kecVbv5Zaa3dE8D6fgP6h1' controller: null method: null route: null @@ -57,14 +57,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/server-providers' + uri: 'api/projects/{project_id}/servers' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: '' + description: 'Create a new server.' authenticated: true custom: [] headers: @@ -89,9 +89,64 @@ endpoints: bodyParameters: provider: name: provider - description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' + description: 'The server provider type' required: true - example: exercitationem + example: incidunt + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_provider: + name: server_provider + description: 'If the provider is not custom, the ID of the server provider profile' + required: true + example: hetzner + type: string + enumValues: + - custom + - hetzner + - digitalocean + - linode + - vultr + exampleWasSpecified: false + nullable: false + custom: [] + region: + name: region + description: 'Provider region if the provider is not custom' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + plan: + name: plan + description: 'Provider plan if the provider is not custom' + required: true + example: ullam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + ip: + name: ip + description: 'SSH IP address if the provider is custom' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + port: + name: port + description: 'SSH Port if the provider is custom' + required: true + example: praesentium type: string enumValues: [] exampleWasSpecified: false @@ -99,55 +154,93 @@ endpoints: custom: [] name: name: name - description: 'The name of the server provider.' + description: 'The name of the server.' required: true - example: similique + example: facere type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - token: - name: token - description: 'The token if provider requires api token' + os: + name: os + description: 'The os of the server' required: true - example: nisi + example: illo type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - key: - name: key - description: 'The key if provider requires key' + webserver: + name: webserver + description: 'Web server' required: true - example: tempora + example: none type: string - enumValues: [] + enumValues: + - none + - nginx exampleWasSpecified: false nullable: false custom: [] - secret: - name: secret - description: 'The secret if provider requires key' + database: + name: database + description: Database required: true - example: earum + example: none type: string - enumValues: [] + enumValues: + - none + - mysql57 + - mysql80 + - mariadb103 + - mariadb104 + - mariadb103 + - postgresql12 + - postgresql13 + - postgresql14 + - postgresql15 + - postgresql16 + exampleWasSpecified: false + nullable: false + custom: [] + php: + name: php + description: 'PHP version' + required: true + example: '8.1' + type: string + enumValues: + - '7.0' + - '7.1' + - '7.2' + - '7.3' + - '7.4' + - '8.0' + - '8.1' + - '8.2' + - '8.3' exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: exercitationem - name: similique - token: nisi - key: tempora - secret: earum + provider: incidunt + server_provider: hetzner + region: ut + plan: ullam + ip: architecto + port: praesentium + name: facere + os: illo + webserver: none + database: none + php: '8.1' fileParameters: [] responses: - status: 200 - 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"}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Herbert VonRueden","ssh_user":"vito","ip":"91.154.105.143","local_ip":"62.75.177.7","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -155,7 +248,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer b6DZavf4c3gk8PEda1e5hV6' + - 'Bearer 1d43hZc6VagPaEe5bDvf86k' controller: null method: null route: null @@ -163,14 +256,14 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + uri: 'api/projects/{project_id}/servers/{id}' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' title: show - description: '' + description: 'Get a server by ID.' authenticated: true custom: [] headers: @@ -188,11 +281,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - serverProvider_id: - name: serverProvider_id - description: 'The ID of the serverProvider.' + id: + name: id + description: 'The ID of the server.' required: true - example: 1 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -200,7 +293,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - serverProvider_id: 1 + id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -209,7 +302,7 @@ endpoints: responses: - status: 200 - 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"}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Connie Simonis","ssh_user":"vito","ip":"202.119.26.253","local_ip":"112.75.79.203","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -217,22 +310,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6b6aVEPkfvZ81c3dD5ea4hg' + - 'Bearer 6648eab1kafVPDh5vEcgd3Z' controller: null method: null route: null custom: [] - httpMethods: - - PUT - uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/reboot' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' - title: update - description: '' + title: reboot + description: 'Reboot a server.' authenticated: true custom: [] headers: @@ -250,11 +343,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - serverProvider_id: - name: serverProvider_id - description: 'The ID of the serverProvider.' + server_id: + name: server_id + description: 'The ID of the server.' required: true - example: 1 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -262,93 +355,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - serverProvider_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: 'The name of the server provider.' - required: true - example: porro - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - global: - name: global - description: 'Accessible in all projects' - required: true - example: false - type: string - enumValues: - - true - - false - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - name: porro - global: false - fileParameters: [] - responses: - - - status: 200 - 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: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer fgVkbe8ZhPa1c4v5E6Da36d' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' - metadata: - groupName: server-providers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: delete - description: '' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - serverProvider_id: - name: serverProvider_id - description: 'The ID of the serverProvider.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - serverProvider_id: 1 + server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -365,7 +372,131 @@ endpoints: auth: - headers - Authorization - - 'Bearer 66Pfb5hE8gDVaZvkd1ec43a' + - 'Bearer heE6bdfa18v5Pa6kg4cZVD3' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/upgrade' + metadata: + groupName: servers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: upgrade + description: 'Upgrade server.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 4Ege66vbc1hka8DPaV5Zfd3' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/servers/{server_id}' + metadata: + groupName: servers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: 'Delete server.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer v3ceb6d6V1aDk584EhgfaZP' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/08.yaml b/.scribe/endpoints.cache/08.yaml index e1411c3..b26776e 100644 --- a/.scribe/endpoints.cache/08.yaml +++ b/.scribe/endpoints.cache/08.yaml @@ -1,19 +1,19 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: ssh-keys +name: server-providers description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' + uri: 'api/projects/{project_id}/server-providers' metadata: - groupName: ssh-keys + groupName: server-providers groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: 'Get all ssh keys.' + description: '' authenticated: true custom: [] headers: @@ -31,19 +31,8 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] cleanUrlParameters: project_id: 1 - server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -52,7 +41,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"user":null,"name":"Dr. Virgie Reilly","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Horace Gutmann","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"id","provider":"custom","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":4,"project_id":null,"global":true,"name":"culpa","provider":"linode","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer vPhZkafdEa8b665e134cgVD' + - 'Bearer f1ebaVgEP3vahDk6dc58Z64' controller: null method: null route: null @@ -68,14 +57,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' + uri: 'api/projects/{project_id}/server-providers' metadata: - groupName: ssh-keys + groupName: server-providers groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: 'Deploy ssh key to server.' + description: '' authenticated: true custom: [] headers: @@ -93,27 +82,16 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] cleanUrlParameters: project_id: 1 - server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: - key_id: - name: key_id - description: 'The ID of the key.' + provider: + name: provider + description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' required: true - example: et + example: mollitia type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +99,27 @@ endpoints: custom: [] name: name: name - description: 'Key name, required if key_id is not provided.' + description: 'The name of the server provider.' + required: true + example: adipisci + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + token: + name: token + description: 'The token if provider requires api token' + required: true + example: animi + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + key: + name: key + description: 'The key if provider requires key' required: true example: provident type: string @@ -129,25 +127,27 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - public_key: - name: public_key - description: 'Public Key, required if key_id is not provided.' + secret: + name: secret + description: 'The secret if provider requires key' required: true - example: incidunt + example: deserunt type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - key_id: et - name: provident - public_key: incidunt + provider: mollitia + name: adipisci + token: animi + key: provident + secret: deserunt fileParameters: [] responses: - status: 200 - content: '{"id":null,"user":null,"name":"Miss Penelope Sipes IV","created_at":null,"updated_at":null}' + content: '{"id":3,"project_id":null,"global":true,"name":"et","provider":"vultr","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -155,22 +155,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer 5aah3b6PdVkc4efv6Eg81ZD' + - 'Bearer agE4kv6Zc1d36PVhDaf5e8b' controller: null method: null route: null custom: [] - httpMethods: - - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys/{sshKey_id}' + - GET + uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' metadata: - groupName: ssh-keys + groupName: server-providers groupDescription: '' subgroup: '' subgroupDescription: '' - title: delete - description: 'Delete ssh key from server.' + title: show + description: '' authenticated: true custom: [] headers: @@ -188,19 +188,9 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - sshKey_id: - name: sshKey_id - description: 'The ID of the sshKey.' + serverProvider_id: + name: serverProvider_id + description: 'The ID of the serverProvider.' required: true example: 1 type: integer @@ -210,8 +200,155 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 29 - sshKey_id: 1 + serverProvider_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"id":3,"project_id":null,"global":true,"name":"ab","provider":"digitalocean","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 815vc6eDEgZVPkah4fdba36' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + metadata: + groupName: server-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: update + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serverProvider_id: + name: serverProvider_id + description: 'The ID of the serverProvider.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + serverProvider_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'The name of the server provider.' + required: true + example: eveniet + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + global: + name: global + description: 'Accessible in all projects' + required: true + example: false + type: string + enumValues: + - true + - false + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: eveniet + global: false + fileParameters: [] + responses: + - + status: 200 + content: '{"id":3,"project_id":null,"global":true,"name":"expedita","provider":"aws","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 48kfEV6ahDaP63bgcZ51evd' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + metadata: + groupName: server-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serverProvider_id: + name: serverProvider_id + description: 'The ID of the serverProvider.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + serverProvider_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -228,7 +365,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dh8a1gacZ366k5Pev4fbEdV' + - 'Bearer P6g4av8DcaV6fdZ3k1hb5eE' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/09.yaml b/.scribe/endpoints.cache/09.yaml index ffcab4e..daeb9b9 100644 --- a/.scribe/endpoints.cache/09.yaml +++ b/.scribe/endpoints.cache/09.yaml @@ -1,19 +1,19 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: services +name: ssh-keys description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/services' + uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' metadata: - groupName: services + groupName: ssh-keys groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: 'Get all services.' + description: 'Get all ssh keys.' authenticated: true custom: [] headers: @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"user":null,"name":"Dr. Pansy Kunde DVM","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Ms. Maximillia DuBuque Sr.","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,22 +60,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dbcd346g8EfZ5aheaVvkP16' + - 'Bearer 3Dah456fdP8kVbZ6vEag1ec' controller: null method: null route: null custom: [] - httpMethods: - - GET - uri: 'api/projects/{project_id}/servers/{server_id}/services/{id}' + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' metadata: - groupName: services + groupName: ssh-keys groupDescription: '' subgroup: '' subgroupDescription: '' - title: show - description: 'Get a service by ID.' + title: create + description: 'Deploy ssh key to server.' authenticated: true custom: [] headers: @@ -103,29 +103,51 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - id: - name: id - description: 'The ID of the service.' + cleanUrlParameters: + project_id: 1 + server_id: 29 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + key_id: + name: key_id + description: 'The ID of the key.' required: true - example: 169 - type: integer + example: debitis + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + name: + name: name + description: 'Key name, required if key_id is not provided.' + required: true + example: illum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + public_key: + name: public_key + description: 'Public Key, required if key_id is not provided.' + required: true + example: dignissimos + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + key_id: debitis + name: illum + public_key: dignissimos fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"user":null,"name":"Uriah Harvey","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -133,372 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer hd8bE5aD6v4Vc16af3kgPeZ' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/start' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: start - description: 'Start service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer agcvkPdfe56aZ14EV6b8D3h' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/stop' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: stop - description: 'Stop service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer bvVga83Dh1f6ackP46e5ZdE' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/restart' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: restart - description: 'Restart service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 8PD5cVdfv3a1bh46e6EZagk' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/enable' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: enable - description: 'Enable service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer a485achPEDe63bgVk16vZdf' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/disable' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: disable - description: 'Disable service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 6ZePf1dc346k8h5DvaEbaVg' + - 'Bearer 8bkv164ZVPcE5gde3faa6Dh' controller: null method: null route: null @@ -506,14 +163,14 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys/{sshKey_id}' metadata: - groupName: services + groupName: ssh-keys groupDescription: '' subgroup: '' subgroupDescription: '' title: delete - description: 'Delete service.' + description: 'Delete ssh key from server.' authenticated: true custom: [] headers: @@ -541,11 +198,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - service_id: - name: service_id - description: 'The ID of the service.' + sshKey_id: + name: sshKey_id + description: 'The ID of the sshKey.' required: true - example: 169 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -554,7 +211,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - service_id: 169 + sshKey_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -571,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 48fP63b1hckda6vaZEVeg5D' + - 'Bearer 18P65Da6Vdh3e4cZgfkvabE' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/10.yaml b/.scribe/endpoints.cache/10.yaml index 5106657..3dbaac0 100644 --- a/.scribe/endpoints.cache/10.yaml +++ b/.scribe/endpoints.cache/10.yaml @@ -1,19 +1,19 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: sites +name: services description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/sites' + uri: 'api/projects/{project_id}/servers/{server_id}/services' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: 'Get all sites.' + description: 'Get all services.' authenticated: true custom: [] headers: @@ -52,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -60,212 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3V64fhkdgEvD5Z1cP6aea8b' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/sites' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: create - description: 'Create a new site.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - type: - name: type - description: '' - required: true - example: php-blank - type: string - enumValues: - - php - - php-blank - - phpmyadmin - - laravel - - wordpress - - load-balancer - exampleWasSpecified: false - nullable: false - custom: [] - domain: - name: domain - description: '' - required: true - example: harum - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - aliases: - name: aliases - description: '' - required: true - example: - - voluptatem - type: 'string[]' - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - php_version: - name: php_version - description: 'One of the installed PHP Versions' - required: true - example: '7.4' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - web_directory: - name: web_directory - description: 'Required for PHP and Laravel sites' - required: true - example: public - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - source_control: - name: source_control - description: 'Source control ID, Required for Sites which support source control' - required: true - example: amet - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - repository: - name: repository - description: 'Repository, Required for Sites which support source control' - required: true - example: organization/repository - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - branch: - name: branch - description: 'Branch, Required for Sites which support source control' - required: true - example: main - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - composer: - name: composer - description: 'Run composer if site supports composer' - required: true - example: true - type: boolean - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - version: - name: version - description: 'Version, if the site type requires a version like PHPMyAdmin' - required: true - example: 5.2.1 - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - user: - name: user - description: 'user, to isolate the website under a new user' - required: true - example: et - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - method: - name: method - description: 'Load balancer method, Required if the site type is Load balancer' - required: true - example: least-connections - type: string - enumValues: - - round-robin - - least-connections - - ip-hash - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - type: php-blank - domain: harum - aliases: - - voluptatem - php_version: '7.4' - web_directory: public - source_control: amet - repository: organization/repository - branch: main - composer: true - version: 5.2.1 - user: et - method: least-connections - fileParameters: [] - responses: - - - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer EVDP3fa1vga8Zk5cd466ebh' + - 'Bearer c4d6561av3ehkVagPfZb8DE' controller: null method: null route: null @@ -273,14 +68,14 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{id}' + uri: 'api/projects/{project_id}/servers/{server_id}/services/{id}' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' title: show - description: 'Get a site by ID.' + description: 'Get a service by ID.' authenticated: true custom: [] headers: @@ -310,9 +105,9 @@ endpoints: custom: [] id: name: id - description: 'The ID of the site.' + description: 'The ID of the service.' required: true - example: 43 + example: 169 type: integer enumValues: [] exampleWasSpecified: false @@ -321,7 +116,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - id: 43 + id: 169 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -330,7 +125,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -338,80 +133,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer b3h4Zegva1kEcdVfD8P5a66' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: delete - description: 'Delete site.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - site_id: - name: site_id - description: 'The ID of the site.' - required: true - example: 43 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - site_id: 43 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer cDe1b4f6a63EagP5vkdZ8Vh' + - 'Bearer 8ab6dPD5gh1EZfk36vaVe4c' controller: null method: null route: null @@ -419,14 +141,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer' + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/start' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' - title: load-balancer - description: 'Update load balancer.' + title: start + description: 'Start service.' authenticated: true custom: [] headers: @@ -454,11 +176,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - site_id: - name: site_id - description: 'The ID of the site.' + service_id: + name: service_id + description: 'The ID of the service.' required: true - example: 43 + example: 169 type: integer enumValues: [] exampleWasSpecified: false @@ -467,208 +189,11 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - site_id: 43 + service_id: 169 queryParameters: [] cleanQueryParameters: [] - bodyParameters: - method: - name: method - description: 'Load balancer method, Required if the site type is Load balancer' - required: true - example: ip-hash - type: string - enumValues: - - round-robin - - least-connections - - ip-hash - exampleWasSpecified: false - nullable: false - custom: [] - servers: - name: servers - description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' - required: true - example: - - accusantium - type: 'string[]' - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - method: ip-hash - servers: - - accusantium - fileParameters: [] - responses: - - - status: 200 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer e65dDaaP6V4E3Zcf8hgvkb1' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/aliases' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: aliases - description: 'Update aliases.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - site_id: - name: site_id - description: 'The ID of the site.' - required: true - example: 43 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - site_id: 43 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - aliases: - name: aliases - description: 'Array of aliases' - required: true - example: - - ut - type: 'string[]' - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - aliases: - - ut - fileParameters: [] - responses: - - - status: 200 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer aedPZ4ah68c3Ef1kDVbvg65' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: deployment-script - description: 'Update site deployment script' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - site_id: - name: site_id - description: 'The ID of the site.' - required: true - example: 43 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - site_id: 43 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - script: - name: script - description: 'Content of the deployment script' - required: true - example: culpa - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - script: culpa + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] responses: - @@ -681,22 +206,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer fhVea1a3cPdk6g5Ev468DZb' + - 'Bearer 1VDa6ckv35hgZ8d6Eb4Pafe' controller: null method: null route: null custom: [] - httpMethods: - - GET - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/stop' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' - title: deployment-script - description: 'Get site deployment script content' + title: stop + description: 'Stop service.' authenticated: true custom: [] headers: @@ -724,11 +249,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - site_id: - name: site_id - description: 'The ID of the site.' + service_id: + name: service_id + description: 'The ID of the service.' required: true - example: 43 + example: 169 type: integer enumValues: [] exampleWasSpecified: false @@ -737,7 +262,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - site_id: 43 + service_id: 169 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -745,7 +270,7 @@ endpoints: fileParameters: [] responses: - - status: 200 + status: 204 content: null headers: [] description: '' @@ -754,7 +279,299 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1g3bfhd6c8aPV6aZD45eEvk' + - 'Bearer V4d1k6b5hae3fcZDa6g8PvE' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/restart' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: restart + description: 'Restart service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer g84c6eEZP3k5fvV6baD1had' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/enable' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: enable + description: 'Enable service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer fE4V65h18acdkgbv3Za6PDe' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/disable' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: disable + description: 'Disable service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer gaEcPZ83ka1v65bVfh4d6eD' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: 'Delete service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 8Va1aEehb5kg3P64ZdvDcf6' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/11.yaml b/.scribe/endpoints.cache/11.yaml index f1a0174..7530e88 100644 --- a/.scribe/endpoints.cache/11.yaml +++ b/.scribe/endpoints.cache/11.yaml @@ -1,19 +1,19 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: source-controls +name: sites description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/source-controls' + uri: 'api/projects/{project_id}/servers/{server_id}/sites' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: '' + description: 'Get all sites.' authenticated: true custom: [] headers: @@ -31,8 +31,19 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -41,7 +52,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Amya Jones","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Jerry Donnelly","provider":"github","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +60,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Pvgec6k58a4fZa6D1Vd3hEb' + - 'Bearer d8Ev3Pce54gkZ6h6faVb1Da' controller: null method: null route: null @@ -57,14 +68,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/source-controls' + uri: 'api/projects/{project_id}/servers/{server_id}/sites' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: '' + description: 'Create a new site.' authenticated: true custom: [] headers: @@ -82,86 +93,171 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: - provider: - name: provider - description: 'The provider' + type: + name: type + description: '' required: true - example: bitbucket + example: phpmyadmin type: string enumValues: - - gitlab - - github - - bitbucket + - php + - php-blank + - phpmyadmin + - laravel + - wordpress + - load-balancer exampleWasSpecified: false nullable: false custom: [] - name: - name: name - description: 'The name of the storage provider.' + domain: + name: domain + description: '' required: true - example: eligendi + example: tenetur type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - token: - name: token - description: 'The token if provider requires api token' + aliases: + name: aliases + description: '' required: true - example: debitis + example: + - aut + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + php_version: + name: php_version + description: 'One of the installed PHP Versions' + required: true + example: '7.4' type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - url: - name: url - description: 'The URL if the provider is Gitlab and it is self-hosted' + web_directory: + name: web_directory + description: 'Required for PHP and Laravel sites' required: true - example: 'http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum' + example: public type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - username: - name: username - description: 'The username if the provider is Bitbucket' + source_control: + name: source_control + description: 'Source control ID, Required for Sites which support source control' required: true - example: rerum + example: quasi type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - password: - name: password - description: 'The password if the provider is Bitbucket' + repository: + name: repository + description: 'Repository, Required for Sites which support source control' required: true - example: 'wBK}NHxV:x' + example: organization/repository type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] + branch: + name: branch + description: 'Branch, Required for Sites which support source control' + required: true + example: main + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + composer: + name: composer + description: 'Run composer if site supports composer' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + version: + name: version + description: 'Version, if the site type requires a version like PHPMyAdmin' + required: true + example: 5.2.1 + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + user: + name: user + description: 'user, to isolate the website under a new user' + required: true + example: deleniti + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: round-robin + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] cleanBodyParameters: - provider: bitbucket - name: eligendi - token: debitis - url: 'http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum' - username: rerum - password: 'wBK}NHxV:x' + type: phpmyadmin + domain: tenetur + aliases: + - aut + php_version: '7.4' + web_directory: public + source_control: quasi + repository: organization/repository + branch: main + composer: true + version: 5.2.1 + user: deleniti + method: round-robin fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Dr. Janae Tremblay PhD","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -169,7 +265,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer eaD3hgavbcE61f46VdkZP58' + - 'Bearer ge6VPfkE8cah6Dv34bda15Z' controller: null method: null route: null @@ -177,14 +273,14 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{id}' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: show - description: '' + description: 'Get a site by ID.' authenticated: true custom: [] headers: @@ -202,11 +298,21 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - sourceControl_id: - name: sourceControl_id - description: 'The ID of the sourceControl.' + server_id: + name: server_id + description: 'The ID of the server.' required: true - example: 1 + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the site.' + required: true + example: 12 type: integer enumValues: [] exampleWasSpecified: false @@ -214,7 +320,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 1 + server_id: 29 + id: 12 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -223,7 +330,7 @@ endpoints: responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Marguerite Aufderhar","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -231,137 +338,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer g653Ph4VaebdE1Z6cakfDv8' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' - metadata: - groupName: source-controls - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: update - description: '' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - sourceControl_id: - name: sourceControl_id - description: 'The ID of the sourceControl.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - sourceControl_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: 'The name of the storage provider.' - required: true - example: blanditiis - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - token: - name: token - description: 'The token if provider requires api token' - required: true - example: non - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - url: - name: url - description: 'The URL if the provider is Gitlab and it is self-hosted' - required: true - example: 'https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - username: - name: username - description: 'The username if the provider is Bitbucket' - required: true - example: porro - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - password: - name: password - description: 'The password if the provider is Bitbucket' - required: true - example: '>BW~{`#d,}=U!XxC!t]' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - global: - name: global - description: 'Accessible in all projects' - required: true - example: false - type: string - enumValues: - - true - - false - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - name: blanditiis - token: non - url: 'https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam' - username: porro - password: '>BW~{`#d,}=U!XxC!t]' - global: false - fileParameters: [] - responses: - - - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Johan Crooks","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 1g3ZV5haeEa8dD6kcv6bf4P' + - 'Bearer a14kPe3b6fvd6ZgahEVc58D' controller: null method: null route: null @@ -369,14 +346,14 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: delete - description: '' + description: 'Delete site.' authenticated: true custom: [] headers: @@ -394,11 +371,21 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - sourceControl_id: - name: sourceControl_id - description: 'The ID of the sourceControl.' + server_id: + name: server_id + description: 'The ID of the server.' required: true - example: 1 + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 9 type: integer enumValues: [] exampleWasSpecified: false @@ -406,7 +393,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 1 + server_id: 29 + site_id: 9 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -423,7 +411,350 @@ endpoints: auth: - headers - Authorization - - 'Bearer de684Vav1kf3PbaDg6hEZc5' + - 'Bearer cvfD853h4EZae6dab6gVPk1' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: load-balancer + description: 'Update load balancer.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 19 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 19 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: ip-hash + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] + servers: + name: servers + description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' + required: true + example: + - dolores + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + method: ip-hash + servers: + - dolores + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer de5Vka1avb6Zg36fDE8Ph4c' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/aliases' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: aliases + description: 'Update aliases.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 16 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + aliases: + name: aliases + description: 'Array of aliases' + required: true + example: + - aut + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + aliases: + - aut + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 6f6kVD153hEgPdZacva4b8e' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: deployment-script + description: 'Update site deployment script' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + script: + name: script + description: 'Content of the deployment script' + required: true + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + script: qui + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 3b6Eh5eaf1d48DZvPgk6cVa' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: deployment-script + description: 'Get site deployment script content' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 16 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer v1kEa3hgb664dfD5Z8VePac' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/12.yaml b/.scribe/endpoints.cache/12.yaml index e5d2c9f..abec322 100644 --- a/.scribe/endpoints.cache/12.yaml +++ b/.scribe/endpoints.cache/12.yaml @@ -1,14 +1,14 @@ ## Autogenerated by Scribe. DO NOT MODIFY. -name: storage-providers +name: source-controls description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/storage-providers' + uri: 'api/projects/{project_id}/source-controls' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -41,7 +41,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"sit","provider":"ftp","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":6,"project_id":null,"global":true,"name":"repudiandae","provider":"local","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Emil Leannon","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Eleazar Pacocha Sr.","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -49,7 +49,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer EbkDP1Z3aVav8g6ef6dc5h4' + - 'Bearer a34dVDE5ak8ceZvfh1Pb66g' controller: null method: null route: null @@ -57,9 +57,9 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/storage-providers' + uri: 'api/projects/{project_id}/source-controls' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -89,11 +89,14 @@ endpoints: bodyParameters: provider: name: provider - description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' + description: 'The provider' required: true - example: est + example: github type: string - enumValues: [] + enumValues: + - gitlab + - github + - bitbucket exampleWasSpecified: false nullable: false custom: [] @@ -101,7 +104,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: id + example: aliquam type: string enumValues: [] exampleWasSpecified: false @@ -111,43 +114,54 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: repellendus + example: voluptatem type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - key: - name: key - description: 'The key if provider requires key' + url: + name: url + description: 'The URL if the provider is Gitlab and it is self-hosted' required: true - example: ducimus + example: 'https://brown.org/placeat-optio-illum-eius-ipsa.html' type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - secret: - name: secret - description: 'The secret if provider requires key' + username: + name: username + description: 'The username if the provider is Bitbucket' required: true - example: possimus + example: a + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: 'The password if the provider is Bitbucket' + required: true + example: "_/_,9'/6z;9" type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: est - name: id - token: repellendus - key: ducimus - secret: possimus + provider: github + name: aliquam + token: voluptatem + url: 'https://brown.org/placeat-optio-illum-eius-ipsa.html' + username: a + password: "_/_,9'/6z;9" fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"sequi","provider":"dropbox","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Ahmad Kulas","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -155,7 +169,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 45kVPD6ec6hvga83bfa1dEZ' + - 'Bearer 65dacDVh4kevfZ8P1bEga36' controller: null method: null route: null @@ -163,9 +177,9 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -188,11 +202,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - storageProvider_id: - name: storageProvider_id - description: 'The ID of the storageProvider.' + sourceControl_id: + name: sourceControl_id + description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -200,7 +214,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -209,7 +223,7 @@ endpoints: responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"alias","provider":"ftp","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Mr. Marquis Kunde IV","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -217,7 +231,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer ahb6gDd8fv3P1ak6cEe4V5Z' + - 'Bearer a8hf6adecDkVbEZ6P1g54v3' controller: null method: null route: null @@ -225,9 +239,9 @@ endpoints: - httpMethods: - PUT - uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -250,11 +264,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - storageProvider_id: - name: storageProvider_id - description: 'The ID of the storageProvider.' + sourceControl_id: + name: sourceControl_id + description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -262,7 +276,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -270,7 +284,47 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: ullam + example: laudantium + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + token: + name: token + description: 'The token if provider requires api token' + required: true + example: nulla + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + url: + name: url + description: 'The URL if the provider is Gitlab and it is self-hosted' + required: true + example: 'http://wiza.com/' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + username: + name: username + description: 'The username if the provider is Bitbucket' + required: true + example: numquam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: 'The password if the provider is Bitbucket' + required: true + example: 'MlD,$m:8^A' type: string enumValues: [] exampleWasSpecified: false @@ -280,7 +334,7 @@ endpoints: name: global description: 'Accessible in all projects' required: true - example: true + example: false type: string enumValues: - true @@ -289,13 +343,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: ullam - global: true + name: laudantium + token: nulla + url: 'http://wiza.com/' + username: numquam + password: 'MlD,$m:8^A' + global: false fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"at","provider":"ftp","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Mrs. Arvilla Mitchell","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -303,7 +361,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer a8Vgfvh5abkd616eDZ43cPE' + - 'Bearer Z36EdDbavkeVPch68a1g45f' controller: null method: null route: null @@ -311,9 +369,9 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -336,11 +394,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - storageProvider_id: - name: storageProvider_id - description: 'The ID of the storageProvider.' + sourceControl_id: + name: sourceControl_id + description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -348,7 +406,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -365,7 +423,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer kDheaPEvb61Va564dZc8f3g' + - 'Bearer gaadhb6Ev6Dk8fc4P1eV53Z' controller: null method: null route: null diff --git a/.scribe/endpoints.cache/13.yaml b/.scribe/endpoints.cache/13.yaml new file mode 100644 index 0000000..1453e82 --- /dev/null +++ b/.scribe/endpoints.cache/13.yaml @@ -0,0 +1,372 @@ +## Autogenerated by Scribe. DO NOT MODIFY. + +name: storage-providers +description: '' +endpoints: + - + httpMethods: + - GET + uri: 'api/projects/{project_id}/storage-providers' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: list + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"autem","provider":"s3","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":6,"project_id":null,"global":true,"name":"nihil","provider":"ftp","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer c8gDkZ1563Va4dvb6EaefPh' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/storage-providers' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: create + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + provider: + name: provider + description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + name: + name: name + description: 'The name of the storage provider.' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + token: + name: token + description: 'The token if provider requires api token' + required: true + example: delectus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + key: + name: key + description: 'The key if provider requires key' + required: true + example: natus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + secret: + name: secret + description: 'The secret if provider requires key' + required: true + example: saepe + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + provider: est + name: voluptatem + token: delectus + key: natus + secret: saepe + fileParameters: [] + responses: + - + status: 200 + content: '{"id":5,"project_id":null,"global":true,"name":"omnis","provider":"local","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer g8aVh3evPZ5dkDfac14b66E' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: show + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + storageProvider_id: + name: storageProvider_id + description: 'The ID of the storageProvider.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + storageProvider_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"id":5,"project_id":null,"global":true,"name":"molestiae","provider":"dropbox","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 184aP6ce6b5VfdZv3hDakEg' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: update + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + storageProvider_id: + name: storageProvider_id + description: 'The ID of the storageProvider.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + storageProvider_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'The name of the storage provider.' + required: true + example: exercitationem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + global: + name: global + description: 'Accessible in all projects' + required: true + example: true + type: string + enumValues: + - true + - false + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: exercitationem + global: true + fileParameters: [] + responses: + - + status: 200 + content: '{"id":5,"project_id":null,"global":true,"name":"dolorum","provider":"s3","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer dav4Dh6Pgb35ckEa81f6VZe' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + storageProvider_id: + name: storageProvider_id + description: 'The ID of the storageProvider.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + storageProvider_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 84vcE35a6dDZgak1ehVP6fb' + controller: null + method: null + route: null + custom: [] diff --git a/.scribe/endpoints/00.yaml b/.scribe/endpoints/00.yaml index 95471b6..e9cb6f0 100644 --- a/.scribe/endpoints/00.yaml +++ b/.scribe/endpoints/00.yaml @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer PahVdEb56Z3f14kDgc68aev' + - 'Bearer 46fadkVc1vP5Ea8hg3bZeD6' controller: null method: null route: null @@ -111,7 +111,7 @@ endpoints: name: command description: '' required: true - example: qui + example: sit type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: user description: '' required: true - example: vito + example: root type: string enumValues: - root @@ -140,8 +140,8 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - command: qui - user: vito + command: sit + user: root frequency: '* * * * *' fileParameters: [] responses: @@ -155,7 +155,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer agkPEVc3h6D1d6a8evfZb54' + - 'Bearer eaEVDZ1ka5v4hf6Pgcd386b' controller: null method: null route: null @@ -202,7 +202,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 17 + example: 13 type: integer enumValues: [] exampleWasSpecified: false @@ -211,7 +211,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - cronJob_id: 17 + cronJob_id: 13 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -228,7 +228,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer b518EePkVcdhDvZaf6643ga' + - 'Bearer gZkc1Vh568badDefE64vPa3' controller: null method: null route: null @@ -275,7 +275,7 @@ endpoints: name: cronJob_id description: 'The ID of the cronJob.' required: true - example: 11 + example: 16 type: integer enumValues: [] exampleWasSpecified: false @@ -284,7 +284,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - cronJob_id: 11 + cronJob_id: 16 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -301,7 +301,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3cak566dDhPvV8eZafg4bE1' + - 'Bearer PceD65b61vaV8Eg3a4dkfhZ' controller: null method: null route: null diff --git a/.scribe/endpoints/01.yaml b/.scribe/endpoints/01.yaml index bea3338..8c187fe 100644 --- a/.scribe/endpoints/01.yaml +++ b/.scribe/endpoints/01.yaml @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"name":"joyce53","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"eric55","status":"ready","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"name":"fkrajcik","status":"ready","created_at":null,"updated_at":null},{"id":null,"server_id":null,"name":"critchie","status":"ready","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer vegcPa1dk6f435E68ZbhaVD' + - 'Bearer aZvgeV364fd8b6a5EDchP1k' controller: null method: null route: null @@ -111,7 +111,7 @@ endpoints: name: name description: '' required: true - example: debitis + example: esse type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: charset description: '' required: true - example: maxime + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -131,21 +131,21 @@ endpoints: name: collation description: '' required: true - example: sed + example: labore type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: debitis - charset: maxime - collation: sed + name: esse + charset: ut + collation: labore fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"brekke.isabell","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"cory33","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -153,7 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Vk1fhea8caEg4dvD35PbZ66' + - 'Bearer fVvDPc64eaEk5bd36hgZ18a' controller: null method: null route: null @@ -200,7 +200,7 @@ endpoints: name: id description: 'The ID of the database.' required: true - example: 11 + example: 9 type: integer enumValues: [] exampleWasSpecified: false @@ -209,7 +209,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - id: 11 + id: 9 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -218,7 +218,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"name":"vandervort.emmalee","status":"ready","created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"name":"walter.jacey","status":"ready","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -226,7 +226,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer av45D6PehEdbZVgc381akf6' + - 'Bearer bvcEZgDaPfd564V18ahek63' controller: null method: null route: null @@ -273,7 +273,7 @@ endpoints: name: database_id description: 'The ID of the database.' required: true - example: 5 + example: 16 type: integer enumValues: [] exampleWasSpecified: false @@ -282,7 +282,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - database_id: 5 + database_id: 16 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -299,7 +299,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer hDa6EdgkP84fcV61baZ3v5e' + - 'Bearer 4a68DgeP6vcZbfVkh5a3d1E' controller: null method: null route: null diff --git a/.scribe/endpoints/02.yaml b/.scribe/endpoints/02.yaml index 43cef99..00f0ad9 100644 --- a/.scribe/endpoints/02.yaml +++ b/.scribe/endpoints/02.yaml @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"username":"lehner.eloy","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"rlowe","databases":[],"host":"%","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"username":"imurray","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"username":"raleigh.heidenreich","databases":[],"host":"%","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3Da5E66PfZgdb81vkceah4V' + - 'Bearer Ebak4v1cZPe5hd66D8V3gfa' controller: null method: null route: null @@ -111,7 +111,7 @@ endpoints: name: username description: '' required: true - example: voluptas + example: ut type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: password description: '' required: true - example: ':D+e=/;H,' + example: "L&1)4X-w>&T=:'Y2#x" type: string enumValues: [] exampleWasSpecified: false @@ -138,14 +138,14 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - username: voluptas - password: ':D+e=/;H,' + username: ut + password: "L&1)4X-w>&T=:'Y2#x" host: '%' fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"fahey.joseph","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"kbernhard","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -153,7 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer DvPa3c6f5Edbagh8kVe41Z6' + - 'Bearer E4kahacZv6VDg81e6f3P5db' controller: null method: null route: null @@ -200,7 +200,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 19 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -209,7 +209,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - databaseUser_id: 19 + databaseUser_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -218,7 +218,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"szboncak","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"lavada.casper","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -226,7 +226,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer VvDgd431cbE68heZ5fa6kaP' + - 'Bearer 3DgPZadcaf6h5bk4Vv8E61e' controller: null method: null route: null @@ -273,7 +273,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 11 + example: 3 type: integer enumValues: [] exampleWasSpecified: false @@ -282,7 +282,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - databaseUser_id: 11 + databaseUser_id: 3 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -290,19 +290,19 @@ endpoints: name: databases description: 'Array of database names to link to the user.' required: true - example: accusantium + example: laboriosam type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - databases: accusantium + databases: laboriosam fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"username":"smith.liliana","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"username":"ojerde","databases":[],"host":"%","status":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -310,7 +310,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1ZaahDcVeEvf6kd58P346gb' + - 'Bearer Deh4d1aa586ZgckPvE3bV6f' controller: null method: null route: null @@ -357,7 +357,7 @@ endpoints: name: databaseUser_id description: 'The ID of the databaseUser.' required: true - example: 18 + example: 8 type: integer enumValues: [] exampleWasSpecified: false @@ -366,7 +366,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - databaseUser_id: 18 + databaseUser_id: 8 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -383,7 +383,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6g31ZcdV68bDfEaak54vePh' + - 'Bearer Pcd366f5egE1hVba8aZk4vD' controller: null method: null route: null diff --git a/.scribe/endpoints/03.yaml b/.scribe/endpoints/03.yaml index 419d4cd..af4c5e5 100644 --- a/.scribe/endpoints/03.yaml +++ b/.scribe/endpoints/03.yaml @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"name":"ea","server_id":null,"type":"allow","protocol":"tcp","port":41910,"source":"202.183.211.242","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null},{"id":null,"name":"iusto","server_id":null,"type":"allow","protocol":"tcp","port":60689,"source":"227.149.61.57","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + 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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 8g15h66aPf3ZdvkEab4ceVD' + - 'Bearer vhcgVk5aa8de6fP3Z4E1Db6' controller: null method: null route: null @@ -111,7 +111,7 @@ endpoints: name: name description: '' required: true - example: autem + example: voluptas type: string enumValues: [] exampleWasSpecified: false @@ -121,7 +121,7 @@ endpoints: name: type description: '' required: true - example: allow + example: deny type: string enumValues: - allow @@ -133,7 +133,7 @@ endpoints: name: protocol description: '' required: true - example: tcp + example: udp type: string enumValues: - tcp @@ -145,7 +145,7 @@ endpoints: name: port description: '' required: true - example: quas + example: qui type: string enumValues: [] exampleWasSpecified: false @@ -155,7 +155,7 @@ endpoints: name: source description: '' required: false - example: blanditiis + example: amet type: string enumValues: [] exampleWasSpecified: false @@ -172,17 +172,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: autem - type: allow - protocol: tcp - port: quas - source: blanditiis + name: voluptas + type: deny + protocol: udp + port: qui + source: amet mask: '0' fileParameters: [] responses: - status: 200 - content: '{"id":null,"name":"in","server_id":null,"type":"allow","protocol":"tcp","port":13253,"source":"245.228.81.208","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + 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}' headers: [] description: '' custom: [] @@ -190,7 +190,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 8dhcE436Zbk6fgVDP1aa5ev' + - 'Bearer Z166cP5kab3eEhgD48Vvafd' controller: null method: null route: null @@ -254,7 +254,7 @@ endpoints: name: name description: '' required: true - example: earum + example: et type: string enumValues: [] exampleWasSpecified: false @@ -288,7 +288,7 @@ endpoints: name: port description: '' required: true - example: ab + example: rerum type: string enumValues: [] exampleWasSpecified: false @@ -298,7 +298,7 @@ endpoints: name: source description: '' required: false - example: possimus + example: sed type: string enumValues: [] exampleWasSpecified: false @@ -315,17 +315,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: earum + name: et type: allow protocol: tcp - port: ab - source: possimus + port: rerum + source: sed mask: '0' fileParameters: [] responses: - status: 200 - content: '{"id":null,"name":"repudiandae","server_id":null,"type":"allow","protocol":"tcp","port":44250,"source":"243.200.88.169","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + 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}' headers: [] description: '' custom: [] @@ -333,7 +333,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer ag6ebf3456hVkd8ca1PvEDZ' + - 'Bearer 6P31Vc845vhEbkaagZdDfe6' controller: null method: null route: null @@ -398,7 +398,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"name":"quam","server_id":null,"type":"allow","protocol":"tcp","port":62505,"source":"73.254.77.244","mask":24,"note":"test","status":null,"created_at":null,"updated_at":null}' + 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}' headers: [] description: '' custom: [] @@ -406,7 +406,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Paagd6D6fV5v4kZ31ebc8hE' + - 'Bearer VdDb3eEaagvh68Z1kc5fP46' controller: null method: null route: null @@ -479,7 +479,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer avf16Vhb43dacPZge6D5k8E' + - 'Bearer ak3db6vef1DVEhacZ85g64P' controller: null method: null route: null diff --git a/.scribe/endpoints/04.yaml b/.scribe/endpoints/04.yaml index c5d9e45..e19980e 100644 --- a/.scribe/endpoints/04.yaml +++ b/.scribe/endpoints/04.yaml @@ -32,7 +32,7 @@ endpoints: cache-control: 'no-cache, private' content-type: application/json x-ratelimit-limit: '60' - x-ratelimit-remaining: '59' + x-ratelimit-remaining: '58' access-control-allow-origin: '*' description: null custom: [] diff --git a/.scribe/endpoints/05.yaml b/.scribe/endpoints/05.yaml index 4c4d897..05ce8c0 100644 --- a/.scribe/endpoints/05.yaml +++ b/.scribe/endpoints/05.yaml @@ -28,7 +28,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":3,"name":"Amara Jaskolski","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":4,"name":"Christy Kohler","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":3,"name":"Kattie Haley","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":4,"name":"Kailyn Kiehn","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -36,7 +36,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 5v83ePa1dah4bcE6VgfZDk6' + - 'Bearer 6D5kabfhdagZcP61VEe48v3' controller: null method: null route: null @@ -67,19 +67,19 @@ endpoints: name: name description: 'The name of the project.' required: true - example: temporibus + example: excepturi type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: temporibus + name: excepturi fileParameters: [] responses: - status: 200 - content: '{"id":3,"name":"Prof. Enrico Wehner Sr.","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":3,"name":"Dayne White","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -87,7 +87,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Zk61vE43aagDbc5V68edhPf' + - 'Bearer 1Vafe4abk6gvZE5dD36h8Pc' controller: null method: null route: null @@ -130,7 +130,7 @@ endpoints: responses: - status: 200 - content: '{"id":3,"name":"Zoie Feest","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":3,"name":"Cheyenne Ankunding III","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -138,7 +138,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6vfDgb435d8cPeV1EZa6hak' + - 'Bearer Pa3cd5ZeE1gbh68D46vafVk' controller: null method: null route: null @@ -180,19 +180,19 @@ endpoints: name: name description: 'The name of the project.' required: true - example: sit + example: mollitia type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - name: sit + name: mollitia fileParameters: [] responses: - status: 200 - content: '{"id":3,"name":"Mr. Jayme Kuhlman DVM","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":3,"name":"Susanna Stark","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -200,7 +200,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6gkaZVh3P5b81cf6ev4EdDa' + - 'Bearer 83Dfg6h4cdPev1abak5ZE6V' controller: null method: null route: null @@ -251,7 +251,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer bfeg4DZ566cvdP813kVhEaa' + - 'Bearer Z84d51aDbhgk36fEPvV6eac' controller: null method: null route: null diff --git a/.scribe/endpoints/06.yaml b/.scribe/endpoints/06.yaml index 3bf185b..0ed8b48 100644 --- a/.scribe/endpoints/06.yaml +++ b/.scribe/endpoints/06.yaml @@ -1,17 +1,17 @@ -name: servers +name: redirects description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects' metadata: - groupName: servers + groupName: redirects groupDescription: '' subgroup: '' subgroupDescription: '' - title: list - description: 'Get all servers in a project.' + title: index + description: 'Get all redirects.' authenticated: true custom: [] headers: @@ -29,8 +29,30 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 + site_id: 11 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -39,7 +61,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Prof. Wyatt Powlowski IV","ssh_user":"vito","ip":"33.53.217.82","local_ip":"227.155.11.76","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Guiseppe D''Amore","ssh_user":"vito","ip":"41.138.98.159","local_ip":"78.178.81.109","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"site_id":null,"mode":301,"from":"error","to":"https:\/\/www.pfannerstill.com\/facere-est-totam-laudantium-in-illo-sequi","status":"ready","created_at":null,"updated_at":null},{"id":null,"site_id":null,"mode":301,"from":"repellat","to":"http:\/\/gislason.biz\/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html","status":"ready","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +69,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aaEkbd3D8gZ6f5v1ePhcV46' + - 'Bearer Pava668DdZfk4cVEg3eb5h1' controller: null method: null route: null @@ -55,14 +77,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/servers' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects' metadata: - groupName: servers + groupName: redirects groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: 'Create a new server.' + description: 'Create a new redirect.' authenticated: true custom: [] headers: @@ -80,14 +102,36 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 + site_id: 11 queryParameters: [] cleanQueryParameters: [] bodyParameters: - provider: - name: provider - description: 'The server provider type' + from: + name: from + description: '' required: true example: vel type: string @@ -95,273 +139,38 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_provider: - name: server_provider - description: 'If the provider is not custom, the ID of the server provider profile' + to: + name: to + description: '' required: true - example: hetzner + example: ea + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + mode: + name: mode + description: '' + required: true + example: 307 type: string enumValues: - - custom - - hetzner - - digitalocean - - linode - - vultr - exampleWasSpecified: false - nullable: false - custom: [] - region: - name: region - description: 'Provider region if the provider is not custom' - required: true - example: voluptatibus - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - plan: - name: plan - description: 'Provider plan if the provider is not custom' - required: true - example: ducimus - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - ip: - name: ip - description: 'SSH IP address if the provider is custom' - required: true - example: dolores - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - port: - name: port - description: 'SSH Port if the provider is custom' - required: true - example: ratione - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - name: - name: name - description: 'The name of the server.' - required: true - example: in - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - os: - name: os - description: 'The os of the server' - required: true - example: cumque - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - webserver: - name: webserver - description: 'Web server' - required: true - example: nginx - type: string - enumValues: - - none - - nginx - exampleWasSpecified: false - nullable: false - custom: [] - database: - name: database - description: Database - required: true - example: mysql80 - type: string - enumValues: - - none - - mysql57 - - mysql80 - - mariadb103 - - mariadb104 - - mariadb103 - - postgresql12 - - postgresql13 - - postgresql14 - - postgresql15 - - postgresql16 - exampleWasSpecified: false - nullable: false - custom: [] - php: - name: php - description: 'PHP version' - required: true - example: '7.4' - type: string - enumValues: - - '7.0' - - '7.1' - - '7.2' - - '7.3' - - '7.4' - - '8.0' - - '8.1' - - '8.2' - - '8.3' + - 301 + - 302 + - 307 + - 308 exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: vel - server_provider: hetzner - region: voluptatibus - plan: ducimus - ip: dolores - port: ratione - name: in - os: cumque - webserver: nginx - database: mysql80 - php: '7.4' + from: vel + to: ea + mode: 307 fileParameters: [] responses: - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Anissa McDermott","ssh_user":"vito","ip":"212.15.34.173","local_ip":"142.201.95.242","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 6cgZPdbVD4fvae15khaE638' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - GET - uri: 'api/projects/{project_id}/servers/{id}' - metadata: - groupName: servers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: show - description: 'Get a server by ID.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - id: - name: id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 200 - content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Prof. Newton Wintheiser Jr.","ssh_user":"vito","ip":"243.154.251.36","local_ip":"198.224.194.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer d5Ebc1ZeDv8aPk466aV3gfh' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/reboot' - metadata: - groupName: servers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: reboot - description: 'Reboot a server.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 content: null headers: [] description: '' @@ -370,69 +179,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Vav31kZcfg86bdE6ha5DeP4' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/upgrade' - metadata: - groupName: servers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: upgrade - description: 'Upgrade server.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 14bV3dgZhD6cvEefkPa586a' + - 'Bearer 14Vg6Dce6aEh8kPbav5Z3fd' controller: null method: null route: null @@ -440,14 +187,14 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects/{redirect_id}' metadata: - groupName: servers + groupName: redirects groupDescription: '' subgroup: '' subgroupDescription: '' title: delete - description: 'Delete server.' + description: 'Delete a redirect.' authenticated: true custom: [] headers: @@ -475,9 +222,31 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 11 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + redirect_id: + name: redirect_id + description: 'The ID of the redirect.' + required: true + example: 9 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 server_id: 29 + site_id: 11 + redirect_id: 9 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -494,7 +263,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Vv6EbPh186eg3D5fadackZ4' + - 'Bearer vabZDk1c6fV46Ea3edhP8g5' controller: null method: null route: null diff --git a/.scribe/endpoints/07.yaml b/.scribe/endpoints/07.yaml index b730b4a..8cdedaa 100644 --- a/.scribe/endpoints/07.yaml +++ b/.scribe/endpoints/07.yaml @@ -1,17 +1,17 @@ -name: server-providers +name: servers description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/server-providers' + uri: 'api/projects/{project_id}/servers' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: '' + description: 'Get all servers in a project.' authenticated: true custom: [] headers: @@ -39,7 +39,7 @@ endpoints: responses: - status: 200 - 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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Consuelo Connelly","ssh_user":"vito","ip":"80.154.83.232","local_ip":"45.31.117.65","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null},{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Rodolfo Fadel","ssh_user":"vito","ip":"103.227.79.93","local_ip":"33.49.217.56","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer aVP8e63k5D6ab1vdgEc4Zhf' + - 'Bearer 4kecVbv5Zaa3dE8D6fgP6h1' controller: null method: null route: null @@ -55,14 +55,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/server-providers' + uri: 'api/projects/{project_id}/servers' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: '' + description: 'Create a new server.' authenticated: true custom: [] headers: @@ -87,9 +87,64 @@ endpoints: bodyParameters: provider: name: provider - description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' + description: 'The server provider type' required: true - example: exercitationem + example: incidunt + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_provider: + name: server_provider + description: 'If the provider is not custom, the ID of the server provider profile' + required: true + example: hetzner + type: string + enumValues: + - custom + - hetzner + - digitalocean + - linode + - vultr + exampleWasSpecified: false + nullable: false + custom: [] + region: + name: region + description: 'Provider region if the provider is not custom' + required: true + example: ut + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + plan: + name: plan + description: 'Provider plan if the provider is not custom' + required: true + example: ullam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + ip: + name: ip + description: 'SSH IP address if the provider is custom' + required: true + example: architecto + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + port: + name: port + description: 'SSH Port if the provider is custom' + required: true + example: praesentium type: string enumValues: [] exampleWasSpecified: false @@ -97,55 +152,93 @@ endpoints: custom: [] name: name: name - description: 'The name of the server provider.' + description: 'The name of the server.' required: true - example: similique + example: facere type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - token: - name: token - description: 'The token if provider requires api token' + os: + name: os + description: 'The os of the server' required: true - example: nisi + example: illo type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - key: - name: key - description: 'The key if provider requires key' + webserver: + name: webserver + description: 'Web server' required: true - example: tempora + example: none type: string - enumValues: [] + enumValues: + - none + - nginx exampleWasSpecified: false nullable: false custom: [] - secret: - name: secret - description: 'The secret if provider requires key' + database: + name: database + description: Database required: true - example: earum + example: none type: string - enumValues: [] + enumValues: + - none + - mysql57 + - mysql80 + - mariadb103 + - mariadb104 + - mariadb103 + - postgresql12 + - postgresql13 + - postgresql14 + - postgresql15 + - postgresql16 + exampleWasSpecified: false + nullable: false + custom: [] + php: + name: php + description: 'PHP version' + required: true + example: '8.1' + type: string + enumValues: + - '7.0' + - '7.1' + - '7.2' + - '7.3' + - '7.4' + - '8.0' + - '8.1' + - '8.2' + - '8.3' exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: exercitationem - name: similique - token: nisi - key: tempora - secret: earum + provider: incidunt + server_provider: hetzner + region: ut + plan: ullam + ip: architecto + port: praesentium + name: facere + os: illo + webserver: none + database: none + php: '8.1' fileParameters: [] responses: - status: 200 - 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"}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Herbert VonRueden","ssh_user":"vito","ip":"91.154.105.143","local_ip":"62.75.177.7","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -153,7 +246,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer b6DZavf4c3gk8PEda1e5hV6' + - 'Bearer 1d43hZc6VagPaEe5bDvf86k' controller: null method: null route: null @@ -161,14 +254,14 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + uri: 'api/projects/{project_id}/servers/{id}' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' title: show - description: '' + description: 'Get a server by ID.' authenticated: true custom: [] headers: @@ -186,11 +279,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - serverProvider_id: - name: serverProvider_id - description: 'The ID of the serverProvider.' + id: + name: id + description: 'The ID of the server.' required: true - example: 1 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -198,7 +291,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - serverProvider_id: 1 + id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -207,7 +300,7 @@ endpoints: responses: - status: 200 - 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"}' + content: '{"id":null,"project_id":null,"user_id":null,"provider_id":null,"name":"Connie Simonis","ssh_user":"vito","ip":"202.119.26.253","local_ip":"112.75.79.203","port":22,"os":"ubuntu_22","type":"regular","type_data":null,"provider":"custom","provider_data":null,"public_key":"test","status":"ready","auto_update":null,"available_updates":0,"security_updates":null,"progress":100,"progress_step":null,"updates":null,"last_update_check":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -215,22 +308,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer 6b6aVEPkfvZ81c3dD5ea4hg' + - 'Bearer 6648eab1kafVPDh5vEcgd3Z' controller: null method: null route: null custom: [] - httpMethods: - - PUT - uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/reboot' metadata: - groupName: server-providers + groupName: servers groupDescription: '' subgroup: '' subgroupDescription: '' - title: update - description: '' + title: reboot + description: 'Reboot a server.' authenticated: true custom: [] headers: @@ -248,11 +341,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - serverProvider_id: - name: serverProvider_id - description: 'The ID of the serverProvider.' + server_id: + name: server_id + description: 'The ID of the server.' required: true - example: 1 + example: 29 type: integer enumValues: [] exampleWasSpecified: false @@ -260,93 +353,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - serverProvider_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: 'The name of the server provider.' - required: true - example: porro - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - global: - name: global - description: 'Accessible in all projects' - required: true - example: false - type: string - enumValues: - - true - - false - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - name: porro - global: false - fileParameters: [] - responses: - - - status: 200 - 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: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer fgVkbe8ZhPa1c4v5E6Da36d' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' - metadata: - groupName: server-providers - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: delete - description: '' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - serverProvider_id: - name: serverProvider_id - description: 'The ID of the serverProvider.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - serverProvider_id: 1 + server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -363,7 +370,131 @@ endpoints: auth: - headers - Authorization - - 'Bearer 66Pfb5hE8gDVaZvkd1ec43a' + - 'Bearer heE6bdfa18v5Pa6kg4cZVD3' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/upgrade' + metadata: + groupName: servers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: upgrade + description: 'Upgrade server.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 4Ege66vbc1hka8DPaV5Zfd3' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/servers/{server_id}' + metadata: + groupName: servers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: 'Delete server.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer v3ceb6d6V1aDk584EhgfaZP' controller: null method: null route: null diff --git a/.scribe/endpoints/08.yaml b/.scribe/endpoints/08.yaml index fc7f309..5de3e12 100644 --- a/.scribe/endpoints/08.yaml +++ b/.scribe/endpoints/08.yaml @@ -1,17 +1,17 @@ -name: ssh-keys +name: server-providers description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' + uri: 'api/projects/{project_id}/server-providers' metadata: - groupName: ssh-keys + groupName: server-providers groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: 'Get all ssh keys.' + description: '' authenticated: true custom: [] headers: @@ -29,19 +29,8 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] cleanUrlParameters: project_id: 1 - server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -50,7 +39,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"user":null,"name":"Dr. Virgie Reilly","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Horace Gutmann","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":3,"project_id":null,"global":true,"name":"id","provider":"custom","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":4,"project_id":null,"global":true,"name":"culpa","provider":"linode","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer vPhZkafdEa8b665e134cgVD' + - 'Bearer f1ebaVgEP3vahDk6dc58Z64' controller: null method: null route: null @@ -66,14 +55,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' + uri: 'api/projects/{project_id}/server-providers' metadata: - groupName: ssh-keys + groupName: server-providers groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: 'Deploy ssh key to server.' + description: '' authenticated: true custom: [] headers: @@ -91,27 +80,16 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] cleanUrlParameters: project_id: 1 - server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: - key_id: - name: key_id - description: 'The ID of the key.' + provider: + name: provider + description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' required: true - example: et + example: mollitia type: string enumValues: [] exampleWasSpecified: false @@ -119,7 +97,27 @@ endpoints: custom: [] name: name: name - description: 'Key name, required if key_id is not provided.' + description: 'The name of the server provider.' + required: true + example: adipisci + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + token: + name: token + description: 'The token if provider requires api token' + required: true + example: animi + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + key: + name: key + description: 'The key if provider requires key' required: true example: provident type: string @@ -127,25 +125,27 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - public_key: - name: public_key - description: 'Public Key, required if key_id is not provided.' + secret: + name: secret + description: 'The secret if provider requires key' required: true - example: incidunt + example: deserunt type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - key_id: et - name: provident - public_key: incidunt + provider: mollitia + name: adipisci + token: animi + key: provident + secret: deserunt fileParameters: [] responses: - status: 200 - content: '{"id":null,"user":null,"name":"Miss Penelope Sipes IV","created_at":null,"updated_at":null}' + content: '{"id":3,"project_id":null,"global":true,"name":"et","provider":"vultr","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -153,22 +153,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer 5aah3b6PdVkc4efv6Eg81ZD' + - 'Bearer agE4kv6Zc1d36PVhDaf5e8b' controller: null method: null route: null custom: [] - httpMethods: - - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys/{sshKey_id}' + - GET + uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' metadata: - groupName: ssh-keys + groupName: server-providers groupDescription: '' subgroup: '' subgroupDescription: '' - title: delete - description: 'Delete ssh key from server.' + title: show + description: '' authenticated: true custom: [] headers: @@ -186,19 +186,9 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - sshKey_id: - name: sshKey_id - description: 'The ID of the sshKey.' + serverProvider_id: + name: serverProvider_id + description: 'The ID of the serverProvider.' required: true example: 1 type: integer @@ -208,8 +198,155 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - server_id: 29 - sshKey_id: 1 + serverProvider_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"id":3,"project_id":null,"global":true,"name":"ab","provider":"digitalocean","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 815vc6eDEgZVPkah4fdba36' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + metadata: + groupName: server-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: update + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serverProvider_id: + name: serverProvider_id + description: 'The ID of the serverProvider.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + serverProvider_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'The name of the server provider.' + required: true + example: eveniet + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + global: + name: global + description: 'Accessible in all projects' + required: true + example: false + type: string + enumValues: + - true + - false + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: eveniet + global: false + fileParameters: [] + responses: + - + status: 200 + content: '{"id":3,"project_id":null,"global":true,"name":"expedita","provider":"aws","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 48kfEV6ahDaP63bgcZ51evd' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/server-providers/{serverProvider_id}' + metadata: + groupName: server-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + serverProvider_id: + name: serverProvider_id + description: 'The ID of the serverProvider.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + serverProvider_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -226,7 +363,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dh8a1gacZ366k5Pev4fbEdV' + - 'Bearer P6g4av8DcaV6fdZ3k1hb5eE' controller: null method: null route: null diff --git a/.scribe/endpoints/09.yaml b/.scribe/endpoints/09.yaml index ffafe1b..ad0b53c 100644 --- a/.scribe/endpoints/09.yaml +++ b/.scribe/endpoints/09.yaml @@ -1,17 +1,17 @@ -name: services +name: ssh-keys description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/services' + uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' metadata: - groupName: services + groupName: ssh-keys groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: 'Get all services.' + description: 'Get all ssh keys.' authenticated: true custom: [] headers: @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"user":null,"name":"Dr. Pansy Kunde DVM","created_at":null,"updated_at":null},{"id":null,"user":null,"name":"Ms. Maximillia DuBuque Sr.","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,22 +58,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer Dbcd346g8EfZ5aheaVvkP16' + - 'Bearer 3Dah456fdP8kVbZ6vEag1ec' controller: null method: null route: null custom: [] - httpMethods: - - GET - uri: 'api/projects/{project_id}/servers/{server_id}/services/{id}' + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys' metadata: - groupName: services + groupName: ssh-keys groupDescription: '' subgroup: '' subgroupDescription: '' - title: show - description: 'Get a service by ID.' + title: create + description: 'Deploy ssh key to server.' authenticated: true custom: [] headers: @@ -101,29 +101,51 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - id: - name: id - description: 'The ID of the service.' + cleanUrlParameters: + project_id: 1 + server_id: 29 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + key_id: + name: key_id + description: 'The ID of the key.' required: true - example: 169 - type: integer + example: debitis + type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] + name: + name: name + description: 'Key name, required if key_id is not provided.' + required: true + example: illum + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + public_key: + name: public_key + description: 'Public Key, required if key_id is not provided.' + required: true + example: dignissimos + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + key_id: debitis + name: illum + public_key: dignissimos fileParameters: [] responses: - status: 200 - content: '{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null}' + content: '{"id":null,"user":null,"name":"Uriah Harvey","created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -131,372 +153,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer hd8bE5aD6v4Vc16af3kgPeZ' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/start' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: start - description: 'Start service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer agcvkPdfe56aZ14EV6b8D3h' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/stop' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: stop - description: 'Stop service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer bvVga83Dh1f6ackP46e5ZdE' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/restart' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: restart - description: 'Restart service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 8PD5cVdfv3a1bh46e6EZagk' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/enable' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: enable - description: 'Enable service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer a485achPEDe63bgVk16vZdf' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/disable' - metadata: - groupName: services - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: disable - description: 'Disable service.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - service_id: - name: service_id - description: 'The ID of the service.' - required: true - example: 169 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - service_id: 169 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 6ZePf1dc346k8h5DvaEbaVg' + - 'Bearer 8bkv164ZVPcE5gde3faa6Dh' controller: null method: null route: null @@ -504,14 +161,14 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/ssh-keys/{sshKey_id}' metadata: - groupName: services + groupName: ssh-keys groupDescription: '' subgroup: '' subgroupDescription: '' title: delete - description: 'Delete service.' + description: 'Delete ssh key from server.' authenticated: true custom: [] headers: @@ -539,11 +196,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - service_id: - name: service_id - description: 'The ID of the service.' + sshKey_id: + name: sshKey_id + description: 'The ID of the sshKey.' required: true - example: 169 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -552,7 +209,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - service_id: 169 + sshKey_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -569,7 +226,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 48fP63b1hckda6vaZEVeg5D' + - 'Bearer 18P65Da6Vdh3e4cZgfkvabE' controller: null method: null route: null diff --git a/.scribe/endpoints/10.yaml b/.scribe/endpoints/10.yaml index 101be82..ca03b0b 100644 --- a/.scribe/endpoints/10.yaml +++ b/.scribe/endpoints/10.yaml @@ -1,17 +1,17 @@ -name: sites +name: services description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/sites' + uri: 'api/projects/{project_id}/servers/{server_id}/services' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: 'Get all sites.' + description: 'Get all services.' authenticated: true custom: [] headers: @@ -50,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -58,212 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 3V64fhkdgEvD5Z1cP6aea8b' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - POST - uri: 'api/projects/{project_id}/servers/{server_id}/sites' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: create - description: 'Create a new site.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - type: - name: type - description: '' - required: true - example: php-blank - type: string - enumValues: - - php - - php-blank - - phpmyadmin - - laravel - - wordpress - - load-balancer - exampleWasSpecified: false - nullable: false - custom: [] - domain: - name: domain - description: '' - required: true - example: harum - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - aliases: - name: aliases - description: '' - required: true - example: - - voluptatem - type: 'string[]' - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - php_version: - name: php_version - description: 'One of the installed PHP Versions' - required: true - example: '7.4' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - web_directory: - name: web_directory - description: 'Required for PHP and Laravel sites' - required: true - example: public - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - source_control: - name: source_control - description: 'Source control ID, Required for Sites which support source control' - required: true - example: amet - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - repository: - name: repository - description: 'Repository, Required for Sites which support source control' - required: true - example: organization/repository - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - branch: - name: branch - description: 'Branch, Required for Sites which support source control' - required: true - example: main - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - composer: - name: composer - description: 'Run composer if site supports composer' - required: true - example: true - type: boolean - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - version: - name: version - description: 'Version, if the site type requires a version like PHPMyAdmin' - required: true - example: 5.2.1 - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - user: - name: user - description: 'user, to isolate the website under a new user' - required: true - example: et - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - method: - name: method - description: 'Load balancer method, Required if the site type is Load balancer' - required: true - example: least-connections - type: string - enumValues: - - round-robin - - least-connections - - ip-hash - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - type: php-blank - domain: harum - aliases: - - voluptatem - php_version: '7.4' - web_directory: public - source_control: amet - repository: organization/repository - branch: main - composer: true - version: 5.2.1 - user: et - method: least-connections - fileParameters: [] - responses: - - - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer EVDP3fa1vga8Zk5cd466ebh' + - 'Bearer c4d6561av3ehkVagPfZb8DE' controller: null method: null route: null @@ -271,14 +66,14 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{id}' + uri: 'api/projects/{project_id}/servers/{server_id}/services/{id}' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' title: show - description: 'Get a site by ID.' + description: 'Get a service by ID.' authenticated: true custom: [] headers: @@ -308,9 +103,9 @@ endpoints: custom: [] id: name: id - description: 'The ID of the site.' + description: 'The ID of the service.' required: true - example: 43 + example: 169 type: integer enumValues: [] exampleWasSpecified: false @@ -319,7 +114,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - id: 43 + id: 169 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -328,7 +123,7 @@ endpoints: responses: - status: 200 - content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' + content: '{"id":null,"server_id":null,"type":null,"type_data":null,"name":null,"version":null,"unit":null,"status":null,"is_default":null,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -336,80 +131,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer b3h4Zegva1kEcdVfD8P5a66' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - DELETE - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: delete - description: 'Delete site.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - site_id: - name: site_id - description: 'The ID of the site.' - required: true - example: 43 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - site_id: 43 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: [] - cleanBodyParameters: [] - fileParameters: [] - responses: - - - status: 204 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer cDe1b4f6a63EagP5vkdZ8Vh' + - 'Bearer 8ab6dPD5gh1EZfk36vaVe4c' controller: null method: null route: null @@ -417,14 +139,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer' + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/start' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' - title: load-balancer - description: 'Update load balancer.' + title: start + description: 'Start service.' authenticated: true custom: [] headers: @@ -452,11 +174,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - site_id: - name: site_id - description: 'The ID of the site.' + service_id: + name: service_id + description: 'The ID of the service.' required: true - example: 43 + example: 169 type: integer enumValues: [] exampleWasSpecified: false @@ -465,208 +187,11 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - site_id: 43 + service_id: 169 queryParameters: [] cleanQueryParameters: [] - bodyParameters: - method: - name: method - description: 'Load balancer method, Required if the site type is Load balancer' - required: true - example: ip-hash - type: string - enumValues: - - round-robin - - least-connections - - ip-hash - exampleWasSpecified: false - nullable: false - custom: [] - servers: - name: servers - description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' - required: true - example: - - accusantium - type: 'string[]' - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - method: ip-hash - servers: - - accusantium - fileParameters: [] - responses: - - - status: 200 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer e65dDaaP6V4E3Zcf8hgvkb1' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/aliases' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: aliases - description: 'Update aliases.' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - site_id: - name: site_id - description: 'The ID of the site.' - required: true - example: 43 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - site_id: 43 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - aliases: - name: aliases - description: 'Array of aliases' - required: true - example: - - ut - type: 'string[]' - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - aliases: - - ut - fileParameters: [] - responses: - - - status: 200 - content: null - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer aedPZ4ah68c3Ef1kDVbvg65' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' - metadata: - groupName: sites - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: deployment-script - description: 'Update site deployment script' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - server_id: - name: server_id - description: 'The ID of the server.' - required: true - example: 29 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - site_id: - name: site_id - description: 'The ID of the site.' - required: true - example: 43 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - server_id: 29 - site_id: 43 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - script: - name: script - description: 'Content of the deployment script' - required: true - example: culpa - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - script: culpa + bodyParameters: [] + cleanBodyParameters: [] fileParameters: [] responses: - @@ -679,22 +204,22 @@ endpoints: auth: - headers - Authorization - - 'Bearer fhVea1a3cPdk6g5Ev468DZb' + - 'Bearer 1VDa6ckv35hgZ8d6Eb4Pafe' controller: null method: null route: null custom: [] - httpMethods: - - GET - uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/stop' metadata: - groupName: sites + groupName: services groupDescription: '' subgroup: '' subgroupDescription: '' - title: deployment-script - description: 'Get site deployment script content' + title: stop + description: 'Stop service.' authenticated: true custom: [] headers: @@ -722,11 +247,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - site_id: - name: site_id - description: 'The ID of the site.' + service_id: + name: service_id + description: 'The ID of the service.' required: true - example: 43 + example: 169 type: integer enumValues: [] exampleWasSpecified: false @@ -735,7 +260,7 @@ endpoints: cleanUrlParameters: project_id: 1 server_id: 29 - site_id: 43 + service_id: 169 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -743,7 +268,7 @@ endpoints: fileParameters: [] responses: - - status: 200 + status: 204 content: null headers: [] description: '' @@ -752,7 +277,299 @@ endpoints: auth: - headers - Authorization - - 'Bearer 1g3bfhd6c8aPV6aZD45eEvk' + - 'Bearer V4d1k6b5hae3fcZDa6g8PvE' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/restart' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: restart + description: 'Restart service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer g84c6eEZP3k5fvV6baD1had' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/enable' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: enable + description: 'Enable service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer fE4V65h18acdkgbv3Za6PDe' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}/disable' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: disable + description: 'Disable service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer gaEcPZ83ka1v65bVfh4d6eD' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/servers/{server_id}/services/{service_id}' + metadata: + groupName: services + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: 'Delete service.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + service_id: + name: service_id + description: 'The ID of the service.' + required: true + example: 169 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + service_id: 169 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 8Va1aEehb5kg3P64ZdvDcf6' controller: null method: null route: null diff --git a/.scribe/endpoints/11.yaml b/.scribe/endpoints/11.yaml index a0823c7..8381bfd 100644 --- a/.scribe/endpoints/11.yaml +++ b/.scribe/endpoints/11.yaml @@ -1,17 +1,17 @@ -name: source-controls +name: sites description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/source-controls' + uri: 'api/projects/{project_id}/servers/{server_id}/sites' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: list - description: '' + description: 'Get all sites.' authenticated: true custom: [] headers: @@ -29,8 +29,19 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -39,7 +50,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Amya Jones","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Jerry Donnelly","provider":"github","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null},{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +58,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer Pvgec6k58a4fZa6D1Vd3hEb' + - 'Bearer d8Ev3Pce54gkZ6h6faVb1Da' controller: null method: null route: null @@ -55,14 +66,14 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/source-controls' + uri: 'api/projects/{project_id}/servers/{server_id}/sites' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: create - description: '' + description: 'Create a new site.' authenticated: true custom: [] headers: @@ -80,86 +91,171 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] cleanUrlParameters: project_id: 1 + server_id: 29 queryParameters: [] cleanQueryParameters: [] bodyParameters: - provider: - name: provider - description: 'The provider' + type: + name: type + description: '' required: true - example: bitbucket + example: phpmyadmin type: string enumValues: - - gitlab - - github - - bitbucket + - php + - php-blank + - phpmyadmin + - laravel + - wordpress + - load-balancer exampleWasSpecified: false nullable: false custom: [] - name: - name: name - description: 'The name of the storage provider.' + domain: + name: domain + description: '' required: true - example: eligendi + example: tenetur type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - token: - name: token - description: 'The token if provider requires api token' + aliases: + name: aliases + description: '' required: true - example: debitis + example: + - aut + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + php_version: + name: php_version + description: 'One of the installed PHP Versions' + required: true + example: '7.4' type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - url: - name: url - description: 'The URL if the provider is Gitlab and it is self-hosted' + web_directory: + name: web_directory + description: 'Required for PHP and Laravel sites' required: true - example: 'http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum' + example: public type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - username: - name: username - description: 'The username if the provider is Bitbucket' + source_control: + name: source_control + description: 'Source control ID, Required for Sites which support source control' required: true - example: rerum + example: quasi type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - password: - name: password - description: 'The password if the provider is Bitbucket' + repository: + name: repository + description: 'Repository, Required for Sites which support source control' required: true - example: 'wBK}NHxV:x' + example: organization/repository type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] + branch: + name: branch + description: 'Branch, Required for Sites which support source control' + required: true + example: main + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + composer: + name: composer + description: 'Run composer if site supports composer' + required: true + example: true + type: boolean + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + version: + name: version + description: 'Version, if the site type requires a version like PHPMyAdmin' + required: true + example: 5.2.1 + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + user: + name: user + description: 'user, to isolate the website under a new user' + required: true + example: deleniti + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: round-robin + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] cleanBodyParameters: - provider: bitbucket - name: eligendi - token: debitis - url: 'http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum' - username: rerum - password: 'wBK}NHxV:x' + type: phpmyadmin + domain: tenetur + aliases: + - aut + php_version: '7.4' + web_directory: public + source_control: quasi + repository: organization/repository + branch: main + composer: true + version: 5.2.1 + user: deleniti + method: round-robin fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Dr. Janae Tremblay PhD","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -167,7 +263,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer eaD3hgavbcE61f46VdkZP58' + - 'Bearer ge6VPfkE8cah6Dv34bda15Z' controller: null method: null route: null @@ -175,14 +271,14 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{id}' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: show - description: '' + description: 'Get a site by ID.' authenticated: true custom: [] headers: @@ -200,11 +296,21 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - sourceControl_id: - name: sourceControl_id - description: 'The ID of the sourceControl.' + server_id: + name: server_id + description: 'The ID of the server.' required: true - example: 1 + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + id: + name: id + description: 'The ID of the site.' + required: true + example: 12 type: integer enumValues: [] exampleWasSpecified: false @@ -212,7 +318,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 1 + server_id: 29 + id: 12 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -221,7 +328,7 @@ endpoints: responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Marguerite Aufderhar","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":null,"server_id":null,"source_control_id":null,"type":"laravel","type_data":null,"domain":"test.com","aliases":null,"web_directory":"\/","path":"\/home","php_version":"8.2","repository":null,"branch":"main","status":"ready","port":null,"user":"vito","progress":100,"created_at":null,"updated_at":null}' headers: [] description: '' custom: [] @@ -229,137 +336,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer g653Ph4VaebdE1Z6cakfDv8' - controller: null - method: null - route: null - custom: [] - - - httpMethods: - - PUT - uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' - metadata: - groupName: source-controls - groupDescription: '' - subgroup: '' - subgroupDescription: '' - title: update - description: '' - authenticated: true - custom: [] - headers: - Authorization: 'Bearer YOUR-API-KEY' - Content-Type: application/json - Accept: application/json - urlParameters: - project_id: - name: project_id - description: 'The ID of the project.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - sourceControl_id: - name: sourceControl_id - description: 'The ID of the sourceControl.' - required: true - example: 1 - type: integer - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - cleanUrlParameters: - project_id: 1 - sourceControl_id: 1 - queryParameters: [] - cleanQueryParameters: [] - bodyParameters: - name: - name: name - description: 'The name of the storage provider.' - required: true - example: blanditiis - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - token: - name: token - description: 'The token if provider requires api token' - required: true - example: non - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - url: - name: url - description: 'The URL if the provider is Gitlab and it is self-hosted' - required: true - example: 'https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - username: - name: username - description: 'The username if the provider is Bitbucket' - required: true - example: porro - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - password: - name: password - description: 'The password if the provider is Bitbucket' - required: true - example: '>BW~{`#d,}=U!XxC!t]' - type: string - enumValues: [] - exampleWasSpecified: false - nullable: false - custom: [] - global: - name: global - description: 'Accessible in all projects' - required: true - example: false - type: string - enumValues: - - true - - false - exampleWasSpecified: false - nullable: false - custom: [] - cleanBodyParameters: - name: blanditiis - token: non - url: 'https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam' - username: porro - password: '>BW~{`#d,}=U!XxC!t]' - global: false - fileParameters: [] - responses: - - - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"Johan Crooks","provider":"github","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' - headers: [] - description: '' - custom: [] - responseFields: [] - auth: - - headers - - Authorization - - 'Bearer 1g3ZV5haeEa8dD6kcv6bf4P' + - 'Bearer a14kPe3b6fvd6ZgahEVc58D' controller: null method: null route: null @@ -367,14 +344,14 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}' metadata: - groupName: source-controls + groupName: sites groupDescription: '' subgroup: '' subgroupDescription: '' title: delete - description: '' + description: 'Delete site.' authenticated: true custom: [] headers: @@ -392,11 +369,21 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - sourceControl_id: - name: sourceControl_id - description: 'The ID of the sourceControl.' + server_id: + name: server_id + description: 'The ID of the server.' required: true - example: 1 + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 9 type: integer enumValues: [] exampleWasSpecified: false @@ -404,7 +391,8 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - sourceControl_id: 1 + server_id: 29 + site_id: 9 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -421,7 +409,350 @@ endpoints: auth: - headers - Authorization - - 'Bearer de684Vav1kf3PbaDg6hEZc5' + - 'Bearer cvfD853h4EZae6dab6gVPk1' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: load-balancer + description: 'Update load balancer.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 19 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 19 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + method: + name: method + description: 'Load balancer method, Required if the site type is Load balancer' + required: true + example: ip-hash + type: string + enumValues: + - round-robin + - least-connections + - ip-hash + exampleWasSpecified: false + nullable: false + custom: [] + servers: + name: servers + description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' + required: true + example: + - dolores + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + method: ip-hash + servers: + - dolores + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer de5Vka1avb6Zg36fDE8Ph4c' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/aliases' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: aliases + description: 'Update aliases.' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 16 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + aliases: + name: aliases + description: 'Array of aliases' + required: true + example: + - aut + type: 'string[]' + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + aliases: + - aut + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 6f6kVD153hEgPdZacva4b8e' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: deployment-script + description: 'Update site deployment script' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + script: + name: script + description: 'Content of the deployment script' + required: true + example: qui + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + script: qui + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 3b6Eh5eaf1d48DZvPgk6cVa' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script' + metadata: + groupName: sites + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: deployment-script + description: 'Get site deployment script content' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + server_id: + name: server_id + description: 'The ID of the server.' + required: true + example: 29 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + site_id: + name: site_id + description: 'The ID of the site.' + required: true + example: 16 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + server_id: 29 + site_id: 16 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer v1kEa3hgb664dfD5Z8VePac' controller: null method: null route: null diff --git a/.scribe/endpoints/12.yaml b/.scribe/endpoints/12.yaml index e6a8429..c0e526d 100644 --- a/.scribe/endpoints/12.yaml +++ b/.scribe/endpoints/12.yaml @@ -1,12 +1,12 @@ -name: storage-providers +name: source-controls description: '' endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/storage-providers' + uri: 'api/projects/{project_id}/source-controls' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -39,7 +39,7 @@ endpoints: responses: - status: 200 - content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"sit","provider":"ftp","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"},{"id":6,"project_id":null,"global":true,"name":"repudiandae","provider":"local","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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"Emil Leannon","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":6,"project_id":null,"global":true,"name":"Eleazar Pacocha Sr.","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' headers: [] description: '' custom: [] @@ -47,7 +47,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer EbkDP1Z3aVav8g6ef6dc5h4' + - 'Bearer a34dVDE5ak8ceZvfh1Pb66g' controller: null method: null route: null @@ -55,9 +55,9 @@ endpoints: - httpMethods: - POST - uri: 'api/projects/{project_id}/storage-providers' + uri: 'api/projects/{project_id}/source-controls' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -87,11 +87,14 @@ endpoints: bodyParameters: provider: name: provider - description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' + description: 'The provider' required: true - example: est + example: github type: string - enumValues: [] + enumValues: + - gitlab + - github + - bitbucket exampleWasSpecified: false nullable: false custom: [] @@ -99,7 +102,7 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: id + example: aliquam type: string enumValues: [] exampleWasSpecified: false @@ -109,43 +112,54 @@ endpoints: name: token description: 'The token if provider requires api token' required: true - example: repellendus + example: voluptatem type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - key: - name: key - description: 'The key if provider requires key' + url: + name: url + description: 'The URL if the provider is Gitlab and it is self-hosted' required: true - example: ducimus + example: 'https://brown.org/placeat-optio-illum-eius-ipsa.html' type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] - secret: - name: secret - description: 'The secret if provider requires key' + username: + name: username + description: 'The username if the provider is Bitbucket' required: true - example: possimus + example: a + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: 'The password if the provider is Bitbucket' + required: true + example: "_/_,9'/6z;9" type: string enumValues: [] exampleWasSpecified: false nullable: false custom: [] cleanBodyParameters: - provider: est - name: id - token: repellendus - key: ducimus - secret: possimus + provider: github + name: aliquam + token: voluptatem + url: 'https://brown.org/placeat-optio-illum-eius-ipsa.html' + username: a + password: "_/_,9'/6z;9" fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"sequi","provider":"dropbox","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Ahmad Kulas","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -153,7 +167,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer 45kVPD6ec6hvga83bfa1dEZ' + - 'Bearer 65dacDVh4kevfZ8P1bEga36' controller: null method: null route: null @@ -161,9 +175,9 @@ endpoints: - httpMethods: - GET - uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -186,11 +200,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - storageProvider_id: - name: storageProvider_id - description: 'The ID of the storageProvider.' + sourceControl_id: + name: sourceControl_id + description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -198,7 +212,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -207,7 +221,7 @@ endpoints: responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"alias","provider":"ftp","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Mr. Marquis Kunde IV","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -215,7 +229,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer ahb6gDd8fv3P1ak6cEe4V5Z' + - 'Bearer a8hf6adecDkVbEZ6P1g54v3' controller: null method: null route: null @@ -223,9 +237,9 @@ endpoints: - httpMethods: - PUT - uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -248,11 +262,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - storageProvider_id: - name: storageProvider_id - description: 'The ID of the storageProvider.' + sourceControl_id: + name: sourceControl_id + description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -260,7 +274,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: @@ -268,7 +282,47 @@ endpoints: name: name description: 'The name of the storage provider.' required: true - example: ullam + example: laudantium + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + token: + name: token + description: 'The token if provider requires api token' + required: true + example: nulla + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + url: + name: url + description: 'The URL if the provider is Gitlab and it is self-hosted' + required: true + example: 'http://wiza.com/' + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + username: + name: username + description: 'The username if the provider is Bitbucket' + required: true + example: numquam + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + password: + name: password + description: 'The password if the provider is Bitbucket' + required: true + example: 'MlD,$m:8^A' type: string enumValues: [] exampleWasSpecified: false @@ -278,7 +332,7 @@ endpoints: name: global description: 'Accessible in all projects' required: true - example: true + example: false type: string enumValues: - true @@ -287,13 +341,17 @@ endpoints: nullable: false custom: [] cleanBodyParameters: - name: ullam - global: true + name: laudantium + token: nulla + url: 'http://wiza.com/' + username: numquam + password: 'MlD,$m:8^A' + global: false fileParameters: [] responses: - status: 200 - content: '{"id":5,"project_id":null,"global":true,"name":"at","provider":"ftp","created_at":"2025-03-29T20:43:56.000000Z","updated_at":"2025-03-29T20:43:56.000000Z"}' + content: '{"id":5,"project_id":null,"global":true,"name":"Mrs. Arvilla Mitchell","provider":"github","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' headers: [] description: '' custom: [] @@ -301,7 +359,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer a8Vgfvh5abkd616eDZ43cPE' + - 'Bearer Z36EdDbavkeVPch68a1g45f' controller: null method: null route: null @@ -309,9 +367,9 @@ endpoints: - httpMethods: - DELETE - uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + uri: 'api/projects/{project_id}/source-controls/{sourceControl_id}' metadata: - groupName: storage-providers + groupName: source-controls groupDescription: '' subgroup: '' subgroupDescription: '' @@ -334,11 +392,11 @@ endpoints: exampleWasSpecified: false nullable: false custom: [] - storageProvider_id: - name: storageProvider_id - description: 'The ID of the storageProvider.' + sourceControl_id: + name: sourceControl_id + description: 'The ID of the sourceControl.' required: true - example: 3 + example: 1 type: integer enumValues: [] exampleWasSpecified: false @@ -346,7 +404,7 @@ endpoints: custom: [] cleanUrlParameters: project_id: 1 - storageProvider_id: 3 + sourceControl_id: 1 queryParameters: [] cleanQueryParameters: [] bodyParameters: [] @@ -363,7 +421,7 @@ endpoints: auth: - headers - Authorization - - 'Bearer kDheaPEvb61Va564dZc8f3g' + - 'Bearer gaadhb6Ev6Dk8fc4P1eV53Z' controller: null method: null route: null diff --git a/.scribe/endpoints/13.yaml b/.scribe/endpoints/13.yaml new file mode 100644 index 0000000..1f3fae9 --- /dev/null +++ b/.scribe/endpoints/13.yaml @@ -0,0 +1,370 @@ +name: storage-providers +description: '' +endpoints: + - + httpMethods: + - GET + uri: 'api/projects/{project_id}/storage-providers' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: list + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"data":[{"id":5,"project_id":null,"global":true,"name":"autem","provider":"s3","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"},{"id":6,"project_id":null,"global":true,"name":"nihil","provider":"ftp","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.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":"« Previous","active":false},{"url":"\/?page=1","label":"1","active":true},{"url":null,"label":"Next »","active":false}],"path":"\/","per_page":25,"to":2,"total":2}}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer c8gDkZ1563Va4dvb6EaefPh' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - POST + uri: 'api/projects/{project_id}/storage-providers' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: create + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + provider: + name: provider + description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' + required: true + example: est + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + name: + name: name + description: 'The name of the storage provider.' + required: true + example: voluptatem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + token: + name: token + description: 'The token if provider requires api token' + required: true + example: delectus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + key: + name: key + description: 'The key if provider requires key' + required: true + example: natus + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + secret: + name: secret + description: 'The secret if provider requires key' + required: true + example: saepe + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + provider: est + name: voluptatem + token: delectus + key: natus + secret: saepe + fileParameters: [] + responses: + - + status: 200 + content: '{"id":5,"project_id":null,"global":true,"name":"omnis","provider":"local","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer g8aVh3evPZ5dkDfac14b66E' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - GET + uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: show + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + storageProvider_id: + name: storageProvider_id + description: 'The ID of the storageProvider.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + storageProvider_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 200 + content: '{"id":5,"project_id":null,"global":true,"name":"molestiae","provider":"dropbox","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 184aP6ce6b5VfdZv3hDakEg' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - PUT + uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: update + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + storageProvider_id: + name: storageProvider_id + description: 'The ID of the storageProvider.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + storageProvider_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: + name: + name: name + description: 'The name of the storage provider.' + required: true + example: exercitationem + type: string + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + global: + name: global + description: 'Accessible in all projects' + required: true + example: true + type: string + enumValues: + - true + - false + exampleWasSpecified: false + nullable: false + custom: [] + cleanBodyParameters: + name: exercitationem + global: true + fileParameters: [] + responses: + - + status: 200 + content: '{"id":5,"project_id":null,"global":true,"name":"dolorum","provider":"s3","created_at":"2025-03-31T15:27:17.000000Z","updated_at":"2025-03-31T15:27:17.000000Z"}' + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer dav4Dh6Pgb35ckEa81f6VZe' + controller: null + method: null + route: null + custom: [] + - + httpMethods: + - DELETE + uri: 'api/projects/{project_id}/storage-providers/{storageProvider_id}' + metadata: + groupName: storage-providers + groupDescription: '' + subgroup: '' + subgroupDescription: '' + title: delete + description: '' + authenticated: true + custom: [] + headers: + Authorization: 'Bearer YOUR-API-KEY' + Content-Type: application/json + Accept: application/json + urlParameters: + project_id: + name: project_id + description: 'The ID of the project.' + required: true + example: 1 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + storageProvider_id: + name: storageProvider_id + description: 'The ID of the storageProvider.' + required: true + example: 3 + type: integer + enumValues: [] + exampleWasSpecified: false + nullable: false + custom: [] + cleanUrlParameters: + project_id: 1 + storageProvider_id: 3 + queryParameters: [] + cleanQueryParameters: [] + bodyParameters: [] + cleanBodyParameters: [] + fileParameters: [] + responses: + - + status: 204 + content: null + headers: [] + description: '' + custom: [] + responseFields: [] + auth: + - headers + - Authorization + - 'Bearer 84vcE35a6dDZgak1ehVP6fb' + controller: null + method: null + route: null + custom: [] diff --git a/app/Actions/Redirect/CreateRedirect.php b/app/Actions/Redirect/CreateRedirect.php new file mode 100644 index 0000000..297f066 --- /dev/null +++ b/app/Actions/Redirect/CreateRedirect.php @@ -0,0 +1,75 @@ + $input + */ + public function create(Site $site, array $input): Redirect + { + $redirect = new Redirect; + + $redirect->site_id = $site->id; + $redirect->from = $input['from']; + $redirect->to = $input['to']; + $redirect->mode = $input['mode']; + $redirect->status = RedirectStatus::CREATING; + $redirect->save(); + + dispatch(function () use ($site, $redirect): void { + /** @var Service $service */ + $service = $site->server->webserver(); + /** @var Webserver $webserver */ + $webserver = $service->handler(); + $webserver->updateVHost($site); + $redirect->status = RedirectStatus::READY; + $redirect->save(); + }) + ->catch(function () use ($redirect): void { + $redirect->status = RedirectStatus::FAILED; + $redirect->save(); + }) + ->onConnection('ssh'); + + return $redirect->refresh(); + } + + /** + * @return array> + */ + public static function rules(Site $site): array + { + return [ + 'from' => [ + 'required', + 'string', + 'max:255', + 'not_regex:/^http(s)?:\/\//', + Rule::unique('redirects', 'from')->where('site_id', $site->id), + ], + 'to' => [ + 'required', + 'url:http,https', + ], + 'mode' => [ + 'required', + 'integer', + Rule::in([ + 301, + 302, + 307, + 308, + ]), + ], + ]; + } +} diff --git a/app/Actions/Redirect/DeleteRedirect.php b/app/Actions/Redirect/DeleteRedirect.php new file mode 100644 index 0000000..c6ff964 --- /dev/null +++ b/app/Actions/Redirect/DeleteRedirect.php @@ -0,0 +1,30 @@ +status = RedirectStatus::DELETING; + $redirect->save(); + + dispatch(function () use ($site, $redirect): void { + /** @var Service $service */ + $service = $site->server->webserver(); + /** @var Webserver $webserver */ + $webserver = $service->handler(); + $webserver->updateVHost($site); + $redirect->delete(); + })->catch(function () use ($redirect): void { + $redirect->status = RedirectStatus::FAILED; + $redirect->save(); + })->onConnection('ssh'); + } +} diff --git a/app/Enums/RedirectStatus.php b/app/Enums/RedirectStatus.php new file mode 100644 index 0000000..4b39310 --- /dev/null +++ b/app/Enums/RedirectStatus.php @@ -0,0 +1,14 @@ +authorize('view', [Redirect::class, $site, $server]); + + $this->validateRoute($project, $server, $site); + + return RedirectResource::collection($site->redirects()->simplePaginate(25)); + } + + #[Post('/', name: 'api.projects.servers.sites.redirects.create', middleware: 'ability:write')] + #[Endpoint(title: 'create', description: 'Create a new redirect.')] + #[BodyParam(name: 'from', required: true)] + #[BodyParam(name: 'to', required: true)] + #[BodyParam(name: 'mode', required: true, enum: [301, 302, 307, 308])] + #[Response(status: 200)] + public function create(Request $request, Project $project, Server $server, Site $site): RedirectResource + { + $this->authorize('create', [Redirect::class, $site, $server]); + + $this->validateRoute($project, $server, $site); + + $this->validate($request, CreateRedirect::rules($site)); + + $redirect = app(CreateRedirect::class)->create($site, $request->all()); + + return new RedirectResource($redirect); + } + + #[Delete('/{redirect}', name: 'api.projects.servers.sites.redirects.delete', middleware: 'ability:write')] + #[Endpoint(title: 'delete', description: 'Delete a redirect.')] + #[Response(status: 204)] + public function delete(Project $project, Server $server, Site $site, Redirect $redirect): HttpResponse + { + $this->authorize('delete', [Redirect::class, $site, $server]); + + $this->validateRoute($project, $server, $site); + + app(DeleteRedirect::class)->delete($site, $redirect); + + return response()->noContent(); + } + + private function validateRoute(Project $project, Server $server, Site $site): void + { + if ($project->id !== $server->project_id) { + abort(404, 'Server not found in project'); + } + + if ($site->server_id !== $server->id) { + abort(404, 'Site not found in server'); + } + } +} diff --git a/app/Http/Resources/RedirectResource.php b/app/Http/Resources/RedirectResource.php new file mode 100644 index 0000000..d2b7b10 --- /dev/null +++ b/app/Http/Resources/RedirectResource.php @@ -0,0 +1,28 @@ + + */ + public function toArray(Request $request): array + { + return [ + 'id' => $this->id, + 'site_id' => $this->site_id, + 'mode' => $this->mode, + 'from' => $this->from, + 'to' => $this->to, + 'status' => $this->status, + 'created_at' => $this->created_at, + 'updated_at' => $this->updated_at, + ]; + } +} diff --git a/app/Models/Redirect.php b/app/Models/Redirect.php new file mode 100644 index 0000000..49de878 --- /dev/null +++ b/app/Models/Redirect.php @@ -0,0 +1,49 @@ + */ + use HasFactory; + + protected $fillable = [ + 'site_id', + 'from', + 'to', + 'mode', + 'status', + ]; + + /** + * @var array + */ + public static array $statusColors = [ + RedirectStatus::CREATING => 'warning', + RedirectStatus::READY => 'success', + RedirectStatus::DELETING => 'warning', + RedirectStatus::FAILED => 'danger', + ]; + + /** + * @return BelongsTo + */ + public function site(): BelongsTo + { + return $this->belongsTo(Site::class); + } +} diff --git a/app/Models/Site.php b/app/Models/Site.php index 7b5278d..9bdd970 100755 --- a/app/Models/Site.php +++ b/app/Models/Site.php @@ -2,6 +2,7 @@ namespace App\Models; +use App\Enums\RedirectStatus; use App\Enums\SiteStatus; use App\Enums\SslStatus; use App\Exceptions\FailedToDestroyGitHook; @@ -52,6 +53,8 @@ * @property ?SourceControl $sourceControl * @property Collection $loadBalancerServers * @property Project $project + * @property Collection $redirects + * @property Collection $activeRedirects */ class Site extends AbstractModel { @@ -419,4 +422,20 @@ public function getSshUsers(): array return $users; } + + /** + * @return HasMany + */ + public function redirects(): HasMany + { + return $this->hasMany(Redirect::class); + } + + /** + * @return HasMany + */ + public function activeRedirects(): HasMany + { + return $this->redirects()->whereIn('status', [RedirectStatus::CREATING, RedirectStatus::READY]); + } } diff --git a/app/Policies/RedirectPolicy.php b/app/Policies/RedirectPolicy.php new file mode 100644 index 0000000..f732f27 --- /dev/null +++ b/app/Policies/RedirectPolicy.php @@ -0,0 +1,35 @@ +isAdmin()) { + return true; + } + + return $site->server->project->users->contains($user); + } + + public function create(User $user, Site $site, Server $server): bool + { + return ($user->isAdmin() || $site->server->project->users->contains($user)) + && $site->server_id === $server->id + && $site->server->isReady() + && $site->server->webserver(); + } + + public function delete(User $user, Site $site, Server $server): bool + { + return ($user->isAdmin() || $site->server->project->users->contains($user)) + && $site->server_id === $server->id + && $site->server->isReady() + && $site->server->webserver(); + } +} diff --git a/app/SSH/Services/Webserver/Nginx.php b/app/SSH/Services/Webserver/Nginx.php index 91c8fe8..845249a 100755 --- a/app/SSH/Services/Webserver/Nginx.php +++ b/app/SSH/Services/Webserver/Nginx.php @@ -80,18 +80,14 @@ public function createVHost(Site $site): void $this->service->server->ssh()->write( '/etc/nginx/sites-available/'.$site->domain, - view('ssh.services.webserver.nginx.vhost', [ - 'site' => $site, - ]), + $this->generateVhost($site), 'root' ); $this->service->server->ssh()->exec( view('ssh.services.webserver.nginx.create-vhost', [ 'domain' => $site->domain, - 'vhost' => view('ssh.services.webserver.nginx.vhost', [ - 'site' => $site, - ]), + 'vhost' => $this->generateVhost($site), ]), 'create-vhost', $site->id @@ -105,9 +101,7 @@ public function updateVHost(Site $site, ?string $vhost = null): void { $this->service->server->ssh()->write( '/etc/nginx/sites-available/'.$site->domain, - $vhost ?? view('ssh.services.webserver.nginx.vhost', [ - 'site' => $site, - ]), + $vhost ?? $this->generateVhost($site), 'root' ); @@ -209,4 +203,13 @@ public function removeSSL(Ssl $ssl): void $this->updateVHost($ssl->site); } + + private function generateVhost(Site $site): string + { + $vhost = view('ssh.services.webserver.nginx.vhost', [ + 'site' => $site, + ]); + + return format_nginx_config($vhost); + } } diff --git a/app/Support/helpers.php b/app/Support/helpers.php index 1d366fe..395f7f5 100755 --- a/app/Support/helpers.php +++ b/app/Support/helpers.php @@ -218,3 +218,36 @@ function home_path(string $user): string return '/home/'.$user; } + +function format_nginx_config(string $config): string +{ + $lines = explode("\n", trim($config)); + $indent = 0; + $formattedLines = []; + + foreach ($lines as $line) { + $trimmed = trim($line); + + // Preserve empty lines exactly as they are + if ($trimmed === '') { + $formattedLines[] = ''; + + continue; + } + + // If line is a closing brace, decrease indentation first + if ($trimmed === '}') { + $indent--; + } + + // Apply indentation + $formattedLines[] = str_repeat(' ', max(0, $indent)).$trimmed; + + // If line contains an opening brace, increase indentation + if (str_ends_with($trimmed, '{')) { + $indent++; + } + } + + return implode("\n", $formattedLines)."\n"; +} diff --git a/app/Web/Pages/Servers/Sites/Page.php b/app/Web/Pages/Servers/Sites/Page.php index a08ea98..e332b6f 100644 --- a/app/Web/Pages/Servers/Sites/Page.php +++ b/app/Web/Pages/Servers/Sites/Page.php @@ -2,6 +2,7 @@ namespace App\Web\Pages\Servers\Sites; +use App\Models\Redirect; use App\Models\ServerLog; use App\Models\Site; use App\Models\Ssl; @@ -75,6 +76,16 @@ public function getSecondSubNavigation(): array ])); } + if ($user->can('view', [Redirect::class, $this->site, $this->server])) { + $items[] = NavigationItem::make(Pages\Redirects\Index::getNavigationLabel()) + ->icon('heroicon-o-arrows-right-left') + ->isActiveWhen(fn () => request()->routeIs(Pages\Redirects\Index::getRouteName())) + ->url(Pages\Redirects\Index::getUrl(parameters: [ + 'server' => $this->server, + 'site' => $this->site, + ])); + } + return [ NavigationGroup::make() ->items($items), diff --git a/app/Web/Pages/Servers/Sites/Pages/Redirects/Actions/Create.php b/app/Web/Pages/Servers/Sites/Pages/Redirects/Actions/Create.php new file mode 100644 index 0000000..4bb1fee --- /dev/null +++ b/app/Web/Pages/Servers/Sites/Pages/Redirects/Actions/Create.php @@ -0,0 +1,43 @@ + + */ + public static function form(Site $site): array + { + return [ + TextInput::make('from') + ->rules(CreateRedirect::rules($site)['from']), + TextInput::make('to') + ->rules(CreateRedirect::rules($site)['to']), + Select::make('mode') + ->rules(CreateRedirect::rules($site)['mode']) + ->options([ + '301' => '301 - Moved Permanently', + '302' => '302 - Found', + '307' => '307 - Temporary Redirect', + '308' => '308 - Permanent Redirect', + ]), + ]; + } + + /** + * @param array $data + */ + public static function action(Component $component, array $data, Site $site): void + { + app(CreateRedirect::class)->create($site, $data); + + $component->dispatch('$refresh'); + } +} diff --git a/app/Web/Pages/Servers/Sites/Pages/Redirects/Index.php b/app/Web/Pages/Servers/Sites/Pages/Redirects/Index.php new file mode 100644 index 0000000..3208b50 --- /dev/null +++ b/app/Web/Pages/Servers/Sites/Pages/Redirects/Index.php @@ -0,0 +1,55 @@ +authorize('view', [Redirect::class, $this->site, $this->server]); + } + + public function getWidgets(): array + { + return [ + [ + RedirectsList::class, [ + 'site' => $this->site, + ], + ], + ]; + } + + protected function getHeaderActions(): array + { + return [ + Action::make('read-the-docs') + ->label('Read the Docs') + ->icon('heroicon-o-document-text') + ->color('gray') + ->url('https://vitodeploy.com/docs/sites/redirects') + ->openUrlInNewTab(), + CreateAction::make('create') + ->icon('heroicon-o-plus') + ->createAnother(false) + ->modalWidth(MaxWidth::ExtraLarge) + ->label('New Redirect') + ->form(Create::form($this->site)) + ->using(fn (array $data) => run_action($this, function () use ($data): void { + Create::action($this, $data, $this->site); + })), + ]; + } +} diff --git a/app/Web/Pages/Servers/Sites/Pages/Redirects/Widgets/RedirectsList.php b/app/Web/Pages/Servers/Sites/Pages/Redirects/Widgets/RedirectsList.php new file mode 100644 index 0000000..f4c314e --- /dev/null +++ b/app/Web/Pages/Servers/Sites/Pages/Redirects/Widgets/RedirectsList.php @@ -0,0 +1,85 @@ + + */ + protected $listeners = ['$refresh']; + + /** + * @return Builder + */ + protected function getTableQuery(): Builder + { + return Redirect::query()->where('site_id', $this->site->id); + } + + protected function getTableColumns(): array + { + auth()->user(); + + return [ + TextColumn::make('from') + ->limit(40) + ->tooltip(fn (Redirect $redirect) => $redirect->from) + ->searchable() + ->copyable(), + TextColumn::make('to') + ->limit(40) + ->tooltip(fn (Redirect $redirect) => $redirect->to) + ->searchable() + ->copyable(), + TextColumn::make('mode') + ->searchable() + ->sortable(), + TextColumn::make('status') + ->label('Status') + ->badge() + ->color(fn (Redirect $redirect) => Redirect::$statusColors[$redirect->status]) + ->searchable() + ->sortable(), + TextColumn::make('created_at') + ->formatStateUsing(fn (Redirect $record) => $record->created_at) + ->sortable(), + ]; + } + + public function table(Table $table): Table + { + /** @var User $user */ + $user = auth()->user(); + + return $table + ->heading(null) + ->query($this->getTableQuery()) + ->columns($this->getTableColumns()) + ->actions([ + DeleteAction::make('delete') + ->hiddenLabel() + ->tooltip('Delete') + ->icon('heroicon-o-trash') + ->authorize(fn (Redirect $record) => $user->can('delete', [$this->site, $this->site->server])) + ->using(function (Redirect $record): void { + run_action($this, function () use ($record): void { + app(DeleteRedirect::class)->delete($this->site, $record); + $this->dispatch('$refresh'); + }); + }), + ]); + } +} diff --git a/database/factories/RedirectFactory.php b/database/factories/RedirectFactory.php new file mode 100644 index 0000000..9381b8c --- /dev/null +++ b/database/factories/RedirectFactory.php @@ -0,0 +1,28 @@ + + */ +class RedirectFactory extends Factory +{ + protected $model = Redirect::class; + + /** + * @return array + */ + public function definition(): array + { + return [ + 'from' => $this->faker->word, + 'to' => $this->faker->url, + 'mode' => $this->faker->randomElement([301, 302, 307, 308]), + 'status' => RedirectStatus::READY, + ]; + } +} diff --git a/public/api-docs/collection.json b/public/api-docs/collection.json index eb7ff9f..cfb9c38 100644 --- a/public/api-docs/collection.json +++ b/public/api-docs/collection.json @@ -10,7 +10,7 @@ ], "info": { "name": "API Documentation", - "_postman_id": "b4316c5d-00b9-4733-9e7b-cbd38f7bd90a", + "_postman_id": "89857b10-bb5c-40a2-b503-98e891d9ebef", "description": "VitoDeploy's API documentation.", "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json" }, @@ -101,7 +101,7 @@ ], "body": { "mode": "raw", - "raw": "{\"command\":\"qui\",\"user\":\"vito\",\"frequency\":\"* * * * *\"}" + "raw": "{\"command\":\"sit\",\"user\":\"root\",\"frequency\":\"* * * * *\"}" }, "description": "Create a new cron job." }, @@ -138,7 +138,7 @@ { "id": "cronJob_id", "key": "cronJob_id", - "value": "17", + "value": "13", "description": "The ID of the cronJob." } ] @@ -190,7 +190,7 @@ { "id": "cronJob_id", "key": "cronJob_id", - "value": "11", + "value": "16", "description": "The ID of the cronJob." } ] @@ -265,7 +265,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"username\":\"lehner.eloy\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"username\":\"rlowe\",\"databases\":[],\"host\":\"%\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"username\":\"imurray\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"username\":\"raleigh.heidenreich\",\"databases\":[],\"host\":\"%\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -306,7 +306,7 @@ ], "body": { "mode": "raw", - "raw": "{\"username\":\"voluptas\",\"password\":\":D+e=\\\/;H,\",\"host\":\"%\"}" + "raw": "{\"username\":\"ut\",\"password\":\"L&1)4X-w>&T=:'Y2#x\",\"host\":\"%\"}" }, "description": "Create a new database user." }, @@ -314,7 +314,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"username\":\"fahey.joseph\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"username\":\"kbernhard\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -343,7 +343,7 @@ { "id": "databaseUser_id", "key": "databaseUser_id", - "value": "19", + "value": "8", "description": "The ID of the databaseUser." } ] @@ -366,7 +366,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"username\":\"szboncak\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"username\":\"lavada.casper\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -395,7 +395,7 @@ { "id": "databaseUser_id", "key": "databaseUser_id", - "value": "11", + "value": "3", "description": "The ID of the databaseUser." } ] @@ -413,7 +413,7 @@ ], "body": { "mode": "raw", - "raw": "{\"databases\":\"accusantium\"}" + "raw": "{\"databases\":\"laboriosam\"}" }, "description": "Link to databases" }, @@ -421,7 +421,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"username\":\"smith.liliana\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"username\":\"ojerde\",\"databases\":[],\"host\":\"%\",\"status\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -450,7 +450,7 @@ { "id": "databaseUser_id", "key": "databaseUser_id", - "value": "18", + "value": "8", "description": "The ID of the databaseUser." } ] @@ -525,7 +525,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"name\":\"joyce53\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"name\":\"eric55\",\"status\":\"ready\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"server_id\":null,\"name\":\"fkrajcik\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"server_id\":null,\"name\":\"critchie\",\"status\":\"ready\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -566,7 +566,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"debitis\",\"charset\":\"maxime\",\"collation\":\"sed\"}" + "raw": "{\"name\":\"esse\",\"charset\":\"ut\",\"collation\":\"labore\"}" }, "description": "Create a new database." }, @@ -574,7 +574,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"name\":\"brekke.isabell\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"name\":\"cory33\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -603,7 +603,7 @@ { "id": "id", "key": "id", - "value": "11", + "value": "9", "description": "The ID of the database." } ] @@ -626,7 +626,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"server_id\":null,\"name\":\"vandervort.emmalee\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"server_id\":null,\"name\":\"walter.jacey\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -655,7 +655,7 @@ { "id": "database_id", "key": "database_id", - "value": "5", + "value": "16", "description": "The ID of the database." } ] @@ -730,7 +730,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"name\":\"ea\",\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":41910,\"source\":\"202.183.211.242\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"name\":\"iusto\",\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":60689,\"source\":\"227.149.61.57\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -771,7 +771,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"autem\",\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":\"quas\",\"source\":\"blanditiis\",\"mask\":\"0\"}" + "raw": "{\"name\":\"voluptas\",\"type\":\"deny\",\"protocol\":\"udp\",\"port\":\"qui\",\"source\":\"amet\",\"mask\":\"0\"}" }, "description": "Create a new firewall rule." }, @@ -779,7 +779,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"name\":\"in\",\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":13253,\"source\":\"245.228.81.208\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"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}", "name": "" } ] @@ -826,7 +826,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"earum\",\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":\"ab\",\"source\":\"possimus\",\"mask\":\"0\"}" + "raw": "{\"name\":\"et\",\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":\"rerum\",\"source\":\"sed\",\"mask\":\"0\"}" }, "description": "Update an existing firewall rule." }, @@ -834,7 +834,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"name\":\"repudiandae\",\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":44250,\"source\":\"243.200.88.169\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"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}", "name": "" } ] @@ -886,7 +886,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"name\":\"quam\",\"server_id\":null,\"type\":\"allow\",\"protocol\":\"tcp\",\"port\":62505,\"source\":\"73.254.77.244\",\"mask\":24,\"note\":\"test\",\"status\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"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}", "name": "" } ] @@ -992,7 +992,7 @@ }, { "key": "x-ratelimit-remaining", - "value": "59" + "value": "58" }, { "key": "access-control-allow-origin", @@ -1038,7 +1038,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":3,\"name\":\"Amara Jaskolski\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"},{\"id\":4,\"name\":\"Christy Kohler\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":3,\"name\":\"Kattie Haley\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"},{\"id\":4,\"name\":\"Kailyn Kiehn\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -1065,7 +1065,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"temporibus\"}" + "raw": "{\"name\":\"excepturi\"}" }, "description": "Create a new project." }, @@ -1073,7 +1073,7 @@ { "header": [], "code": 200, - "body": "{\"id\":3,\"name\":\"Prof. Enrico Wehner Sr.\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":3,\"name\":\"Dayne White\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -1113,7 +1113,7 @@ { "header": [], "code": 200, - "body": "{\"id\":3,\"name\":\"Zoie Feest\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":3,\"name\":\"Cheyenne Ankunding III\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -1148,7 +1148,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"sit\"}" + "raw": "{\"name\":\"mollitia\"}" }, "description": "Update project." }, @@ -1156,7 +1156,7 @@ { "header": [], "code": 200, - "body": "{\"id\":3,\"name\":\"Mr. Jayme Kuhlman DVM\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":3,\"name\":\"Susanna Stark\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -1203,6 +1203,177 @@ } ] }, + { + "name": "redirects", + "description": "", + "item": [ + { + "name": "index", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/redirects", + "query": [], + "raw": "{{baseUrl}}\/api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/redirects", + "variable": [ + { + "id": "project_id", + "key": "project_id", + "value": "1", + "description": "The ID of the project." + }, + { + "id": "server_id", + "key": "server_id", + "value": "29", + "description": "The ID of the server." + }, + { + "id": "site_id", + "key": "site_id", + "value": "11", + "description": "The ID of the site." + } + ] + }, + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "Get all redirects." + }, + "response": [ + { + "header": [], + "code": 200, + "body": "{\"data\":[{\"id\":null,\"site_id\":null,\"mode\":301,\"from\":\"error\",\"to\":\"https:\\\/\\\/www.pfannerstill.com\\\/facere-est-totam-laudantium-in-illo-sequi\",\"status\":\"ready\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"site_id\":null,\"mode\":301,\"from\":\"repellat\",\"to\":\"http:\\\/\\\/gislason.biz\\\/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html\",\"status\":\"ready\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "name": "" + } + ] + }, + { + "name": "create", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/redirects", + "query": [], + "raw": "{{baseUrl}}\/api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/redirects", + "variable": [ + { + "id": "project_id", + "key": "project_id", + "value": "1", + "description": "The ID of the project." + }, + { + "id": "server_id", + "key": "server_id", + "value": "29", + "description": "The ID of the server." + }, + { + "id": "site_id", + "key": "site_id", + "value": "11", + "description": "The ID of the site." + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\"from\":\"vel\",\"to\":\"ea\",\"mode\":307}" + }, + "description": "Create a new redirect." + }, + "response": [ + { + "header": [], + "code": 200, + "body": null, + "name": "" + } + ] + }, + { + "name": "delete", + "request": { + "url": { + "host": "{{baseUrl}}", + "path": "api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/redirects\/:redirect_id", + "query": [], + "raw": "{{baseUrl}}\/api\/projects\/:project_id\/servers\/:server_id\/sites\/:site_id\/redirects\/:redirect_id", + "variable": [ + { + "id": "project_id", + "key": "project_id", + "value": "1", + "description": "The ID of the project." + }, + { + "id": "server_id", + "key": "server_id", + "value": "29", + "description": "The ID of the server." + }, + { + "id": "site_id", + "key": "site_id", + "value": "11", + "description": "The ID of the site." + }, + { + "id": "redirect_id", + "key": "redirect_id", + "value": "9", + "description": "The ID of the redirect." + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application\/json" + }, + { + "key": "Accept", + "value": "application\/json" + } + ], + "body": null, + "description": "Delete a redirect." + }, + "response": [ + { + "header": [], + "code": 204, + "body": null, + "name": "" + } + ] + } + ] + }, { "name": "server-providers", "description": "", @@ -1242,7 +1413,7 @@ { "header": [], "code": 200, - "body": "{\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"id\",\"provider\":\"custom\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"},{\"id\":4,\"project_id\":null,\"global\":true,\"name\":\"culpa\",\"provider\":\"linode\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -1277,7 +1448,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"exercitationem\",\"name\":\"similique\",\"token\":\"nisi\",\"key\":\"tempora\",\"secret\":\"earum\"}" + "raw": "{\"provider\":\"mollitia\",\"name\":\"adipisci\",\"token\":\"animi\",\"key\":\"provident\",\"secret\":\"deserunt\"}" }, "description": "" }, @@ -1285,7 +1456,7 @@ { "header": [], "code": 200, - "body": "{\"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\"}", + "body": "{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"et\",\"provider\":\"vultr\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -1331,7 +1502,7 @@ { "header": [], "code": 200, - "body": "{\"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\"}", + "body": "{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"ab\",\"provider\":\"digitalocean\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -1372,7 +1543,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"porro\",\"global\":false}" + "raw": "{\"name\":\"eveniet\",\"global\":false}" }, "description": "" }, @@ -1380,7 +1551,7 @@ { "header": [], "code": 200, - "body": "{\"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\"}", + "body": "{\"id\":3,\"project_id\":null,\"global\":true,\"name\":\"expedita\",\"provider\":\"aws\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -1472,7 +1643,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Prof. Wyatt Powlowski IV\",\"ssh_user\":\"vito\",\"ip\":\"33.53.217.82\",\"local_ip\":\"227.155.11.76\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Guiseppe D'Amore\",\"ssh_user\":\"vito\",\"ip\":\"41.138.98.159\",\"local_ip\":\"78.178.81.109\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Consuelo Connelly\",\"ssh_user\":\"vito\",\"ip\":\"80.154.83.232\",\"local_ip\":\"45.31.117.65\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null},{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Rodolfo Fadel\",\"ssh_user\":\"vito\",\"ip\":\"103.227.79.93\",\"local_ip\":\"33.49.217.56\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -1507,7 +1678,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"vel\",\"server_provider\":\"hetzner\",\"region\":\"voluptatibus\",\"plan\":\"ducimus\",\"ip\":\"dolores\",\"port\":\"ratione\",\"name\":\"in\",\"os\":\"cumque\",\"webserver\":\"nginx\",\"database\":\"mysql80\",\"php\":\"7.4\"}" + "raw": "{\"provider\":\"incidunt\",\"server_provider\":\"hetzner\",\"region\":\"ut\",\"plan\":\"ullam\",\"ip\":\"architecto\",\"port\":\"praesentium\",\"name\":\"facere\",\"os\":\"illo\",\"webserver\":\"none\",\"database\":\"none\",\"php\":\"8.1\"}" }, "description": "Create a new server." }, @@ -1515,7 +1686,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Anissa McDermott\",\"ssh_user\":\"vito\",\"ip\":\"212.15.34.173\",\"local_ip\":\"142.201.95.242\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Herbert VonRueden\",\"ssh_user\":\"vito\",\"ip\":\"91.154.105.143\",\"local_ip\":\"62.75.177.7\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -1561,7 +1732,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Prof. Newton Wintheiser Jr.\",\"ssh_user\":\"vito\",\"ip\":\"243.154.251.36\",\"local_ip\":\"198.224.194.65\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"project_id\":null,\"user_id\":null,\"provider_id\":null,\"name\":\"Connie Simonis\",\"ssh_user\":\"vito\",\"ip\":\"202.119.26.253\",\"local_ip\":\"112.75.79.203\",\"port\":22,\"os\":\"ubuntu_22\",\"type\":\"regular\",\"type_data\":null,\"provider\":\"custom\",\"provider_data\":null,\"public_key\":\"test\",\"status\":\"ready\",\"auto_update\":null,\"available_updates\":0,\"security_updates\":null,\"progress\":100,\"progress_step\":null,\"updates\":null,\"last_update_check\":null,\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -2208,7 +2379,7 @@ ], "body": { "mode": "raw", - "raw": "{\"type\":\"php-blank\",\"domain\":\"harum\",\"aliases\":[\"voluptatem\"],\"php_version\":\"7.4\",\"web_directory\":\"public\",\"source_control\":\"amet\",\"repository\":\"organization\\\/repository\",\"branch\":\"main\",\"composer\":true,\"version\":\"5.2.1\",\"user\":\"et\",\"method\":\"least-connections\"}" + "raw": "{\"type\":\"phpmyadmin\",\"domain\":\"tenetur\",\"aliases\":[\"aut\"],\"php_version\":\"7.4\",\"web_directory\":\"public\",\"source_control\":\"quasi\",\"repository\":\"organization\\\/repository\",\"branch\":\"main\",\"composer\":true,\"version\":\"5.2.1\",\"user\":\"deleniti\",\"method\":\"round-robin\"}" }, "description": "Create a new site." }, @@ -2245,7 +2416,7 @@ { "id": "id", "key": "id", - "value": "43", + "value": "12", "description": "The ID of the site." } ] @@ -2297,7 +2468,7 @@ { "id": "site_id", "key": "site_id", - "value": "43", + "value": "9", "description": "The ID of the site." } ] @@ -2349,7 +2520,7 @@ { "id": "site_id", "key": "site_id", - "value": "43", + "value": "19", "description": "The ID of the site." } ] @@ -2367,7 +2538,7 @@ ], "body": { "mode": "raw", - "raw": "{\"method\":\"ip-hash\",\"servers\":[\"accusantium\"]}" + "raw": "{\"method\":\"ip-hash\",\"servers\":[\"dolores\"]}" }, "description": "Update load balancer." }, @@ -2404,7 +2575,7 @@ { "id": "site_id", "key": "site_id", - "value": "43", + "value": "16", "description": "The ID of the site." } ] @@ -2422,7 +2593,7 @@ ], "body": { "mode": "raw", - "raw": "{\"aliases\":[\"ut\"]}" + "raw": "{\"aliases\":[\"aut\"]}" }, "description": "Update aliases." }, @@ -2459,7 +2630,7 @@ { "id": "site_id", "key": "site_id", - "value": "43", + "value": "3", "description": "The ID of the site." } ] @@ -2477,7 +2648,7 @@ ], "body": { "mode": "raw", - "raw": "{\"script\":\"culpa\"}" + "raw": "{\"script\":\"qui\"}" }, "description": "Update site deployment script" }, @@ -2514,7 +2685,7 @@ { "id": "site_id", "key": "site_id", - "value": "43", + "value": "16", "description": "The ID of the site." } ] @@ -2583,7 +2754,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Amya Jones\",\"provider\":\"github\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"Jerry Donnelly\",\"provider\":\"github\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Emil Leannon\",\"provider\":\"github\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"Eleazar Pacocha Sr.\",\"provider\":\"github\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -2618,7 +2789,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"bitbucket\",\"name\":\"eligendi\",\"token\":\"debitis\",\"url\":\"http:\\\/\\\/fahey.com\\\/aliquid-sapiente-labore-adipisci-eum-laborum\",\"username\":\"rerum\",\"password\":\"wBK}NHxV:x\"}" + "raw": "{\"provider\":\"github\",\"name\":\"aliquam\",\"token\":\"voluptatem\",\"url\":\"https:\\\/\\\/brown.org\\\/placeat-optio-illum-eius-ipsa.html\",\"username\":\"a\",\"password\":\"_\\\/_,9'\\\/6z;9\"}" }, "description": "" }, @@ -2626,7 +2797,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Dr. Janae Tremblay PhD\",\"provider\":\"github\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Ahmad Kulas\",\"provider\":\"github\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -2672,7 +2843,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Marguerite Aufderhar\",\"provider\":\"github\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Mr. Marquis Kunde IV\",\"provider\":\"github\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -2713,7 +2884,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"blanditiis\",\"token\":\"non\",\"url\":\"https:\\\/\\\/www.veum.com\\\/eum-voluptas-non-rem-non-rerum-tempora-quam\",\"username\":\"porro\",\"password\":\">BW~{`#d,}=U!XxC!t]\",\"global\":false}" + "raw": "{\"name\":\"laudantium\",\"token\":\"nulla\",\"url\":\"http:\\\/\\\/wiza.com\\\/\",\"username\":\"numquam\",\"password\":\"MlD,$m:8^A\",\"global\":false}" }, "description": "" }, @@ -2721,7 +2892,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Johan Crooks\",\"provider\":\"github\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"Mrs. Arvilla Mitchell\",\"provider\":\"github\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -2819,7 +2990,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":null,\"user\":null,\"name\":\"Dr. Virgie Reilly\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"user\":null,\"name\":\"Horace Gutmann\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":null,\"user\":null,\"name\":\"Dr. Pansy Kunde DVM\",\"created_at\":null,\"updated_at\":null},{\"id\":null,\"user\":null,\"name\":\"Ms. Maximillia DuBuque Sr.\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -2860,7 +3031,7 @@ ], "body": { "mode": "raw", - "raw": "{\"key_id\":\"et\",\"name\":\"provident\",\"public_key\":\"incidunt\"}" + "raw": "{\"key_id\":\"debitis\",\"name\":\"illum\",\"public_key\":\"dignissimos\"}" }, "description": "Deploy ssh key to server." }, @@ -2868,7 +3039,7 @@ { "header": [], "code": 200, - "body": "{\"id\":null,\"user\":null,\"name\":\"Miss Penelope Sipes IV\",\"created_at\":null,\"updated_at\":null}", + "body": "{\"id\":null,\"user\":null,\"name\":\"Uriah Harvey\",\"created_at\":null,\"updated_at\":null}", "name": "" } ] @@ -2966,7 +3137,7 @@ { "header": [], "code": 200, - "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"sit\",\"provider\":\"ftp\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"repudiandae\",\"provider\":\"local\",\"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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", + "body": "{\"data\":[{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"autem\",\"provider\":\"s3\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"},{\"id\":6,\"project_id\":null,\"global\":true,\"name\":\"nihil\",\"provider\":\"ftp\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.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\":\"« Previous\",\"active\":false},{\"url\":\"\\\/?page=1\",\"label\":\"1\",\"active\":true},{\"url\":null,\"label\":\"Next »\",\"active\":false}],\"path\":\"\\\/\",\"per_page\":25,\"to\":2,\"total\":2}}", "name": "" } ] @@ -3001,7 +3172,7 @@ ], "body": { "mode": "raw", - "raw": "{\"provider\":\"est\",\"name\":\"id\",\"token\":\"repellendus\",\"key\":\"ducimus\",\"secret\":\"possimus\"}" + "raw": "{\"provider\":\"est\",\"name\":\"voluptatem\",\"token\":\"delectus\",\"key\":\"natus\",\"secret\":\"saepe\"}" }, "description": "" }, @@ -3009,7 +3180,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"sequi\",\"provider\":\"dropbox\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"omnis\",\"provider\":\"local\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -3055,7 +3226,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"alias\",\"provider\":\"ftp\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"molestiae\",\"provider\":\"dropbox\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] @@ -3096,7 +3267,7 @@ ], "body": { "mode": "raw", - "raw": "{\"name\":\"ullam\",\"global\":true}" + "raw": "{\"name\":\"exercitationem\",\"global\":true}" }, "description": "" }, @@ -3104,7 +3275,7 @@ { "header": [], "code": 200, - "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"at\",\"provider\":\"ftp\",\"created_at\":\"2025-03-29T20:43:56.000000Z\",\"updated_at\":\"2025-03-29T20:43:56.000000Z\"}", + "body": "{\"id\":5,\"project_id\":null,\"global\":true,\"name\":\"dolorum\",\"provider\":\"s3\",\"created_at\":\"2025-03-31T15:27:17.000000Z\",\"updated_at\":\"2025-03-31T15:27:17.000000Z\"}", "name": "" } ] diff --git a/public/api-docs/index.html b/public/api-docs/index.html index 9692042..0b23495 100644 --- a/public/api-docs/index.html +++ b/public/api-docs/index.html @@ -182,6 +182,22 @@ + @@ -628,8 +644,8 @@

c --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"command\": \"qui\", - \"user\": \"vito\", + \"command\": \"sit\", + \"user\": \"root\", \"frequency\": \"* * * * *\" }" @@ -647,8 +663,8 @@

c 'Accept' => 'application/json', ], 'json' => [ - 'command' => 'qui', - 'user' => 'vito', + 'command' => 'sit', + 'user' => 'root', 'frequency' => '* * * * *', ], ] @@ -669,8 +685,8 @@

c }; let body = { - "command": "qui", - "user": "vito", + "command": "sit", + "user": "root", "frequency": "* * * * *" }; @@ -810,10 +826,10 @@

Body Parameters

 
-

Example: qui

+

Example: sit

user   @@ -821,10 +837,10 @@

Body Parameters

 
-

Example: vito

+

Example: root

Must be one of:
  • root
  • vito
@@ -855,7 +871,7 @@

curl --request GET \
-    --get "https://your-vito-url/api/projects/1/servers/29/cron-jobs/17" \
+    --get "https://your-vito-url/api/projects/1/servers/29/cron-jobs/13" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -863,7 +879,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/cron-jobs/17';
+$url = 'https://your-vito-url/api/projects/1/servers/29/cron-jobs/13';
 $response = $client->get(
     $url,
     [
@@ -880,7 +896,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/cron-jobs/17"
+    "https://your-vito-url/api/projects/1/servers/29/cron-jobs/13"
 );
 
 const headers = {
@@ -1023,10 +1039,10 @@ 

URL Parameters

 
-

The ID of the cronJob. Example: 17

+

The ID of the cronJob. Example: 13

@@ -1044,7 +1060,7 @@

curl --request DELETE \
-    "https://your-vito-url/api/projects/1/servers/29/cron-jobs/11" \
+    "https://your-vito-url/api/projects/1/servers/29/cron-jobs/16" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -1052,7 +1068,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/cron-jobs/11';
+$url = 'https://your-vito-url/api/projects/1/servers/29/cron-jobs/16';
 $response = $client->delete(
     $url,
     [
@@ -1069,7 +1085,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/cron-jobs/11"
+    "https://your-vito-url/api/projects/1/servers/29/cron-jobs/16"
 );
 
 const headers = {
@@ -1202,10 +1218,10 @@ 

URL Parameters

 
-

The ID of the cronJob. Example: 11

+

The ID of the cronJob. Example: 16

@@ -1279,7 +1295,7 @@

@@ -1475,8 +1491,8 @@

{ "id": null, "server_id": null, - "username": "fahey.joseph", + "username": "kbernhard", "databases": [], "host": "%", "status": null, @@ -1638,10 +1654,10 @@

Body Parameters

 
-

Example: voluptas

+

Example: ut

password   @@ -1649,10 +1665,10 @@

Body Parameters

 
-

Example: :D+e=/;H,

+

Example: L&1)4X-w>&T=:'Y2#x

host   @@ -1681,7 +1697,7 @@

curl --request GET \
-    --get "https://your-vito-url/api/projects/1/servers/29/database-users/19" \
+    --get "https://your-vito-url/api/projects/1/servers/29/database-users/8" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"

@@ -1689,7 +1705,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/database-users/19';
+$url = 'https://your-vito-url/api/projects/1/servers/29/database-users/8';
 $response = $client->get(
     $url,
     [
@@ -1706,7 +1722,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/database-users/19"
+    "https://your-vito-url/api/projects/1/servers/29/database-users/8"
 );
 
 const headers = {
@@ -1731,7 +1747,7 @@ 

{ "id": null, "server_id": null, - "username": "szboncak", + "username": "lavada.casper", "databases": [], "host": "%", "status": null, @@ -1849,10 +1865,10 @@

URL Parameters

 
-

The ID of the databaseUser. Example: 19

+

The ID of the databaseUser. Example: 8

@@ -1870,19 +1886,19 @@

curl --request POST \
-    "https://your-vito-url/api/projects/1/servers/29/database-users/11/link" \
+    "https://your-vito-url/api/projects/1/servers/29/database-users/3/link" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --data "{
-    \"databases\": \"accusantium\"
+    \"databases\": \"laboriosam\"
 }"
 
$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/database-users/11/link';
+$url = 'https://your-vito-url/api/projects/1/servers/29/database-users/3/link';
 $response = $client->post(
     $url,
     [
@@ -1892,7 +1908,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/database-users/11/link"
+    "https://your-vito-url/api/projects/1/servers/29/database-users/3/link"
 );
 
 const headers = {
@@ -1912,7 +1928,7 @@ 

{ "id": null, "server_id": null, - "username": "smith.liliana", + "username": "ojerde", "databases": [], "host": "%", "status": null, @@ -2050,10 +2066,10 @@

URL Parameters

 
-

The ID of the databaseUser. Example: 11

+

The ID of the databaseUser. Example: 3

Body Parameters

@@ -2062,10 +2078,10 @@

Body Parameters

 
-

Array of database names to link to the user. Example: accusantium

+

Array of database names to link to the user. Example: laboriosam

@@ -2083,7 +2099,7 @@

curl --request DELETE \
-    "https://your-vito-url/api/projects/1/servers/29/database-users/18" \
+    "https://your-vito-url/api/projects/1/servers/29/database-users/8" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -2091,7 +2107,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/database-users/18';
+$url = 'https://your-vito-url/api/projects/1/servers/29/database-users/8';
 $response = $client->delete(
     $url,
     [
@@ -2108,7 +2124,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/database-users/18"
+    "https://your-vito-url/api/projects/1/servers/29/database-users/8"
 );
 
 const headers = {
@@ -2241,10 +2257,10 @@ 

URL Parameters

 
-

The ID of the databaseUser. Example: 18

+

The ID of the databaseUser. Example: 8

@@ -2318,7 +2334,7 @@

li { "id": null, "server_id": null, - "name": "joyce53", + "name": "fkrajcik", "status": "ready", "created_at": null, "updated_at": null @@ -2326,7 +2342,7 @@

li { "id": null, "server_id": null, - "name": "eric55", + "name": "critchie", "status": "ready", "created_at": null, "updated_at": null @@ -2491,9 +2507,9 @@

c --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"name\": \"debitis\", - \"charset\": \"maxime\", - \"collation\": \"sed\" + \"name\": \"esse\", + \"charset\": \"ut\", + \"collation\": \"labore\" }"

@@ -2510,9 +2526,9 @@

c 'Accept' => 'application/json', ], 'json' => [ - 'name' => 'debitis', - 'charset' => 'maxime', - 'collation' => 'sed', + 'name' => 'esse', + 'charset' => 'ut', + 'collation' => 'labore', ], ] ); @@ -2532,9 +2548,9 @@

c }; let body = { - "name": "debitis", - "charset": "maxime", - "collation": "sed" + "name": "esse", + "charset": "ut", + "collation": "labore" }; fetch(url, { @@ -2554,7 +2570,7 @@

c { "id": null, "server_id": null, - "name": "brekke.isabell", + "name": "cory33", "status": "ready", "created_at": null, "updated_at": null @@ -2671,10 +2687,10 @@

Body Parameters

 
-

Example: debitis

+

Example: esse

charset   @@ -2682,10 +2698,10 @@

Body Parameters

 
-

Example: maxime

+

Example: ut

collation   @@ -2693,10 +2709,10 @@

Body Parameters

 
-

Example: sed

+

Example: labore

@@ -2714,7 +2730,7 @@

curl --request GET \
-    --get "https://your-vito-url/api/projects/1/servers/29/databases/11" \
+    --get "https://your-vito-url/api/projects/1/servers/29/databases/9" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -2722,7 +2738,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/databases/11';
+$url = 'https://your-vito-url/api/projects/1/servers/29/databases/9';
 $response = $client->get(
     $url,
     [
@@ -2739,7 +2755,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/databases/11"
+    "https://your-vito-url/api/projects/1/servers/29/databases/9"
 );
 
 const headers = {
@@ -2764,7 +2780,7 @@ 

{ "id": null, "server_id": null, - "name": "vandervort.emmalee", + "name": "walter.jacey", "status": "ready", "created_at": null, "updated_at": null @@ -2880,10 +2896,10 @@

URL Parameters

 
-

The ID of the database. Example: 11

+

The ID of the database. Example: 9

@@ -2901,7 +2917,7 @@

curl --request DELETE \
-    "https://your-vito-url/api/projects/1/servers/29/databases/5" \
+    "https://your-vito-url/api/projects/1/servers/29/databases/16" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -2909,7 +2925,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/databases/5';
+$url = 'https://your-vito-url/api/projects/1/servers/29/databases/16';
 $response = $client->delete(
     $url,
     [
@@ -2926,7 +2942,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/databases/5"
+    "https://your-vito-url/api/projects/1/servers/29/databases/16"
 );
 
 const headers = {
@@ -3059,10 +3075,10 @@ 

URL Parameters

 
-

The ID of the database. Example: 5

+

The ID of the database. Example: 16

@@ -3135,12 +3151,12 @@

@@ -3343,11 +3359,11 @@

{ "id": null, - "name": "in", + "name": "molestiae", "server_id": null, "type": "allow", "protocol": "tcp", - "port": 13253, - "source": "245.228.81.208", + "port": 26783, + "source": "190.202.255.27", "mask": 24, "note": "test", "status": null, @@ -3516,10 +3532,10 @@

Body Parameters

 
-

Example: autem

+

Example: voluptas

type   @@ -3527,10 +3543,10 @@

Body Parameters

 
-

Example: allow

+

Example: deny

Must be one of:
  • allow
  • deny
@@ -3540,10 +3556,10 @@

Body Parameters

 
-

Example: tcp

+

Example: udp

Must be one of:
  • tcp
  • udp
@@ -3553,10 +3569,10 @@

Body Parameters

 
-

Example: quas

+

Example: qui

source   @@ -3564,10 +3580,10 @@

Body Parameters

optional  
-

Example: blanditiis

+

Example: amet

mask   @@ -3601,11 +3617,11 @@

@@ -3623,11 +3639,11 @@

{ "id": null, - "name": "repudiandae", + "name": "labore", "server_id": null, "type": "allow", "protocol": "tcp", - "port": 44250, - "source": "243.200.88.169", + "port": 29044, + "source": "113.132.217.224", "mask": 24, "note": "test", "status": null, @@ -3807,10 +3823,10 @@

Body Parameters

 
-

Example: earum

+

Example: et

type   @@ -3844,10 +3860,10 @@

Body Parameters

 
-

Example: ab

+

Example: rerum

source   @@ -3855,10 +3871,10 @@

Body Parameters

optional  
-

Example: possimus

+

Example: sed

mask   @@ -3936,12 +3952,12 @@

{ "id": null, - "name": "quam", + "name": "ipsa", "server_id": null, "type": "allow", "protocol": "tcp", - "port": 62505, - "source": "73.254.77.244", + "port": 50679, + "source": "42.114.67.31", "mask": 24, "note": "test", "status": null, @@ -4311,7 +4327,7 @@

health-check

cache-control: no-cache, private
 content-type: application/json
 x-ratelimit-limit: 60
-x-ratelimit-remaining: 59
+x-ratelimit-remaining: 58
 access-control-allow-origin: *
  
 
@@ -4461,15 +4477,15 @@ 

list

"data": [ { "id": 3, - "name": "Amara Jaskolski", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "name": "Kattie Haley", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }, { "id": 4, - "name": "Christy Kohler", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "name": "Kailyn Kiehn", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" } ], "links": { @@ -4608,7 +4624,7 @@

create

--header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"name\": \"temporibus\" + \"name\": \"excepturi\" }"
@@ -4625,7 +4641,7 @@

create

'Accept' => 'application/json', ], 'json' => [ - 'name' => 'temporibus', + 'name' => 'excepturi', ], ] ); @@ -4645,7 +4661,7 @@

create

}; let body = { - "name": "temporibus" + "name": "excepturi" }; fetch(url, { @@ -4664,9 +4680,9 @@

create

{ "id": 3, - "name": "Prof. Enrico Wehner Sr.", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "name": "Dayne White", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }

@@ -4757,10 +4773,10 @@

Body Parameters

 
-

The name of the project. Example: temporibus

+

The name of the project. Example: excepturi

@@ -4827,9 +4843,9 @@

show

{ "id": 3, - "name": "Zoie Feest", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "name": "Cheyenne Ankunding III", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }

@@ -4946,7 +4962,7 @@

update

--header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"name\": \"sit\" + \"name\": \"mollitia\" }"

@@ -4963,7 +4979,7 @@

update

'Accept' => 'application/json', ], 'json' => [ - 'name' => 'sit', + 'name' => 'mollitia', ], ] ); @@ -4983,7 +4999,7 @@

update

}; let body = { - "name": "sit" + "name": "mollitia" }; fetch(url, { @@ -5002,9 +5018,9 @@

update

{ "id": 3, - "name": "Mr. Jayme Kuhlman DVM", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "name": "Susanna Stark", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }

@@ -5107,10 +5123,10 @@

Body Parameters

 
-

The name of the project. Example: sit

+

The name of the project. Example: mollitia

@@ -5268,6 +5284,669 @@

URL Parameters

data-component="url">

The ID of the project. Example: 1

+ + + +

redirects

+ + + +

index

+ +

+requires authentication +

+ +

Get all redirects.

+ + +
Example request:
+ + +
+
curl --request GET \
+    --get "https://your-vito-url/api/projects/1/servers/29/sites/11/redirects" \
+    --header "Authorization: Bearer YOUR-API-KEY" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/11/redirects';
+$response = $client->get(
+    $url,
+    [
+        'headers' => [
+            'Authorization' => 'Bearer YOUR-API-KEY',
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
const url = new URL(
+    "https://your-vito-url/api/projects/1/servers/29/sites/11/redirects"
+);
+
+const headers = {
+    "Authorization": "Bearer YOUR-API-KEY",
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "GET",
+    headers,
+}).then(response => response.json());
+ +
+ + +
+

Example response (200):

+
+
+
+{
+    "data": [
+        {
+            "id": null,
+            "site_id": null,
+            "mode": 301,
+            "from": "error",
+            "to": "https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi",
+            "status": "ready",
+            "created_at": null,
+            "updated_at": null
+        },
+        {
+            "id": null,
+            "site_id": null,
+            "mode": 301,
+            "from": "repellat",
+            "to": "http://gislason.biz/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html",
+            "status": "ready",
+            "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": "« Previous",
+                "active": false
+            },
+            {
+                "url": "/?page=1",
+                "label": "1",
+                "active": true
+            },
+            {
+                "url": null,
+                "label": "Next »",
+                "active": false
+            }
+        ],
+        "path": "/",
+        "per_page": 25,
+        "to": 2,
+        "total": 2
+    }
+}
+ 
+
+ + +
+

+ Request    + +    + +

+

+ GET + api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects +

+

Headers

+
+ Authorization   +  +   + +
+

Example: Bearer YOUR-API-KEY

+
+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ project_id   +integer  +   + +
+

The ID of the project. Example: 1

+
+
+ server_id   +integer  +   + +
+

The ID of the server. Example: 29

+
+
+ site_id   +integer  +   + +
+

The ID of the site. Example: 11

+
+
+ +

create

+ +

+requires authentication +

+ +

Create a new redirect.

+ + +
Example request:
+ + +
+
curl --request POST \
+    "https://your-vito-url/api/projects/1/servers/29/sites/11/redirects" \
+    --header "Authorization: Bearer YOUR-API-KEY" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json" \
+    --data "{
+    \"from\": \"vel\",
+    \"to\": \"ea\",
+    \"mode\": 307
+}"
+
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/11/redirects';
+$response = $client->post(
+    $url,
+    [
+        'headers' => [
+            'Authorization' => 'Bearer YOUR-API-KEY',
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+        'json' => [
+            'from' => 'vel',
+            'to' => 'ea',
+            'mode' => 307,
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
const url = new URL(
+    "https://your-vito-url/api/projects/1/servers/29/sites/11/redirects"
+);
+
+const headers = {
+    "Authorization": "Bearer YOUR-API-KEY",
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+let body = {
+    "from": "vel",
+    "to": "ea",
+    "mode": 307
+};
+
+fetch(url, {
+    method: "POST",
+    headers,
+    body: JSON.stringify(body),
+}).then(response => response.json());
+ +
+ + +
+

Example response (200):

+
+
+
+
+ 
+
+ + +
+

+ Request    + +    + +

+

+ POST + api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects +

+

Headers

+
+ Authorization   +  +   + +
+

Example: Bearer YOUR-API-KEY

+
+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ project_id   +integer  +   + +
+

The ID of the project. Example: 1

+
+
+ server_id   +integer  +   + +
+

The ID of the server. Example: 29

+
+
+ site_id   +integer  +   + +
+

The ID of the site. Example: 11

+
+

Body Parameters

+
+ from   +string  +   + +
+

Example: vel

+
+
+ to   +string  +   + +
+

Example: ea

+
+
+ mode   +string  +   + +
+

Example: 307

+Must be one of: +
  • 301
  • 302
  • 307
  • 308
+
+
+ +

delete

+ +

+requires authentication +

+ +

Delete a redirect.

+ + +
Example request:
+ + +
+
curl --request DELETE \
+    "https://your-vito-url/api/projects/1/servers/29/sites/11/redirects/9" \
+    --header "Authorization: Bearer YOUR-API-KEY" \
+    --header "Content-Type: application/json" \
+    --header "Accept: application/json"
+ + +
+
$client = new \GuzzleHttp\Client();
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/11/redirects/9';
+$response = $client->delete(
+    $url,
+    [
+        'headers' => [
+            'Authorization' => 'Bearer YOUR-API-KEY',
+            'Content-Type' => 'application/json',
+            'Accept' => 'application/json',
+        ],
+    ]
+);
+$body = $response->getBody();
+print_r(json_decode((string) $body));
+ + +
+
const url = new URL(
+    "https://your-vito-url/api/projects/1/servers/29/sites/11/redirects/9"
+);
+
+const headers = {
+    "Authorization": "Bearer YOUR-API-KEY",
+    "Content-Type": "application/json",
+    "Accept": "application/json",
+};
+
+fetch(url, {
+    method: "DELETE",
+    headers,
+}).then(response => response.json());
+ +
+ + +
+

Example response (204):

+
+
+Empty response
+ 
+
+ + +
+

+ Request    + +    + +

+

+ DELETE + api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects/{redirect_id} +

+

Headers

+
+ Authorization   +  +   + +
+

Example: Bearer YOUR-API-KEY

+
+
+ Content-Type   +  +   + +
+

Example: application/json

+
+
+ Accept   +  +   + +
+

Example: application/json

+
+

URL Parameters

+
+ project_id   +integer  +   + +
+

The ID of the project. Example: 1

+
+
+ server_id   +integer  +   + +
+

The ID of the server. Example: 29

+
+
+ site_id   +integer  +   + +
+

The ID of the site. Example: 11

+
+
+ redirect_id   +integer  +   + +
+

The ID of the redirect. Example: 9

@@ -5342,19 +6021,19 @@

list

create< --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"provider\": \"exercitationem\", - \"name\": \"similique\", - \"token\": \"nisi\", - \"key\": \"tempora\", - \"secret\": \"earum\" + \"provider\": \"mollitia\", + \"name\": \"adipisci\", + \"token\": \"animi\", + \"key\": \"provident\", + \"secret\": \"deserunt\" }"

@@ -5526,11 +6205,11 @@

create< 'Accept' => 'application/json', ], 'json' => [ - 'provider' => 'exercitationem', - 'name' => 'similique', - 'token' => 'nisi', - 'key' => 'tempora', - 'secret' => 'earum', + 'provider' => 'mollitia', + 'name' => 'adipisci', + 'token' => 'animi', + 'key' => 'provident', + 'secret' => 'deserunt', ], ] ); @@ -5550,11 +6229,11 @@

create< }; let body = { - "provider": "exercitationem", - "name": "similique", - "token": "nisi", - "key": "tempora", - "secret": "earum" + "provider": "mollitia", + "name": "adipisci", + "token": "animi", + "key": "provident", + "secret": "deserunt" }; fetch(url, { @@ -5575,10 +6254,10 @@

create< "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" + "name": "et", + "provider": "vultr", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }

@@ -5681,10 +6360,10 @@

Body Parameters

 
-

The provider (aws, linode, hetzner, digitalocean, vultr, ...) Example: exercitationem

+

The provider (aws, linode, hetzner, digitalocean, vultr, ...) Example: mollitia

name   @@ -5692,10 +6371,10 @@

Body Parameters

 
-

The name of the server provider. Example: similique

+

The name of the server provider. Example: adipisci

token   @@ -5703,10 +6382,10 @@

Body Parameters

 
-

The token if provider requires api token Example: nisi

+

The token if provider requires api token Example: animi

key   @@ -5714,10 +6393,10 @@

Body Parameters

 
-

The key if provider requires key Example: tempora

+

The key if provider requires key Example: provident

secret   @@ -5725,10 +6404,10 @@

Body Parameters

 
-

The secret if provider requires key Example: earum

+

The secret if provider requires key Example: deserunt

@@ -5797,10 +6476,10 @@

@@ -5946,7 +6625,7 @@

Body Parameters

 
-

The name of the server provider. Example: porro

+

The name of the server provider. Example: eveniet

global   @@ -6366,10 +7045,10 @@

list

"project_id": null, "user_id": null, "provider_id": null, - "name": "Prof. Wyatt Powlowski IV", + "name": "Consuelo Connelly", "ssh_user": "vito", - "ip": "33.53.217.82", - "local_ip": "227.155.11.76", + "ip": "80.154.83.232", + "local_ip": "45.31.117.65", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6393,10 +7072,10 @@

list

"project_id": null, "user_id": null, "provider_id": null, - "name": "Guiseppe D'Amore", + "name": "Rodolfo Fadel", "ssh_user": "vito", - "ip": "41.138.98.159", - "local_ip": "78.178.81.109", + "ip": "103.227.79.93", + "local_ip": "33.49.217.56", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6564,17 +7243,17 @@

create

--header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"provider\": \"vel\", + \"provider\": \"incidunt\", \"server_provider\": \"hetzner\", - \"region\": \"voluptatibus\", - \"plan\": \"ducimus\", - \"ip\": \"dolores\", - \"port\": \"ratione\", - \"name\": \"in\", - \"os\": \"cumque\", - \"webserver\": \"nginx\", - \"database\": \"mysql80\", - \"php\": \"7.4\" + \"region\": \"ut\", + \"plan\": \"ullam\", + \"ip\": \"architecto\", + \"port\": \"praesentium\", + \"name\": \"facere\", + \"os\": \"illo\", + \"webserver\": \"none\", + \"database\": \"none\", + \"php\": \"8.1\" }"

@@ -6591,17 +7270,17 @@

create

'Accept' => 'application/json', ], 'json' => [ - 'provider' => 'vel', + 'provider' => 'incidunt', 'server_provider' => 'hetzner', - 'region' => 'voluptatibus', - 'plan' => 'ducimus', - 'ip' => 'dolores', - 'port' => 'ratione', - 'name' => 'in', - 'os' => 'cumque', - 'webserver' => 'nginx', - 'database' => 'mysql80', - 'php' => '7.4', + 'region' => 'ut', + 'plan' => 'ullam', + 'ip' => 'architecto', + 'port' => 'praesentium', + 'name' => 'facere', + 'os' => 'illo', + 'webserver' => 'none', + 'database' => 'none', + 'php' => '8.1', ], ] ); @@ -6621,17 +7300,17 @@

create

}; let body = { - "provider": "vel", + "provider": "incidunt", "server_provider": "hetzner", - "region": "voluptatibus", - "plan": "ducimus", - "ip": "dolores", - "port": "ratione", - "name": "in", - "os": "cumque", - "webserver": "nginx", - "database": "mysql80", - "php": "7.4" + "region": "ut", + "plan": "ullam", + "ip": "architecto", + "port": "praesentium", + "name": "facere", + "os": "illo", + "webserver": "none", + "database": "none", + "php": "8.1" }; fetch(url, { @@ -6653,10 +7332,10 @@

create

"project_id": null, "user_id": null, "provider_id": null, - "name": "Anissa McDermott", + "name": "Herbert VonRueden", "ssh_user": "vito", - "ip": "212.15.34.173", - "local_ip": "142.201.95.242", + "ip": "91.154.105.143", + "local_ip": "62.75.177.7", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -6776,10 +7455,10 @@

Body Parameters

 
-

The server provider type Example: vel

+

The server provider type Example: incidunt

server_provider   @@ -6800,10 +7479,10 @@

Body Parameters

 
-

Provider region if the provider is not custom Example: voluptatibus

+

Provider region if the provider is not custom Example: ut

plan   @@ -6811,10 +7490,10 @@

Body Parameters

 
-

Provider plan if the provider is not custom Example: ducimus

+

Provider plan if the provider is not custom Example: ullam

ip   @@ -6822,10 +7501,10 @@

Body Parameters

 
-

SSH IP address if the provider is custom Example: dolores

+

SSH IP address if the provider is custom Example: architecto

port   @@ -6833,10 +7512,10 @@

Body Parameters

 
-

SSH Port if the provider is custom Example: ratione

+

SSH Port if the provider is custom Example: praesentium

name   @@ -6844,10 +7523,10 @@

Body Parameters

 
-

The name of the server. Example: in

+

The name of the server. Example: facere

os   @@ -6855,10 +7534,10 @@

Body Parameters

 
-

The os of the server Example: cumque

+

The os of the server Example: illo

webserver   @@ -6866,10 +7545,10 @@

Body Parameters

 
-

Web server Example: nginx

+

Web server Example: none

Must be one of:
  • none
  • nginx
@@ -6879,10 +7558,10 @@

Body Parameters

 
-

Database Example: mysql80

+

Database Example: none

Must be one of:
  • none
  • mysql57
  • mysql80
  • mariadb103
  • mariadb104
  • mariadb103
  • postgresql12
  • postgresql13
  • postgresql14
  • postgresql15
  • postgresql16
@@ -6892,10 +7571,10 @@

Body Parameters

 
-

PHP version Example: 7.4

+

PHP version Example: 8.1

Must be one of:
  • 7.0
  • 7.1
  • 7.2
  • 7.3
  • 7.4
  • 8.0
  • 8.1
  • 8.2
  • 8.3
@@ -6967,10 +7646,10 @@

show

"project_id": null, "user_id": null, "provider_id": null, - "name": "Prof. Newton Wintheiser Jr.", + "name": "Connie Simonis", "ssh_user": "vito", - "ip": "243.154.251.36", - "local_ip": "198.224.194.65", + "ip": "202.119.26.253", + "local_ip": "112.75.79.203", "port": 22, "os": "ubuntu_22", "type": "regular", @@ -9367,20 +10046,20 @@

create @@ -9397,20 +10076,20 @@

createcreateBody Parameters

 
-

Example: php-blank

+

Example: phpmyadmin

Must be one of:
  • php
  • php-blank
  • phpmyadmin
  • laravel
  • wordpress
  • load-balancer
@@ -9605,10 +10284,10 @@

Body Parameters

 
-

Example: harum

+

Example: tenetur

aliases   @@ -9651,10 +10330,10 @@

Body Parameters

 
-

Source control ID, Required for Sites which support source control Example: amet

+

Source control ID, Required for Sites which support source control Example: quasi

repository   @@ -9716,10 +10395,10 @@

Body Parameters

 
-

user, to isolate the website under a new user Example: et

+

user, to isolate the website under a new user Example: deleniti

method   @@ -9727,10 +10406,10 @@

Body Parameters

 
-

Load balancer method, Required if the site type is Load balancer Example: least-connections

+

Load balancer method, Required if the site type is Load balancer Example: round-robin

Must be one of:
  • round-robin
  • least-connections
  • ip-hash
@@ -9750,7 +10429,7 @@

show<
curl --request GET \
-    --get "https://your-vito-url/api/projects/1/servers/29/sites/43" \
+    --get "https://your-vito-url/api/projects/1/servers/29/sites/12" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -9758,7 +10437,7 @@

show<
$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/sites/43';
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/12';
 $response = $client->get(
     $url,
     [
@@ -9775,7 +10454,7 @@ 

show<
const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/sites/43"
+    "https://your-vito-url/api/projects/1/servers/29/sites/12"
 );
 
 const headers = {
@@ -9928,10 +10607,10 @@ 

URL Parameters

 
-

The ID of the site. Example: 43

+

The ID of the site. Example: 12

@@ -9949,7 +10628,7 @@

curl --request DELETE \
-    "https://your-vito-url/api/projects/1/servers/29/sites/43" \
+    "https://your-vito-url/api/projects/1/servers/29/sites/9" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"

@@ -9957,7 +10636,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/sites/43';
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/9';
 $response = $client->delete(
     $url,
     [
@@ -9974,7 +10653,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/sites/43"
+    "https://your-vito-url/api/projects/1/servers/29/sites/9"
 );
 
 const headers = {
@@ -10107,10 +10786,10 @@ 

URL Parameters

 
-

The ID of the site. Example: 43

+

The ID of the site. Example: 9

@@ -10128,14 +10807,14 @@

curl --request POST \
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/load-balancer" \
+    "https://your-vito-url/api/projects/1/servers/29/sites/19/load-balancer" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --data "{
     \"method\": \"ip-hash\",
     \"servers\": [
-        \"accusantium\"
+        \"dolores\"
     ]
 }"
 
@@ -10143,7 +10822,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/sites/43/load-balancer';
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/19/load-balancer';
 $response = $client->post(
     $url,
     [
@@ -10155,7 +10834,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/load-balancer"
+    "https://your-vito-url/api/projects/1/servers/29/sites/19/load-balancer"
 );
 
 const headers = {
@@ -10178,7 +10857,7 @@ 

URL Parameters

 
-

The ID of the site. Example: 43

+

The ID of the site. Example: 19

Body Parameters

@@ -10356,13 +11035,13 @@

curl --request PUT \
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/aliases" \
+    "https://your-vito-url/api/projects/1/servers/29/sites/16/aliases" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --data "{
     \"aliases\": [
-        \"ut\"
+        \"aut\"
     ]
 }"
 

@@ -10370,7 +11049,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/sites/43/aliases';
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/16/aliases';
 $response = $client->put(
     $url,
     [
@@ -10381,7 +11060,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/aliases"
+    "https://your-vito-url/api/projects/1/servers/29/sites/16/aliases"
 );
 
 const headers = {
@@ -10403,7 +11082,7 @@ 

URL Parameters

 
-

The ID of the site. Example: 43

+

The ID of the site. Example: 16

Body Parameters

@@ -10568,19 +11247,19 @@

curl --request PUT \
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/deployment-script" \
+    "https://your-vito-url/api/projects/1/servers/29/sites/3/deployment-script" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json" \
     --data "{
-    \"script\": \"culpa\"
+    \"script\": \"qui\"
 }"
 

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/sites/43/deployment-script';
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/3/deployment-script';
 $response = $client->put(
     $url,
     [
@@ -10590,7 +11269,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/deployment-script"
+    "https://your-vito-url/api/projects/1/servers/29/sites/3/deployment-script"
 );
 
 const headers = {
@@ -10610,7 +11289,7 @@ 

URL Parameters

 
-

The ID of the site. Example: 43

+

The ID of the site. Example: 3

Body Parameters

@@ -10750,10 +11429,10 @@

Body Parameters

 
-

Content of the deployment script Example: culpa

+

Content of the deployment script Example: qui

@@ -10771,7 +11450,7 @@

curl --request GET \
-    --get "https://your-vito-url/api/projects/1/servers/29/sites/43/deployment-script" \
+    --get "https://your-vito-url/api/projects/1/servers/29/sites/16/deployment-script" \
     --header "Authorization: Bearer YOUR-API-KEY" \
     --header "Content-Type: application/json" \
     --header "Accept: application/json"
@@ -10779,7 +11458,7 @@

$client = new \GuzzleHttp\Client();
-$url = 'https://your-vito-url/api/projects/1/servers/29/sites/43/deployment-script';
+$url = 'https://your-vito-url/api/projects/1/servers/29/sites/16/deployment-script';
 $response = $client->get(
     $url,
     [
@@ -10796,7 +11475,7 @@ 

const url = new URL(
-    "https://your-vito-url/api/projects/1/servers/29/sites/43/deployment-script"
+    "https://your-vito-url/api/projects/1/servers/29/sites/16/deployment-script"
 );
 
 const headers = {
@@ -10930,10 +11609,10 @@ 

URL Parameters

 
-

The ID of the site. Example: 43

+

The ID of the site. Example: 16

@@ -11008,19 +11687,19 @@

list

"id": 5, "project_id": null, "global": true, - "name": "Amya Jones", + "name": "Emil Leannon", "provider": "github", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }, { "id": 6, "project_id": null, "global": true, - "name": "Jerry Donnelly", + "name": "Eleazar Pacocha Sr.", "provider": "github", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" } ], "links": { @@ -11171,12 +11850,12 @@

create

@@ -11193,12 +11872,12 @@

createcreatecreate

@@ -11350,10 +12029,10 @@

Body Parameters

 
-

The provider Example: bitbucket

+

The provider Example: github

Must be one of:
  • gitlab
  • github
  • bitbucket
@@ -11363,10 +12042,10 @@

Body Parameters

 
-

The name of the storage provider. Example: eligendi

+

The name of the storage provider. Example: aliquam

token   @@ -11374,10 +12053,10 @@

Body Parameters

 
-

The token if provider requires api token Example: debitis

+

The token if provider requires api token Example: voluptatem

url   @@ -11385,10 +12064,10 @@

Body Parameters

 
-

The URL if the provider is Gitlab and it is self-hosted Example: http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum

+

The URL if the provider is Gitlab and it is self-hosted Example: https://brown.org/placeat-optio-illum-eius-ipsa.html

username   @@ -11396,10 +12075,10 @@

Body Parameters

 
-

The username if the provider is Bitbucket Example: rerum

+

The username if the provider is Bitbucket Example: a

password   @@ -11407,10 +12086,10 @@

Body Parameters

 
-

The password if the provider is Bitbucket Example: wBK}NHxV:x

+

The password if the provider is Bitbucket Example: _/_,9'/6z;9

@@ -11479,10 +12158,10 @@

@@ -11632,11 +12311,11 @@

Body Parameters

 
-

The name of the storage provider. Example: blanditiis

+

The name of the storage provider. Example: laudantium

token   @@ -11811,10 +12490,10 @@

Body Parameters

 
-

The token if provider requires api token Example: non

+

The token if provider requires api token Example: nulla

url   @@ -11822,10 +12501,10 @@

Body Parameters

 
-

The URL if the provider is Gitlab and it is self-hosted Example: https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam

+

The URL if the provider is Gitlab and it is self-hosted Example: http://wiza.com/

username   @@ -11833,10 +12512,10 @@

Body Parameters

 
-

The username if the provider is Bitbucket Example: porro

+

The username if the provider is Bitbucket Example: numquam

password   @@ -11844,10 +12523,10 @@

Body Parameters

 
-

The password if the provider is Bitbucket Example: >BW~{#d,}=U!XxC!t]`

+

The password if the provider is Bitbucket Example: MlD,$m:8^A

global   @@ -12102,14 +12781,14 @@

list { "id": null, "user": null, - "name": "Dr. Virgie Reilly", + "name": "Dr. Pansy Kunde DVM", "created_at": null, "updated_at": null }, { "id": null, "user": null, - "name": "Horace Gutmann", + "name": "Ms. Maximillia DuBuque Sr.", "created_at": null, "updated_at": null } @@ -12273,9 +12952,9 @@

cre --header "Content-Type: application/json" \ --header "Accept: application/json" \ --data "{ - \"key_id\": \"et\", - \"name\": \"provident\", - \"public_key\": \"incidunt\" + \"key_id\": \"debitis\", + \"name\": \"illum\", + \"public_key\": \"dignissimos\" }"

@@ -12292,9 +12971,9 @@

cre 'Accept' => 'application/json', ], 'json' => [ - 'key_id' => 'et', - 'name' => 'provident', - 'public_key' => 'incidunt', + 'key_id' => 'debitis', + 'name' => 'illum', + 'public_key' => 'dignissimos', ], ] ); @@ -12314,9 +12993,9 @@

cre }; let body = { - "key_id": "et", - "name": "provident", - "public_key": "incidunt" + "key_id": "debitis", + "name": "illum", + "public_key": "dignissimos" }; fetch(url, { @@ -12336,7 +13015,7 @@

cre { "id": null, "user": null, - "name": "Miss Penelope Sipes IV", + "name": "Uriah Harvey", "created_at": null, "updated_at": null } @@ -12452,10 +13131,10 @@

Body Parameters

 
-

The ID of the key. Example: et

+

The ID of the key. Example: debitis

name   @@ -12463,10 +13142,10 @@

Body Parameters

 
-

Key name, required if key_id is not provided. Example: provident

+

Key name, required if key_id is not provided. Example: illum

public_key   @@ -12474,10 +13153,10 @@

Body Parameters

 
-

Public Key, required if key_id is not provided. Example: incidunt

+

Public Key, required if key_id is not provided. Example: dignissimos

@@ -12731,19 +13410,19 @@

listcreat --header "Accept: application/json" \ --data "{ \"provider\": \"est\", - \"name\": \"id\", - \"token\": \"repellendus\", - \"key\": \"ducimus\", - \"secret\": \"possimus\" + \"name\": \"voluptatem\", + \"token\": \"delectus\", + \"key\": \"natus\", + \"secret\": \"saepe\" }"

@@ -12916,10 +13595,10 @@

creat ], 'json' => [ 'provider' => 'est', - 'name' => 'id', - 'token' => 'repellendus', - 'key' => 'ducimus', - 'secret' => 'possimus', + 'name' => 'voluptatem', + 'token' => 'delectus', + 'key' => 'natus', + 'secret' => 'saepe', ], ] ); @@ -12940,10 +13619,10 @@

creat let body = { "provider": "est", - "name": "id", - "token": "repellendus", - "key": "ducimus", - "secret": "possimus" + "name": "voluptatem", + "token": "delectus", + "key": "natus", + "secret": "saepe" }; fetch(url, { @@ -12964,10 +13643,10 @@

creat "id": 5, "project_id": null, "global": true, - "name": "sequi", - "provider": "dropbox", - "created_at": "2025-03-29T20:43:56.000000Z", - "updated_at": "2025-03-29T20:43:56.000000Z" + "name": "omnis", + "provider": "local", + "created_at": "2025-03-31T15:27:17.000000Z", + "updated_at": "2025-03-31T15:27:17.000000Z" }

@@ -13081,10 +13760,10 @@

Body Parameters

 
-

The name of the storage provider. Example: id

+

The name of the storage provider. Example: voluptatem

token   @@ -13092,10 +13771,10 @@

Body Parameters

 
-

The token if provider requires api token Example: repellendus

+

The token if provider requires api token Example: delectus

key   @@ -13103,10 +13782,10 @@

Body Parameters

 
-

The key if provider requires key Example: ducimus

+

The key if provider requires key Example: natus

secret   @@ -13114,10 +13793,10 @@

Body Parameters

 
-

The secret if provider requires key Example: possimus

+

The secret if provider requires key Example: saepe

@@ -13186,10 +13865,10 @@

@@ -13335,7 +14014,7 @@

Body Parameters

 
-

The name of the storage provider. Example: ullam

+

The name of the storage provider. Example: exercitationem

global   diff --git a/public/api-docs/openapi.yaml b/public/api-docs/openapi.yaml index f99dcf0..00a57f2 100644 --- a/public/api-docs/openapi.yaml +++ b/public/api-docs/openapi.yaml @@ -241,12 +241,12 @@ paths: command: type: string description: '' - example: qui + example: sit nullable: false user: type: string description: '' - example: vito + example: root nullable: false enum: - root @@ -357,7 +357,7 @@ paths: in: path name: cronJob_id description: 'The ID of the cronJob.' - example: 17 + example: 13 required: true schema: type: integer @@ -379,7 +379,7 @@ paths: - id: null server_id: null - username: lehner.eloy + username: imurray databases: [] host: '%' status: null @@ -388,7 +388,7 @@ paths: - id: null server_id: null - username: rlowe + username: raleigh.heidenreich databases: [] host: '%' status: null @@ -427,7 +427,7 @@ paths: - id: null server_id: null - username: lehner.eloy + username: imurray databases: [] host: '%' status: null @@ -436,7 +436,7 @@ paths: - id: null server_id: null - username: rlowe + username: raleigh.heidenreich databases: [] host: '%' status: null @@ -453,7 +453,7 @@ paths: example: null username: type: string - example: lehner.eloy + example: imurray databases: type: array example: [] @@ -552,7 +552,7 @@ paths: example: id: null server_id: null - username: fahey.joseph + username: kbernhard databases: [] host: '%' status: null @@ -567,7 +567,7 @@ paths: example: null username: type: string - example: fahey.joseph + example: kbernhard databases: type: array example: [] @@ -595,12 +595,12 @@ paths: username: type: string description: '' - example: voluptas + example: ut nullable: false password: type: string description: '' - example: ':D+e=/;H,' + example: "L&1)4X-w>&T=:'Y2#x" nullable: false host: type: string @@ -644,7 +644,7 @@ paths: example: id: null server_id: null - username: szboncak + username: lavada.casper databases: [] host: '%' status: null @@ -659,7 +659,7 @@ paths: example: null username: type: string - example: szboncak + example: lavada.casper databases: type: array example: [] @@ -708,7 +708,7 @@ paths: in: path name: databaseUser_id description: 'The ID of the databaseUser.' - example: 19 + example: 8 required: true schema: type: integer @@ -728,7 +728,7 @@ paths: example: id: null server_id: null - username: smith.liliana + username: ojerde databases: [] host: '%' status: null @@ -743,7 +743,7 @@ paths: example: null username: type: string - example: smith.liliana + example: ojerde databases: type: array example: [] @@ -771,7 +771,7 @@ paths: databases: type: string description: 'Array of database names to link to the user.' - example: accusantium + example: laboriosam nullable: false required: - databases @@ -796,7 +796,7 @@ paths: in: path name: databaseUser_id description: 'The ID of the databaseUser.' - example: 11 + example: 3 required: true schema: type: integer @@ -818,14 +818,14 @@ paths: - id: null server_id: null - name: joyce53 + name: fkrajcik status: ready created_at: null updated_at: null - id: null server_id: null - name: eric55 + name: critchie status: ready created_at: null updated_at: null @@ -862,14 +862,14 @@ paths: - id: null server_id: null - name: joyce53 + name: fkrajcik status: ready created_at: null updated_at: null - id: null server_id: null - name: eric55 + name: critchie status: ready created_at: null updated_at: null @@ -884,7 +884,7 @@ paths: example: null name: type: string - example: joyce53 + example: fkrajcik status: type: string example: ready @@ -977,7 +977,7 @@ paths: example: id: null server_id: null - name: brekke.isabell + name: cory33 status: ready created_at: null updated_at: null @@ -990,7 +990,7 @@ paths: example: null name: type: string - example: brekke.isabell + example: cory33 status: type: string example: ready @@ -1012,17 +1012,17 @@ paths: name: type: string description: '' - example: debitis + example: esse nullable: false charset: type: string description: '' - example: maxime + example: ut nullable: false collation: type: string description: '' - example: sed + example: labore nullable: false required: - name @@ -1061,7 +1061,7 @@ paths: example: id: null server_id: null - name: vandervort.emmalee + name: walter.jacey status: ready created_at: null updated_at: null @@ -1074,7 +1074,7 @@ paths: example: null name: type: string - example: vandervort.emmalee + example: walter.jacey status: type: string example: ready @@ -1107,7 +1107,7 @@ paths: in: path name: id description: 'The ID of the database.' - example: 11 + example: 9 required: true schema: type: integer @@ -1143,7 +1143,7 @@ paths: in: path name: database_id description: 'The ID of the database.' - example: 5 + example: 16 required: true schema: type: integer @@ -1164,12 +1164,12 @@ paths: data: - id: null - name: ea + name: optio server_id: null type: allow protocol: tcp - port: 41910 - source: 202.183.211.242 + port: 52674 + source: 142.10.115.135 mask: 24 note: test status: null @@ -1177,12 +1177,12 @@ paths: updated_at: null - id: null - name: iusto + name: dolores server_id: null type: allow protocol: tcp - port: 60689 - source: 227.149.61.57 + port: 34607 + source: 20.175.64.76 mask: 24 note: test status: null @@ -1220,12 +1220,12 @@ paths: example: - id: null - name: ea + name: optio server_id: null type: allow protocol: tcp - port: 41910 - source: 202.183.211.242 + port: 52674 + source: 142.10.115.135 mask: 24 note: test status: null @@ -1233,12 +1233,12 @@ paths: updated_at: null - id: null - name: iusto + name: dolores server_id: null type: allow protocol: tcp - port: 60689 - source: 227.149.61.57 + port: 34607 + source: 20.175.64.76 mask: 24 note: test status: null @@ -1252,7 +1252,7 @@ paths: example: null name: type: string - example: ea + example: optio server_id: type: string example: null @@ -1264,10 +1264,10 @@ paths: example: tcp port: type: integer - example: 41910 + example: 52674 source: type: string - example: 202.183.211.242 + example: 142.10.115.135 mask: type: integer example: 24 @@ -1365,12 +1365,12 @@ paths: type: object example: id: null - name: in + name: molestiae server_id: null type: allow protocol: tcp - port: 13253 - source: 245.228.81.208 + port: 26783 + source: 190.202.255.27 mask: 24 note: test status: null @@ -1382,7 +1382,7 @@ paths: example: null name: type: string - example: in + example: molestiae server_id: type: string example: null @@ -1394,10 +1394,10 @@ paths: example: tcp port: type: integer - example: 13253 + example: 26783 source: type: string - example: 245.228.81.208 + example: 190.202.255.27 mask: type: integer example: 24 @@ -1425,12 +1425,12 @@ paths: name: type: string description: '' - example: autem + example: voluptas nullable: false type: type: string description: '' - example: allow + example: deny nullable: false enum: - allow @@ -1438,7 +1438,7 @@ paths: protocol: type: string description: '' - example: tcp + example: udp nullable: false enum: - tcp @@ -1446,12 +1446,12 @@ paths: port: type: string description: '' - example: quas + example: qui nullable: false source: type: string description: '' - example: blanditiis + example: amet nullable: false mask: type: string @@ -1496,12 +1496,12 @@ paths: type: object example: id: null - name: repudiandae + name: labore server_id: null type: allow protocol: tcp - port: 44250 - source: 243.200.88.169 + port: 29044 + source: 113.132.217.224 mask: 24 note: test status: null @@ -1513,7 +1513,7 @@ paths: example: null name: type: string - example: repudiandae + example: labore server_id: type: string example: null @@ -1525,10 +1525,10 @@ paths: example: tcp port: type: integer - example: 44250 + example: 29044 source: type: string - example: 243.200.88.169 + example: 113.132.217.224 mask: type: integer example: 24 @@ -1556,7 +1556,7 @@ paths: name: type: string description: '' - example: earum + example: et nullable: false type: type: string @@ -1577,12 +1577,12 @@ paths: port: type: string description: '' - example: ab + example: rerum nullable: false source: type: string description: '' - example: possimus + example: sed nullable: false mask: type: string @@ -1609,12 +1609,12 @@ paths: type: object example: id: null - name: quam + name: ipsa server_id: null type: allow protocol: tcp - port: 62505 - source: 73.254.77.244 + port: 50679 + source: 42.114.67.31 mask: 24 note: test status: null @@ -1626,7 +1626,7 @@ paths: example: null name: type: string - example: quam + example: ipsa server_id: type: string example: null @@ -1638,10 +1638,10 @@ paths: example: tcp port: type: integer - example: 62505 + example: 50679 source: type: string - example: 73.254.77.244 + example: 42.114.67.31 mask: type: integer example: 24 @@ -1737,14 +1737,14 @@ paths: data: - id: 3 - name: 'Amara Jaskolski' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Kattie Haley' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' - id: 4 - name: 'Christy Kohler' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Kailyn Kiehn' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -1777,14 +1777,14 @@ paths: example: - id: 3 - name: 'Amara Jaskolski' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Kattie Haley' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' - id: 4 - name: 'Christy Kohler' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Kailyn Kiehn' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' items: type: object properties: @@ -1793,13 +1793,13 @@ paths: example: 3 name: type: string - example: 'Amara Jaskolski' + example: 'Kattie Haley' created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' links: type: object properties: @@ -1882,22 +1882,22 @@ paths: type: object example: id: 3 - name: 'Prof. Enrico Wehner Sr.' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Dayne White' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer example: 3 name: type: string - example: 'Prof. Enrico Wehner Sr.' + example: 'Dayne White' created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - projects requestBody: @@ -1910,7 +1910,7 @@ paths: name: type: string description: 'The name of the project.' - example: temporibus + example: excepturi nullable: false required: - name @@ -1929,22 +1929,22 @@ paths: type: object example: id: 3 - name: 'Zoie Feest' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Cheyenne Ankunding III' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer example: 3 name: type: string - example: 'Zoie Feest' + example: 'Cheyenne Ankunding III' created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - projects put: @@ -1961,22 +1961,22 @@ paths: type: object example: id: 3 - name: 'Mr. Jayme Kuhlman DVM' - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: 'Susanna Stark' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer example: 3 name: type: string - example: 'Mr. Jayme Kuhlman DVM' + example: 'Susanna Stark' created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - projects requestBody: @@ -1989,7 +1989,7 @@ paths: name: type: string description: 'The name of the project.' - example: sit + example: mollitia nullable: false required: - name @@ -2022,6 +2022,297 @@ paths: required: true schema: type: integer + '/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects': + get: + summary: index + operationId: index + description: 'Get all redirects.' + parameters: [] + responses: + 200: + description: '' + content: + application/json: + schema: + type: object + example: + data: + - + id: null + site_id: null + mode: 301 + from: error + to: 'https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi' + status: ready + created_at: null + updated_at: null + - + id: null + site_id: null + mode: 301 + from: repellat + to: 'http://gislason.biz/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html' + status: ready + 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: '« Previous' + active: false + - + url: '/?page=1' + label: '1' + active: true + - + url: null + label: 'Next »' + active: false + path: / + per_page: 25 + to: 2 + total: 2 + properties: + data: + type: array + example: + - + id: null + site_id: null + mode: 301 + from: error + to: 'https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi' + status: ready + created_at: null + updated_at: null + - + id: null + site_id: null + mode: 301 + from: repellat + to: 'http://gislason.biz/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html' + status: ready + created_at: null + updated_at: null + items: + type: object + properties: + id: + type: string + example: null + site_id: + type: string + example: null + mode: + type: integer + example: 301 + from: + type: string + example: error + to: + type: string + example: 'https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi' + status: + type: string + example: ready + created_at: + type: string + example: null + updated_at: + type: string + example: null + links: + type: object + properties: + first: + type: string + example: '/?page=1' + last: + type: string + example: '/?page=1' + prev: + type: string + example: null + next: + type: string + example: null + meta: + type: object + properties: + current_page: + type: integer + example: 1 + from: + type: integer + example: 1 + last_page: + type: integer + example: 1 + links: + type: array + example: + - + url: null + label: '« Previous' + active: false + - + url: '/?page=1' + label: '1' + active: true + - + url: null + label: 'Next »' + active: false + items: + type: object + properties: + url: + type: string + example: null + label: + type: string + example: '« Previous' + active: + type: boolean + example: false + path: + type: string + example: / + per_page: + type: integer + example: 25 + to: + type: integer + example: 2 + total: + type: integer + example: 2 + tags: + - redirects + post: + summary: create + operationId: create + description: 'Create a new redirect.' + parameters: [] + responses: + 200: + description: '' + content: + application/json: + schema: + type: object + nullable: true + tags: + - redirects + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + from: + type: string + description: '' + example: vel + nullable: false + to: + type: string + description: '' + example: ea + nullable: false + mode: + type: string + description: '' + example: 307 + nullable: false + enum: + - 301 + - 302 + - 307 + - 308 + required: + - from + - to + - mode + parameters: + - + in: path + name: project_id + description: 'The ID of the project.' + example: 1 + required: true + schema: + type: integer + - + in: path + name: server_id + description: 'The ID of the server.' + example: 29 + required: true + schema: + type: integer + - + in: path + name: site_id + description: 'The ID of the site.' + example: 11 + required: true + schema: + type: integer + '/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects/{redirect_id}': + delete: + summary: delete + operationId: delete + description: 'Delete a redirect.' + parameters: [] + responses: + 204: + description: '' + tags: + - redirects + parameters: + - + in: path + name: project_id + description: 'The ID of the project.' + example: 1 + required: true + schema: + type: integer + - + in: path + name: server_id + description: 'The ID of the server.' + example: 29 + required: true + schema: + type: integer + - + in: path + name: site_id + description: 'The ID of the site.' + example: 11 + required: true + schema: + type: integer + - + in: path + name: redirect_id + description: 'The ID of the redirect.' + example: 9 + required: true + schema: + type: integer '/api/projects/{project_id}/server-providers': get: summary: list @@ -2041,18 +2332,18 @@ paths: 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' + name: id + provider: custom + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.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' + name: culpa + provider: linode + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -2087,18 +2378,18 @@ paths: 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' + name: id + provider: custom + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.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' + name: culpa + provider: linode + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' items: type: object properties: @@ -2113,16 +2404,16 @@ paths: example: true name: type: string - example: quaerat + example: id provider: type: string - example: aws + example: custom created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' links: type: object properties: @@ -2207,10 +2498,10 @@ paths: 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' + name: et + provider: vultr + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -2223,16 +2514,16 @@ paths: example: true name: type: string - example: iure + example: et provider: type: string - example: hetzner + example: vultr created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - server-providers requestBody: @@ -2245,27 +2536,27 @@ paths: provider: type: string description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)' - example: exercitationem + example: mollitia nullable: false name: type: string description: 'The name of the server provider.' - example: similique + example: adipisci nullable: false token: type: string description: 'The token if provider requires api token' - example: nisi + example: animi nullable: false key: type: string description: 'The key if provider requires key' - example: tempora + example: provident nullable: false secret: type: string description: 'The secret if provider requires key' - example: earum + example: deserunt nullable: false required: - provider @@ -2299,10 +2590,10 @@ paths: 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' + name: ab + provider: digitalocean + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -2315,16 +2606,16 @@ paths: example: true name: type: string - example: et + example: ab provider: type: string - example: vultr + example: digitalocean created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - server-providers put: @@ -2343,10 +2634,10 @@ paths: 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' + name: expedita + provider: aws + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -2359,16 +2650,16 @@ paths: example: true name: type: string - example: aliquam + example: expedita provider: type: string - example: hetzner + example: aws created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - server-providers requestBody: @@ -2381,7 +2672,7 @@ paths: name: type: string description: 'The name of the server provider.' - example: porro + example: eveniet nullable: false global: type: string @@ -2441,10 +2732,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Prof. Wyatt Powlowski IV' + name: 'Consuelo Connelly' ssh_user: vito - ip: 33.53.217.82 - local_ip: 227.155.11.76 + ip: 80.154.83.232 + local_ip: 45.31.117.65 port: 22 os: ubuntu_22 type: regular @@ -2467,10 +2758,10 @@ paths: project_id: null user_id: null provider_id: null - name: "Guiseppe D'Amore" + name: 'Rodolfo Fadel' ssh_user: vito - ip: 41.138.98.159 - local_ip: 78.178.81.109 + ip: 103.227.79.93 + local_ip: 33.49.217.56 port: 22 os: ubuntu_22 type: regular @@ -2523,10 +2814,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Prof. Wyatt Powlowski IV' + name: 'Consuelo Connelly' ssh_user: vito - ip: 33.53.217.82 - local_ip: 227.155.11.76 + ip: 80.154.83.232 + local_ip: 45.31.117.65 port: 22 os: ubuntu_22 type: regular @@ -2549,10 +2840,10 @@ paths: project_id: null user_id: null provider_id: null - name: "Guiseppe D'Amore" + name: 'Rodolfo Fadel' ssh_user: vito - ip: 41.138.98.159 - local_ip: 78.178.81.109 + ip: 103.227.79.93 + local_ip: 33.49.217.56 port: 22 os: ubuntu_22 type: regular @@ -2587,16 +2878,16 @@ paths: example: null name: type: string - example: 'Prof. Wyatt Powlowski IV' + example: 'Consuelo Connelly' ssh_user: type: string example: vito ip: type: string - example: 33.53.217.82 + example: 80.154.83.232 local_ip: type: string - example: 227.155.11.76 + example: 45.31.117.65 port: type: integer example: 22 @@ -2733,10 +3024,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Anissa McDermott' + name: 'Herbert VonRueden' ssh_user: vito - ip: 212.15.34.173 - local_ip: 142.201.95.242 + ip: 91.154.105.143 + local_ip: 62.75.177.7 port: 22 os: ubuntu_22 type: regular @@ -2769,16 +3060,16 @@ paths: example: null name: type: string - example: 'Anissa McDermott' + example: 'Herbert VonRueden' ssh_user: type: string example: vito ip: type: string - example: 212.15.34.173 + example: 91.154.105.143 local_ip: type: string - example: 142.201.95.242 + example: 62.75.177.7 port: type: integer example: 22 @@ -2842,7 +3133,7 @@ paths: provider: type: string description: 'The server provider type' - example: vel + example: incidunt nullable: false server_provider: type: string @@ -2858,37 +3149,37 @@ paths: region: type: string description: 'Provider region if the provider is not custom' - example: voluptatibus + example: ut nullable: false plan: type: string description: 'Provider plan if the provider is not custom' - example: ducimus + example: ullam nullable: false ip: type: string description: 'SSH IP address if the provider is custom' - example: dolores + example: architecto nullable: false port: type: string description: 'SSH Port if the provider is custom' - example: ratione + example: praesentium nullable: false name: type: string description: 'The name of the server.' - example: in + example: facere nullable: false os: type: string description: 'The os of the server' - example: cumque + example: illo nullable: false webserver: type: string description: 'Web server' - example: nginx + example: none nullable: false enum: - none @@ -2896,7 +3187,7 @@ paths: database: type: string description: Database - example: mysql80 + example: none nullable: false enum: - none @@ -2913,7 +3204,7 @@ paths: php: type: string description: 'PHP version' - example: '7.4' + example: '8.1' nullable: false enum: - '7.0' @@ -2964,10 +3255,10 @@ paths: project_id: null user_id: null provider_id: null - name: 'Prof. Newton Wintheiser Jr.' + name: 'Connie Simonis' ssh_user: vito - ip: 243.154.251.36 - local_ip: 198.224.194.65 + ip: 202.119.26.253 + local_ip: 112.75.79.203 port: 22 os: ubuntu_22 type: regular @@ -3000,16 +3291,16 @@ paths: example: null name: type: string - example: 'Prof. Newton Wintheiser Jr.' + example: 'Connie Simonis' ssh_user: type: string example: vito ip: type: string - example: 243.154.251.36 + example: 202.119.26.253 local_ip: type: string - example: 198.224.194.65 + example: 112.75.79.203 port: type: integer example: 22 @@ -4024,7 +4315,7 @@ paths: type: type: string description: '' - example: php-blank + example: phpmyadmin nullable: false enum: - php @@ -4036,13 +4327,13 @@ paths: domain: type: string description: '' - example: harum + example: tenetur nullable: false aliases: type: array description: '' example: - - voluptatem + - aut items: type: string php_version: @@ -4058,7 +4349,7 @@ paths: source_control: type: string description: 'Source control ID, Required for Sites which support source control' - example: amet + example: quasi nullable: false repository: type: string @@ -4083,12 +4374,12 @@ paths: user: type: string description: 'user, to isolate the website under a new user' - example: et + example: deleniti nullable: false method: type: string description: 'Load balancer method, Required if the site type is Load balancer' - example: least-connections + example: round-robin nullable: false enum: - round-robin @@ -4234,7 +4525,7 @@ paths: in: path name: id description: 'The ID of the site.' - example: 43 + example: 12 required: true schema: type: integer @@ -4270,7 +4561,7 @@ paths: in: path name: site_id description: 'The ID of the site.' - example: 43 + example: 9 required: true schema: type: integer @@ -4310,7 +4601,7 @@ paths: type: array description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)' example: - - accusantium + - dolores items: type: string required: @@ -4337,7 +4628,7 @@ paths: in: path name: site_id description: 'The ID of the site.' - example: 43 + example: 19 required: true schema: type: integer @@ -4368,7 +4659,7 @@ paths: type: array description: 'Array of aliases' example: - - ut + - aut items: type: string required: @@ -4394,7 +4685,7 @@ paths: in: path name: site_id description: 'The ID of the site.' - example: 43 + example: 16 required: true schema: type: integer @@ -4419,7 +4710,7 @@ paths: script: type: string description: 'Content of the deployment script' - example: culpa + example: qui nullable: false required: - script @@ -4459,7 +4750,7 @@ paths: in: path name: site_id description: 'The ID of the site.' - example: 43 + example: 3 required: true schema: type: integer @@ -4482,18 +4773,18 @@ paths: id: 5 project_id: null global: true - name: 'Amya Jones' + name: 'Emil Leannon' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' - id: 6 project_id: null global: true - name: 'Jerry Donnelly' + name: 'Eleazar Pacocha Sr.' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -4528,18 +4819,18 @@ paths: id: 5 project_id: null global: true - name: 'Amya Jones' + name: 'Emil Leannon' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' - id: 6 project_id: null global: true - name: 'Jerry Donnelly' + name: 'Eleazar Pacocha Sr.' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' items: type: object properties: @@ -4554,16 +4845,16 @@ paths: example: true name: type: string - example: 'Amya Jones' + example: 'Emil Leannon' provider: type: string example: github created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' links: type: object properties: @@ -4648,10 +4939,10 @@ paths: id: 5 project_id: null global: true - name: 'Dr. Janae Tremblay PhD' + name: 'Ahmad Kulas' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -4664,16 +4955,16 @@ paths: example: true name: type: string - example: 'Dr. Janae Tremblay PhD' + example: 'Ahmad Kulas' provider: type: string example: github created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - source-controls requestBody: @@ -4686,7 +4977,7 @@ paths: provider: type: string description: 'The provider' - example: bitbucket + example: github nullable: false enum: - gitlab @@ -4695,27 +4986,27 @@ paths: name: type: string description: 'The name of the storage provider.' - example: eligendi + example: aliquam nullable: false token: type: string description: 'The token if provider requires api token' - example: debitis + example: voluptatem nullable: false url: type: string description: 'The URL if the provider is Gitlab and it is self-hosted' - example: 'http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum' + example: 'https://brown.org/placeat-optio-illum-eius-ipsa.html' nullable: false username: type: string description: 'The username if the provider is Bitbucket' - example: rerum + example: a nullable: false password: type: string description: 'The password if the provider is Bitbucket' - example: 'wBK}NHxV:x' + example: "_/_,9'/6z;9" nullable: false required: - provider @@ -4750,10 +5041,10 @@ paths: id: 5 project_id: null global: true - name: 'Marguerite Aufderhar' + name: 'Mr. Marquis Kunde IV' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -4766,16 +5057,16 @@ paths: example: true name: type: string - example: 'Marguerite Aufderhar' + example: 'Mr. Marquis Kunde IV' provider: type: string example: github created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - source-controls put: @@ -4794,10 +5085,10 @@ paths: id: 5 project_id: null global: true - name: 'Johan Crooks' + name: 'Mrs. Arvilla Mitchell' provider: github - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -4810,16 +5101,16 @@ paths: example: true name: type: string - example: 'Johan Crooks' + example: 'Mrs. Arvilla Mitchell' provider: type: string example: github created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - source-controls requestBody: @@ -4832,27 +5123,27 @@ paths: name: type: string description: 'The name of the storage provider.' - example: blanditiis + example: laudantium nullable: false token: type: string description: 'The token if provider requires api token' - example: non + example: nulla nullable: false url: type: string description: 'The URL if the provider is Gitlab and it is self-hosted' - example: 'https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam' + example: 'http://wiza.com/' nullable: false username: type: string description: 'The username if the provider is Bitbucket' - example: porro + example: numquam nullable: false password: type: string description: 'The password if the provider is Bitbucket' - example: '>BW~{`#d,}=U!XxC!t]' + example: 'MlD,$m:8^A' nullable: false global: type: string @@ -4914,13 +5205,13 @@ paths: - id: null user: null - name: 'Dr. Virgie Reilly' + name: 'Dr. Pansy Kunde DVM' created_at: null updated_at: null - id: null user: null - name: 'Horace Gutmann' + name: 'Ms. Maximillia DuBuque Sr.' created_at: null updated_at: null links: @@ -4956,13 +5247,13 @@ paths: - id: null user: null - name: 'Dr. Virgie Reilly' + name: 'Dr. Pansy Kunde DVM' created_at: null updated_at: null - id: null user: null - name: 'Horace Gutmann' + name: 'Ms. Maximillia DuBuque Sr.' created_at: null updated_at: null items: @@ -4976,7 +5267,7 @@ paths: example: null name: type: string - example: 'Dr. Virgie Reilly' + example: 'Dr. Pansy Kunde DVM' created_at: type: string example: null @@ -5066,7 +5357,7 @@ paths: example: id: null user: null - name: 'Miss Penelope Sipes IV' + name: 'Uriah Harvey' created_at: null updated_at: null properties: @@ -5078,7 +5369,7 @@ paths: example: null name: type: string - example: 'Miss Penelope Sipes IV' + example: 'Uriah Harvey' created_at: type: string example: null @@ -5097,17 +5388,17 @@ paths: key_id: type: string description: 'The ID of the key.' - example: et + example: debitis nullable: false name: type: string description: 'Key name, required if key_id is not provided.' - example: provident + example: illum nullable: false public_key: type: string description: 'Public Key, required if key_id is not provided.' - example: incidunt + example: dignissimos nullable: false required: - key_id @@ -5185,18 +5476,18 @@ paths: id: 5 project_id: null global: true - name: sit - provider: ftp - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: autem + provider: s3 + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' - id: 6 project_id: null global: true - name: repudiandae - provider: local - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: nihil + provider: ftp + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' links: first: '/?page=1' last: '/?page=1' @@ -5231,18 +5522,18 @@ paths: id: 5 project_id: null global: true - name: sit - provider: ftp - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: autem + provider: s3 + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' - id: 6 project_id: null global: true - name: repudiandae - provider: local - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: nihil + provider: ftp + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' items: type: object properties: @@ -5257,16 +5548,16 @@ paths: example: true name: type: string - example: sit + example: autem provider: type: string - example: ftp + example: s3 created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' links: type: object properties: @@ -5351,10 +5642,10 @@ paths: id: 5 project_id: null global: true - name: sequi - provider: dropbox - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: omnis + provider: local + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -5367,16 +5658,16 @@ paths: example: true name: type: string - example: sequi + example: omnis provider: type: string - example: dropbox + example: local created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - storage-providers requestBody: @@ -5394,22 +5685,22 @@ paths: name: type: string description: 'The name of the storage provider.' - example: id + example: voluptatem nullable: false token: type: string description: 'The token if provider requires api token' - example: repellendus + example: delectus nullable: false key: type: string description: 'The key if provider requires key' - example: ducimus + example: natus nullable: false secret: type: string description: 'The secret if provider requires key' - example: possimus + example: saepe nullable: false required: - provider @@ -5443,10 +5734,10 @@ paths: id: 5 project_id: null global: true - name: alias - provider: ftp - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: molestiae + provider: dropbox + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -5459,16 +5750,16 @@ paths: example: true name: type: string - example: alias + example: molestiae provider: type: string - example: ftp + example: dropbox created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - storage-providers put: @@ -5487,10 +5778,10 @@ paths: id: 5 project_id: null global: true - name: at - provider: ftp - created_at: '2025-03-29T20:43:56.000000Z' - updated_at: '2025-03-29T20:43:56.000000Z' + name: dolorum + provider: s3 + created_at: '2025-03-31T15:27:17.000000Z' + updated_at: '2025-03-31T15:27:17.000000Z' properties: id: type: integer @@ -5503,16 +5794,16 @@ paths: example: true name: type: string - example: at + example: dolorum provider: type: string - example: ftp + example: s3 created_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' updated_at: type: string - example: '2025-03-29T20:43:56.000000Z' + example: '2025-03-31T15:27:17.000000Z' tags: - storage-providers requestBody: @@ -5525,7 +5816,7 @@ paths: name: type: string description: 'The name of the storage provider.' - example: ullam + example: exercitationem nullable: false global: type: string @@ -5584,6 +5875,9 @@ tags: - name: projects description: '' + - + name: redirects + description: '' - name: server-providers description: '' diff --git a/resources/views/ssh/services/webserver/nginx/redirect.blade.php b/resources/views/ssh/services/webserver/nginx/redirect.blade.php deleted file mode 100644 index 420e9ec..0000000 --- a/resources/views/ssh/services/webserver/nginx/redirect.blade.php +++ /dev/null @@ -1,3 +0,0 @@ -location {{ $from }} { - return {{ $mode }} {{ $to }}; -} diff --git a/resources/views/ssh/services/webserver/nginx/redirects.blade.php b/resources/views/ssh/services/webserver/nginx/redirects.blade.php new file mode 100644 index 0000000..e065d67 --- /dev/null +++ b/resources/views/ssh/services/webserver/nginx/redirects.blade.php @@ -0,0 +1,5 @@ +@foreach($site->activeRedirects as $redirect) + location = {{ $redirect->from }} { + return {{ $redirect->mode }} {{ $redirect->to }}; + } +@endforeach diff --git a/resources/views/ssh/services/webserver/nginx/update-redirects.blade.php b/resources/views/ssh/services/webserver/nginx/update-redirects.blade.php deleted file mode 100644 index 47701f8..0000000 --- a/resources/views/ssh/services/webserver/nginx/update-redirects.blade.php +++ /dev/null @@ -1,7 +0,0 @@ -if ! echo '{!! $redirects !!}' | sudo tee /etc/nginx/conf.d/{{ $domain }}_redirects; then - echo 'VITO_SSH_ERROR' && exit 1 -fi - -if ! sudo service nginx restart; then - echo 'VITO_SSH_ERROR' && exit 1 -fi diff --git a/resources/views/ssh/services/webserver/nginx/vhost.blade.php b/resources/views/ssh/services/webserver/nginx/vhost.blade.php index 0401242..0f54a65 100755 --- a/resources/views/ssh/services/webserver/nginx/vhost.blade.php +++ b/resources/views/ssh/services/webserver/nginx/vhost.blade.php @@ -1,9 +1,9 @@ @if ($site->activeSsl && $site->force_ssl) - server { - listen 80; - server_name {{ $site->domain }} {{ $site->getAliasesString() }}; - return 301 https://$host$request_uri; - } +server { + listen 80; + server_name {{ $site->domain }} {{ $site->getAliasesString() }}; + return 301 https://$host$request_uri; +} @endif @php @@ -12,22 +12,22 @@ @if ($site->type === \App\Enums\SiteType::LOAD_BALANCER) upstream {{ $backendName }} { - @switch($site->type_data['method'] ?? \App\Enums\LoadBalancerMethod::ROUND_ROBIN) - @case(\App\Enums\LoadBalancerMethod::LEAST_CONNECTIONS) - least_conn; - @break - @case(\App\Enums\LoadBalancerMethod::IP_HASH) - ip_hash; - @break - @default - @endswitch - @if ($site->loadBalancerServers()->count() > 0) - @foreach($site->loadBalancerServers as $server) - server {{ $server->ip }}:{{ $server->port }} {{ $server->backup ? 'backup' : '' }} {{ $server->weight ? 'weight='.$server->weight : '' }}; - @endforeach - @else - server 127.0.0.1; - @endif + @switch($site->type_data['method'] ?? \App\Enums\LoadBalancerMethod::ROUND_ROBIN) + @case(\App\Enums\LoadBalancerMethod::LEAST_CONNECTIONS) + least_conn; + @break + @case(\App\Enums\LoadBalancerMethod::IP_HASH) + ip_hash; + @break + @default + @endswitch + @if ($site->loadBalancerServers()->count() > 0) + @foreach($site->loadBalancerServers as $server) + server {{ $server->ip }}:{{ $server->port }} {{ $server->backup ? 'backup' : '' }} {{ $server->weight ? 'weight='.$server->weight : '' }}; + @endforeach + @else + server 127.0.0.1; + @endif } @endif @@ -71,11 +71,11 @@ @if ($site->type === \App\Enums\SiteType::LOAD_BALANCER) location / { - proxy_pass http://{{ $backendName }}$request_uri; - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://{{ $backendName }}$request_uri; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; } @endif @@ -87,4 +87,6 @@ location ~ /\.(?!well-known).* { deny all; } + + @include('ssh.services.webserver.nginx.redirects', ['site' => $site]) } diff --git a/tests/Feature/API/RedirectsTest.php b/tests/Feature/API/RedirectsTest.php new file mode 100644 index 0000000..66bfb61 --- /dev/null +++ b/tests/Feature/API/RedirectsTest.php @@ -0,0 +1,82 @@ +user, ['read', 'write']); + + $this->json('POST', route('api.projects.servers.sites.redirects.create', [ + 'project' => $this->server->project, + 'server' => $this->server, + 'site' => $this->site, + ]), [ + 'from' => 'testing/path', + 'to' => 'https://example.com', + 'mode' => 301, + ]) + ->assertSuccessful() + ->assertJsonFragment([ + 'from' => 'testing/path', + 'to' => 'https://example.com', + 'mode' => 301, + 'status' => RedirectStatus::READY, + ]); + } + + public function test_see_redirects_list(): void + { + Sanctum::actingAs($this->user, ['read']); + + /** @var Redirect $redirect */ + $redirect = Redirect::factory()->create([ + 'site_id' => $this->site->id, + ]); + + $this->json('GET', route('api.projects.servers.sites.redirects.index', [ + 'project' => $this->server->project, + 'server' => $this->server, + 'site' => $this->site, + ])) + ->assertSuccessful() + ->assertJsonFragment([ + 'from' => $redirect->from, + 'to' => $redirect->to, + 'mode' => $redirect->mode, + 'status' => $redirect->status, + ]); + } + + public function test_delete_redirect(): void + { + SSH::fake(); + + Sanctum::actingAs($this->user, ['write']); + + $this->json('DELETE', route('api.projects.servers.sites.redirects.delete', [ + 'project' => $this->server->project, + 'server' => $this->server, + 'site' => $this->site, + 'redirect' => $this->redirect->id, + ])) + ->assertSuccessful() + ->assertNoContent(); + + $this->assertDatabaseMissing('redirects', [ + 'id' => $this->redirect->id, + ]); + } +} diff --git a/tests/Feature/RedirectsTest.php b/tests/Feature/RedirectsTest.php new file mode 100644 index 0000000..fb8de36 --- /dev/null +++ b/tests/Feature/RedirectsTest.php @@ -0,0 +1,82 @@ +actingAs($this->user); + + $redirect = Redirect::factory()->create([ + 'site_id' => $this->site->id, + ]); + + $this->get( + Index::getUrl([ + 'server' => $this->server, + 'site' => $this->site, + ]) + ) + ->assertSuccessful() + ->assertSee($redirect->from); + } + + public function test_delete_redirect(): void + { + SSH::fake(); + + $this->actingAs($this->user); + + $redirect = Redirect::factory()->create([ + 'site_id' => $this->site->id, + ]); + + Livewire::test(RedirectsList::class, [ + 'server' => $this->server, + 'site' => $this->site, + ]) + ->callTableAction('delete', $redirect->id) + ->assertSuccessful(); + + $this->assertDatabaseMissing('redirects', [ + 'id' => $redirect->id, + ]); + } + + public function test_create_redirect(): void + { + SSH::fake(); + + $this->actingAs($this->user); + + Livewire::test(Index::class, [ + 'server' => $this->server, + 'site' => $this->site, + ]) + ->callAction('create', [ + 'from' => 'some-path', + 'to' => 'https://example.com/redirect', + 'mode' => 301, + ]) + ->assertSuccessful(); + + $this->assertDatabaseHas('redirects', [ + 'from' => 'some-path', + 'to' => 'https://example.com/redirect', + 'mode' => 301, + 'status' => RedirectStatus::READY, + ]); + } +} diff --git a/tests/TestCase.php b/tests/TestCase.php index bb6b8db..072a107 100644 --- a/tests/TestCase.php +++ b/tests/TestCase.php @@ -7,6 +7,7 @@ use App\Enums\UserRole; use App\Enums\Webserver; use App\Models\NotificationChannel; +use App\Models\Redirect; use App\Models\Server; use App\Models\Site; use App\Models\SourceControl; @@ -24,6 +25,8 @@ abstract class TestCase extends BaseTestCase protected Site $site; + protected Redirect $redirect; + protected NotificationChannel $notificationChannel; public const EXPECT_SUCCESS = true; @@ -108,6 +111,10 @@ private function setupSite(): void 'web_directory' => 'public', 'branch' => 'main', ]); + + $this->redirect = Redirect::factory()->create([ + 'site_id' => $this->site->id, + ]); } private function setupKeys(): void