Add MP3 upload pipeline foundation
This commit is contained in:
@@ -145,10 +145,82 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/uploads/{uploadId}/file": {
|
||||
"put": {
|
||||
"operationId": "UploadsController_uploadFile_v1",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "uploadId",
|
||||
"required": true,
|
||||
"in": "path",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"audio/mpeg": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
},
|
||||
"audio/mp3": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
},
|
||||
"application/octet-stream": {
|
||||
"schema": {
|
||||
"type": "string",
|
||||
"format": "binary"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/UploadSessionStatusResponseDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
"uploads"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/api/v1/uploads/{uploadId}/finalize": {
|
||||
"post": {
|
||||
"operationId": "UploadsController_finalize_v1",
|
||||
"parameters": [],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "uploadId",
|
||||
"required": true,
|
||||
"in": "path",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/UploadFinalizeRequestDto"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "",
|
||||
@@ -161,7 +233,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"summary": "Reserved for the next milestone",
|
||||
"tags": [
|
||||
"uploads"
|
||||
]
|
||||
@@ -414,6 +485,14 @@
|
||||
"nextOffset": {
|
||||
"type": "number",
|
||||
"example": 0
|
||||
},
|
||||
"trackId": {
|
||||
"type": "string",
|
||||
"format": "uuid"
|
||||
},
|
||||
"assetId": {
|
||||
"type": "string",
|
||||
"format": "uuid"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -447,6 +526,10 @@
|
||||
"nextOffset": {
|
||||
"type": "string",
|
||||
"example": 0
|
||||
},
|
||||
"finalizedAt": {
|
||||
"type": "string",
|
||||
"example": "2026-05-28T12:00:00.000Z"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
@@ -457,21 +540,46 @@
|
||||
"nextOffset"
|
||||
]
|
||||
},
|
||||
"UploadFinalizeResponseDto": {
|
||||
"UploadFinalizeRequestDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"statusCode": {
|
||||
"type": "number",
|
||||
"example": 501
|
||||
},
|
||||
"message": {
|
||||
"title": {
|
||||
"type": "string",
|
||||
"example": "Upload finalization is not implemented yet."
|
||||
"example": "Track Title"
|
||||
},
|
||||
"artist": {
|
||||
"type": "string",
|
||||
"example": "Track Artist"
|
||||
},
|
||||
"album": {
|
||||
"type": "string",
|
||||
"example": "Album Title"
|
||||
},
|
||||
"durationMs": {
|
||||
"type": "number",
|
||||
"example": 245000
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"statusCode",
|
||||
"message"
|
||||
"title",
|
||||
"artist"
|
||||
]
|
||||
},
|
||||
"UploadFinalizeResponseDto": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"trackId": {
|
||||
"type": "string",
|
||||
"format": "uuid"
|
||||
},
|
||||
"assetId": {
|
||||
"type": "string",
|
||||
"format": "uuid"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"trackId",
|
||||
"assetId"
|
||||
]
|
||||
},
|
||||
"LibraryTrackDto": {
|
||||
|
||||
Reference in New Issue
Block a user