mirror of https://github.com/usbharu/Hideout.git
feat: Mediaアップロードのエンドポイントを追加
This commit is contained in:
parent
6b632c81c7
commit
9e570dc1bf
|
@ -60,6 +60,8 @@ tasks.create<GenerateTask>("openApiGenerateMastodonCompatibleApi", GenerateTask:
|
||||||
configOptions.put("interfaceOnly", "true")
|
configOptions.put("interfaceOnly", "true")
|
||||||
configOptions.put("useSpringBoot3", "true")
|
configOptions.put("useSpringBoot3", "true")
|
||||||
additionalProperties.put("useTags", "true")
|
additionalProperties.put("useTags", "true")
|
||||||
|
importMappings.put("org.springframework.core.io.Resource", "org.springframework.web.multipart.MultipartFile")
|
||||||
|
typeMappings.put("org.springframework.core.io.Resource", "org.springframework.web.multipart.MultipartFile")
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package dev.usbharu.hideout.controller.mastodon
|
||||||
|
|
||||||
|
import dev.usbharu.hideout.controller.mastodon.generated.MediaApi
|
||||||
|
import dev.usbharu.hideout.domain.mastodon.model.generated.MediaAttachment
|
||||||
|
import org.springframework.http.ResponseEntity
|
||||||
|
import org.springframework.stereotype.Controller
|
||||||
|
import org.springframework.web.multipart.MultipartFile
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
class MastodonMediaApiController : MediaApi {
|
||||||
|
override fun apiV1MediaPost(
|
||||||
|
file: MultipartFile,
|
||||||
|
thumbnail: MultipartFile?,
|
||||||
|
description: String?,
|
||||||
|
focus: String?
|
||||||
|
): ResponseEntity<MediaAttachment> {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -17,6 +17,8 @@ tags:
|
||||||
description: instance
|
description: instance
|
||||||
- name: timeline
|
- name: timeline
|
||||||
description: timeline
|
description: timeline
|
||||||
|
- name: media
|
||||||
|
description: media
|
||||||
|
|
||||||
paths:
|
paths:
|
||||||
/api/v2/instance:
|
/api/v2/instance:
|
||||||
|
@ -291,9 +293,48 @@ paths:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
$ref: "#/components/schemas/Status"
|
$ref: "#/components/schemas/Status"
|
||||||
|
/api/v1/media:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- media
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- "write:media"
|
||||||
|
requestBody:
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
multipart/form-data:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/V1MediaRequest"
|
||||||
|
encoding:
|
||||||
|
file:
|
||||||
|
contentType: image/jpeg, image/png
|
||||||
|
responses:
|
||||||
|
200:
|
||||||
|
description: 成功
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: "#/components/schemas/MediaAttachment"
|
||||||
|
|
||||||
components:
|
components:
|
||||||
schemas:
|
schemas:
|
||||||
|
V1MediaRequest:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
file:
|
||||||
|
type: string
|
||||||
|
format: binary
|
||||||
|
thumbnail:
|
||||||
|
type: string
|
||||||
|
format: binary
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
focus:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- file
|
||||||
|
|
||||||
AccountsCreateRequest:
|
AccountsCreateRequest:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
Loading…
Reference in New Issue