Skip to content

Commit 8a04c27

Browse files
author
Rajat
committed
Codex suggested code review fixes
1 parent ca4c324 commit 8a04c27

4 files changed

Lines changed: 83 additions & 3 deletions

File tree

apps/api/src/media/routes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ router.post(
188188
"application/json": {
189189
schema: {
190190
type: "array",
191-
items: { $ref: '#/components/schemas/Media' }
191+
items: { $ref: '#/components/schemas/MediaListItem' }
192192
}
193193
}
194194
}

apps/api/src/media/schemas.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,36 @@ export interface MediaResponse {
2626
group?: string;
2727
}
2828

29+
export interface MediaListItemResponse {
30+
mediaId: string;
31+
originalFileName: string;
32+
mimeType: string;
33+
size: number;
34+
access: AccessControl;
35+
thumbnail: string;
36+
caption?: string;
37+
group?: string;
38+
}
39+
2940
export const mediaResponseSchema = Joi.object<MediaResponse>({
3041
mediaId: Joi.string().required(),
3142
originalFileName: Joi.string().required(),
3243
mimeType: Joi.string().required(),
3344
size: Joi.number().required(),
3445
access: Joi.string().valid("public", "private").required(),
3546
file: Joi.string().uri().required(),
36-
thumbnail: Joi.string().uri().optional(),
47+
thumbnail: Joi.string().uri().optional().allow(""),
48+
caption: Joi.string().optional().allow(""),
49+
group: Joi.string().optional(),
50+
});
51+
52+
export const mediaListItemResponseSchema = Joi.object<MediaListItemResponse>({
53+
mediaId: Joi.string().required(),
54+
originalFileName: Joi.string().required(),
55+
mimeType: Joi.string().required(),
56+
size: Joi.number().required(),
57+
access: Joi.string().valid("public", "private").required(),
58+
thumbnail: Joi.string().uri().optional().allow(""),
3759
caption: Joi.string().optional().allow(""),
3860
group: Joi.string().optional(),
3961
});

apps/api/src/swagger-generator.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
uploadMediaSchema,
88
getMediaSchema,
99
mediaResponseSchema,
10+
mediaListItemResponseSchema,
1011
mediaCountResponseSchema,
1112
mediaSizeResponseSchema,
1213
} from "./media/schemas";
@@ -107,6 +108,7 @@ swaggerAutogen()(outputFile, routes, doc).then(() => {
107108
content.components.schemas = {
108109
...content.components.schemas,
109110
Media: joiToSwagger(mediaResponseSchema).swagger,
111+
MediaListItem: joiToSwagger(mediaListItemResponseSchema).swagger,
110112
MediaSettings: joiToSwagger(mediaSettingsResponseSchema).swagger,
111113
MediaSettingsPayload: joiToSwagger(mediaSettingsSchema).swagger,
112114
UploadMediaPayload: joiToSwagger(uploadMediaSchema).swagger,
@@ -168,6 +170,20 @@ swaggerAutogen()(outputFile, routes, doc).then(() => {
168170
},
169171
},
170172
};
173+
operation.responses = operation.responses || {};
174+
operation.responses["200"] = {
175+
description: "List retrieved successfully",
176+
content: {
177+
"application/json": {
178+
schema: {
179+
type: "array",
180+
items: {
181+
$ref: "#/components/schemas/MediaListItem",
182+
},
183+
},
184+
},
185+
},
186+
};
171187
}
172188

173189
operation.responses = operation.responses || {};

apps/api/src/swagger_output.json

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -597,7 +597,7 @@
597597
"schema": {
598598
"type": "array",
599599
"items": {
600-
"$ref": "#/components/schemas/Media"
600+
"$ref": "#/components/schemas/MediaListItem"
601601
}
602602
}
603603
}
@@ -869,6 +869,48 @@
869869
],
870870
"additionalProperties": false
871871
},
872+
"MediaListItem": {
873+
"type": "object",
874+
"properties": {
875+
"mediaId": {
876+
"type": "string"
877+
},
878+
"originalFileName": {
879+
"type": "string"
880+
},
881+
"mimeType": {
882+
"type": "string"
883+
},
884+
"size": {
885+
"type": "number",
886+
"format": "float"
887+
},
888+
"access": {
889+
"type": "string",
890+
"enum": [
891+
"public",
892+
"private"
893+
]
894+
},
895+
"thumbnail": {
896+
"type": "string"
897+
},
898+
"caption": {
899+
"type": "string"
900+
},
901+
"group": {
902+
"type": "string"
903+
}
904+
},
905+
"required": [
906+
"mediaId",
907+
"originalFileName",
908+
"mimeType",
909+
"size",
910+
"access"
911+
],
912+
"additionalProperties": false
913+
},
872914
"MediaSettings": {
873915
"type": "object",
874916
"properties": {

0 commit comments

Comments
 (0)