From 8957448b859cd70a4aaf7552b96ef5799acd1090 Mon Sep 17 00:00:00 2001
From: Quaternions <krakow20@gmail.com>
Date: Wed, 2 Apr 2025 13:51:25 -0700
Subject: [PATCH] openapi: move create endpoints to internal

---
 openapi-internal.yaml | 118 ++++++++++++++++++++++++++++++++++++++++++
 openapi.yaml          |  56 ++++++--------------
 2 files changed, 134 insertions(+), 40 deletions(-)

diff --git a/openapi-internal.yaml b/openapi-internal.yaml
index c47f030..1e8d377 100644
--- a/openapi-internal.yaml
+++ b/openapi-internal.yaml
@@ -9,6 +9,31 @@ tags:
   - name: Submissions
     description: Submission operations
 paths:
+  /mapfixes:
+    post:
+      summary: Create a mapfix
+      operationId: createMapfix
+      tags:
+        - Mapfixes
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/MapfixCreate'
+      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"
   /mapfixes/{MapfixID}/validated-model:
     post:
       summary: Update validated model
@@ -96,6 +121,31 @@ paths:
             application/json:
               schema:
                 $ref: "#/components/schemas/Error"
+  /submissions:
+    post:
+      summary: Create a new submission
+      operationId: createSubmission
+      tags:
+        - Submissions
+      requestBody:
+        required: true
+        content:
+          application/json:
+            schema:
+              $ref: '#/components/schemas/SubmissionCreate'
+      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"
   /submissions/{SubmissionID}/validated-model:
     post:
       summary: Update validated model
@@ -400,6 +450,74 @@ components:
         ID:
           type: integer
           format: int64
+    MapfixCreate:
+      required:
+      - OperationID
+      - AssetOwner
+      - DisplayName
+      - Creator
+      - GameID
+      - AssetID
+      - AssetVersion
+      - TargetAssetID
+      type: object
+      properties:
+        OperationID:
+          type: integer
+          format: int32
+        AssetOwner:
+          type: integer
+          format: int64
+        DisplayName:
+          type: string
+          maxLength: 128
+        Creator:
+          type: string
+          maxLength: 128
+        GameID:
+          type: integer
+          format: int32
+        AssetID:
+          type: integer
+          format: int64
+        AssetVersion:
+          type: integer
+          format: int64
+        TargetAssetID:
+          type: integer
+          format: int64
+    SubmissionCreate:
+      required:
+      - OperationID
+      - AssetOwner
+      - DisplayName
+      - Creator
+      - GameID
+      - AssetID
+      - AssetVersion
+      type: object
+      properties:
+        OperationID:
+          type: integer
+          format: int32
+        AssetOwner:
+          type: integer
+          format: int64
+        DisplayName:
+          type: string
+          maxLength: 128
+        Creator:
+          type: string
+          maxLength: 128
+        GameID:
+          type: integer
+          format: int32
+        AssetID:
+          type: integer
+          format: int64
+        AssetVersion:
+          type: integer
+          format: int64
     Script:
       required:
       - ID
diff --git a/openapi.yaml b/openapi.yaml
index 7bc07a9..3970378 100644
--- a/openapi.yaml
+++ b/openapi.yaml
@@ -193,7 +193,7 @@ paths:
               schema:
                 $ref: "#/components/schemas/Error"
     post:
-      summary: Create new mapfix
+      summary: Trigger the validator to create a mapfix
       operationId: createMapfix
       tags:
         - Mapfixes
@@ -202,14 +202,14 @@ paths:
         content:
           application/json:
             schema:
-              $ref: '#/components/schemas/MapfixCreate'
+              $ref: '#/components/schemas/MapfixTriggerCreate'
       responses:
         "201":
           description: Successful response
           content:
             application/json:
               schema:
-                $ref: "#/components/schemas/Id"
+                $ref: "#/components/schemas/OperationID"
         default:
           description: General Error
           content:
@@ -504,7 +504,7 @@ paths:
               schema:
                 $ref: "#/components/schemas/Error"
     post:
-      summary: Create new submission
+      summary: Trigger the validator to create a new submission
       operationId: createSubmission
       tags:
         - Submissions
@@ -513,14 +513,14 @@ paths:
         content:
           application/json:
             schema:
-              $ref: '#/components/schemas/SubmissionCreate'
+              $ref: '#/components/schemas/SubmissionTriggerCreate'
       responses:
         "201":
           description: Successful response
           content:
             application/json:
               schema:
-                $ref: "#/components/schemas/Id"
+                $ref: "#/components/schemas/OperationID"
         default:
           description: General Error
           content:
@@ -1114,6 +1114,14 @@ components:
         ID:
           type: integer
           format: int64
+    OperationID:
+      required:
+      - OperationID
+      type: object
+      properties:
+        OperationID:
+          type: integer
+          format: int32
     Roles:
       required:
       - Roles
@@ -1217,31 +1225,15 @@ components:
         StatusMessage:
           type: string
           maxLength: 256
-    MapfixCreate:
+    MapfixTriggerCreate:
       required:
-      - DisplayName
-      - Creator
-      - GameID
       - AssetID
-      - AssetVersion
       - TargetAssetID
       type: object
       properties:
-        DisplayName:
-          type: string
-          maxLength: 128
-        Creator:
-          type: string
-          maxLength: 128
-        GameID:
-          type: integer
-          format: int32
         AssetID:
           type: integer
           format: int64
-        AssetVersion:
-          type: integer
-          format: int64
         TargetAssetID:
           type: integer
           format: int64
@@ -1336,30 +1328,14 @@ components:
         StatusMessage:
           type: string
           maxLength: 256
-    SubmissionCreate:
+    SubmissionTriggerCreate:
       required:
-      - DisplayName
-      - Creator
-      - GameID
       - AssetID
-      - AssetVersion
       type: object
       properties:
-        DisplayName:
-          type: string
-          maxLength: 128
-        Creator:
-          type: string
-          maxLength: 128
-        GameID:
-          type: integer
-          format: int32
         AssetID:
           type: integer
           format: int64
-        AssetVersion:
-          type: integer
-          format: int64
     ReleaseInfo:
       required:
       - SubmissionID