summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/openapi
diff options
context:
space:
mode:
Diffstat (limited to 'packages/backend/src/server/api/openapi')
-rw-r--r--packages/backend/src/server/api/openapi/schemas.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/openapi/schemas.ts b/packages/backend/src/server/api/openapi/schemas.ts
index 723b3e884a..eb42667fd5 100644
--- a/packages/backend/src/server/api/openapi/schemas.ts
+++ b/packages/backend/src/server/api/openapi/schemas.ts
@@ -1,6 +1,6 @@
-import { refs, Schema } from '@/misc/schema';
+import { refs, MinimumSchema } from '@/misc/schema';
-export function convertSchemaToOpenApiSchema(schema: Schema) {
+export function convertSchemaToOpenApiSchema(schema: MinimumSchema) {
const res: any = schema;
if (schema.type === 'object' && schema.properties) {
@@ -15,6 +15,10 @@ export function convertSchemaToOpenApiSchema(schema: Schema) {
res.items = convertSchemaToOpenApiSchema(schema.items);
}
+ if (schema.anyOf) res.anyOf = schema.anyOf.map(convertSchemaToOpenApiSchema);
+ if (schema.oneOf) res.oneOf = schema.oneOf.map(convertSchemaToOpenApiSchema);
+ if (schema.allOf) res.allOf = schema.allOf.map(convertSchemaToOpenApiSchema);
+
if (schema.ref) {
res.$ref = `#/components/schemas/${schema.ref}`;
}