From e46f9fc6ea58835483d62eac1288296e78b77775 Mon Sep 17 00:00:00 2001 From: Quaternions Date: Tue, 17 Dec 2024 18:10:53 -0800 Subject: [PATCH] openapi: legendary levels of duplicate code --- openapi-internal.yaml | 240 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 240 insertions(+) diff --git a/openapi-internal.yaml b/openapi-internal.yaml index 2b3d45e..b38795b 100644 --- a/openapi-internal.yaml +++ b/openapi-internal.yaml @@ -7,6 +7,35 @@ tags: - name: Submissions description: Submission operations paths: + /submissions/{SubmissionID}/model: + post: + summary: Update model following role restrictions + operationId: updateSubmissionModel + tags: + - Submissions + parameters: + - $ref: '#/components/parameters/SubmissionID' + - name: ModelID + in: query + required: true + schema: + type: integer + format: int64 + - name: VersionID + in: query + required: true + schema: + type: integer + format: int64 + responses: + "204": + description: Successful response + default: + description: General Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" /submissions/{SubmissionID}/status/validator-validated: post: summary: (Internal endpoint) Role Validator changes status from Validating -> Validated @@ -24,6 +53,23 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + /submissions/{SubmissionID}/status/validator-failed: + post: + summary: (Internal endpoint) Role Validator changes status from Validating -> Accepted + operationId: actionSubmissionAccepted + tags: + - Submissions + parameters: + - $ref: '#/components/parameters/SubmissionID' + responses: + "204": + description: Successful response + default: + description: General Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" /submissions/{SubmissionID}/status/validator-uploaded: post: summary: (Internal endpoint) Role Validator changes status from Uploading -> Uploaded @@ -63,6 +109,104 @@ paths: application/json: schema: $ref: "#/components/schemas/Error" + /script-policy: + post: + summary: Create a new script policy + operationId: createScriptPolicy + tags: + - ScriptPolicy + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ScriptPolicyCreate' + responses: + "201": + description: Successful response + content: + application/json: + schema: + $ref: "#/components/schemas/Id" + default: + description: General Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /script-policy/hash/{FromScriptHash}: + get: + summary: Get the policy for the given hash of script source code + operationId: getScriptPolicyFromHash + tags: + - ScriptPolicy + parameters: + - name: FromScriptHash + in: path + required: true + schema: + type: string + minLength: 16 + maxLength: 16 + responses: + "200": + description: Successful response + content: + application/json: + schema: + $ref: "#/components/schemas/ScriptPolicy" + default: + description: General Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /scripts: + post: + summary: Create a new script + operationId: createScript + tags: + - Scripts + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ScriptCreate' + responses: + "201": + description: Successful response + content: + application/json: + schema: + $ref: "#/components/schemas/Id" + default: + description: General Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" + /scripts/{ScriptID}: + get: + summary: Get the specified script by ID + operationId: getScript + tags: + - Scripts + parameters: + - $ref: '#/components/parameters/ScriptID' + responses: + "200": + description: Successful response + content: + application/json: + schema: + $ref: "#/components/schemas/Script" + default: + description: General Error + content: + application/json: + schema: + $ref: "#/components/schemas/Error" components: parameters: SubmissionID: @@ -73,7 +217,103 @@ components: schema: type: integer format: int64 + ScriptID: + name: ScriptID + in: path + required: true + description: The unique identifier for a script. + schema: + type: integer + format: int64 schemas: + Id: + required: + - ID + type: object + properties: + ID: + type: integer + format: int64 + Script: + required: + - ID + - Name + - Hash + - Source + - SubmissionID + type: object + properties: + ID: + type: integer + format: int64 + Name: + type: string + minLength: 64 + maxLength: 64 + Hash: + type: string + minLength: 16 + maxLength: 16 + Source: + type: string + maxLength: 1048576 + SubmissionID: + type: integer + format: int64 + ScriptCreate: + required: + - Name + - Source +# - SubmissionID + type: object + properties: + Name: + type: string + minLength: 64 + maxLength: 64 + Source: + type: string + maxLength: 1048576 + SubmissionID: + type: integer + format: int64 + ScriptPolicy: + required: + - ID + - FromScriptHash + - ToScriptID + - Policy + type: object + properties: + ID: + type: integer + format: int64 + FromScriptHash: + type: string + minLength: 16 + maxLength: 16 + ToScriptID: + type: integer + format: int64 + Policy: + type: integer + format: int32 + ScriptPolicyCreate: + required: + - FromScriptID + - ToScriptID + - Policy + type: object + properties: + FromScriptID: + type: integer + format: int64 + ToScriptID: + type: integer + format: int64 + Policy: + type: integer + format: int32 Pagination: type: object required: