Variable swaggerSchemasConst
swaggerSchemas: {
components: {
schemas: {
User: {
type: string;
properties: {
id: { type: string; format: string; example: string };
email: { type: string; format: string; example: string };
username: { type: string; example: string };
firstName: { type: string; example: string };
lastName: { type: string; example: string };
role: { type: string; enum: string[]; example: string };
isActive: { type: string; example: boolean };
createdAt: { type: string; format: string; example: string };
updatedAt: { type: string; format: string; example: string };
};
};
AuthTokens: {
type: string;
properties: {
accessToken: { type: string; description: string; example: string };
refreshToken: { type: string; description: string; example: string };
};
};
Course: {
type: string;
properties: {
id: { type: string; format: string; example: string };
title: { type: string; example: string };
description: { type: string; example: string };
language: { type: string; example: string };
difficulty: { type: string; enum: string[]; example: string };
isPublished: { type: string; example: boolean };
createdAt: { type: string; format: string };
updatedAt: { type: string; format: string };
};
};
Lesson: {
type: string;
properties: {
id: { type: string; maxLength: number; example: string };
module_id: { type: string; maxLength: number; example: string };
name: { type: string; maxLength: number; example: string };
description: { type: string; nullable: boolean; example: string };
experience_points: { type: string; minimum: number; example: number };
order: { type: string; minimum: number; example: number };
created_at: { type: string; format: string; example: string };
updated_at: { type: string; format: string; example: string };
exercises: { type: string; items: { $ref: string } };
};
};
LessonExercise: {
type: string;
properties: {
lesson_id: { type: string; example: string };
exercise_id: { type: string; example: string };
order: { type: string; minimum: number; example: number };
exercise: { $ref: string };
};
};
Exercise: {
type: string;
properties: {
id: { type: string; maxLength: number; example: string };
exercise_type: { type: string; enum: string[]; example: string };
data: { type: string; description: string };
created_at: { type: string; format: string; example: string };
updated_at: { type: string; format: string; example: string };
};
};
ApiResponse: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
timestamp: { type: string; format: string; example: string };
data: { type: string; description: string };
};
};
ErrorResponse: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
error: { type: string; example: string };
timestamp: { type: string; format: string; example: string };
};
};
ValidationError: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
errors: {
type: string;
items: {
type: string;
properties: {
field: { type: string; example: string };
message: { type: string; example: string };
};
};
};
timestamp: { type: string; format: string };
};
};
Error: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
timestamp: { type: string; format: string; example: string };
};
};
PaginationInfo: {
type: string;
properties: {
total: { type: string; example: number };
totalPages: { type: string; example: number };
page: { type: string; example: number };
limit: { type: string; example: number };
hasNext: { type: string; example: boolean };
hasPrev: { type: string; example: boolean };
};
};
};
};
} = ...
Type declaration
components: {
schemas: {
User: {
type: string;
properties: {
id: { type: string; format: string; example: string };
email: { type: string; format: string; example: string };
username: { type: string; example: string };
firstName: { type: string; example: string };
lastName: { type: string; example: string };
role: { type: string; enum: string[]; example: string };
isActive: { type: string; example: boolean };
createdAt: { type: string; format: string; example: string };
updatedAt: { type: string; format: string; example: string };
};
};
AuthTokens: {
type: string;
properties: {
accessToken: { type: string; description: string; example: string };
refreshToken: { type: string; description: string; example: string };
};
};
Course: {
type: string;
properties: {
id: { type: string; format: string; example: string };
title: { type: string; example: string };
description: { type: string; example: string };
language: { type: string; example: string };
difficulty: { type: string; enum: string[]; example: string };
isPublished: { type: string; example: boolean };
createdAt: { type: string; format: string };
updatedAt: { type: string; format: string };
};
};
Lesson: {
type: string;
properties: {
id: { type: string; maxLength: number; example: string };
module_id: { type: string; maxLength: number; example: string };
name: { type: string; maxLength: number; example: string };
description: { type: string; nullable: boolean; example: string };
experience_points: { type: string; minimum: number; example: number };
order: { type: string; minimum: number; example: number };
created_at: { type: string; format: string; example: string };
updated_at: { type: string; format: string; example: string };
exercises: { type: string; items: { $ref: string } };
};
};
LessonExercise: {
type: string;
properties: {
lesson_id: { type: string; example: string };
exercise_id: { type: string; example: string };
order: { type: string; minimum: number; example: number };
exercise: { $ref: string };
};
};
Exercise: {
type: string;
properties: {
id: { type: string; maxLength: number; example: string };
exercise_type: { type: string; enum: string[]; example: string };
data: { type: string; description: string };
created_at: { type: string; format: string; example: string };
updated_at: { type: string; format: string; example: string };
};
};
ApiResponse: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
timestamp: { type: string; format: string; example: string };
data: { type: string; description: string };
};
};
ErrorResponse: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
error: { type: string; example: string };
timestamp: { type: string; format: string; example: string };
};
};
ValidationError: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
errors: {
type: string;
items: {
type: string;
properties: {
field: { type: string; example: string };
message: { type: string; example: string };
};
};
};
timestamp: { type: string; format: string };
};
};
Error: {
type: string;
properties: {
success: { type: string; example: boolean };
message: { type: string; example: string };
timestamp: { type: string; format: string; example: string };
};
};
PaginationInfo: {
type: string;
properties: {
total: { type: string; example: number };
totalPages: { type: string; example: number };
page: { type: string; example: number };
limit: { type: string; example: number };
hasNext: { type: string; example: boolean };
hasPrev: { type: string; example: boolean };
};
};
};
}
Swagger/OpenAPI Schema Definitions for WayrApp API
This module contains reusable schema definitions for the OpenAPI specification. These schemas are used throughout the API documentation to ensure consistency and reduce duplication in the Swagger documentation.