@lumina-study/courses-sdk
Version:
Type-safe TypeScript SDK for the Courses Platform API, auto-generated from OpenAPI specification
1 lines • 32.4 kB
Source Map (JSON)
{"version":3,"sources":["../src/errors/index.ts","../src/client/error-handler.ts","../src/namespaces/courses.ts","../src/namespaces/enrollments.ts","../src/namespaces/admin.ts","../src/client/factory.ts"],"names":["createClient"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * Base error class for API-related errors\n */\nexport class ApiError extends Error {\n statusCode: number;\n isNetworkError: boolean;\n\n constructor(message: string, statusCode: number) {\n super(message);\n this.name = 'ApiError';\n this.statusCode = statusCode;\n this.isNetworkError = false;\n }\n}\n\n/**\n * Error for validation failures (400 Bad Request)\n */\nexport class ValidationError extends ApiError {\n fields: Record<string, string[]>;\n\n constructor(message: string, fields: Record<string, string[]>) {\n super(message, 400);\n this.name = 'ValidationError';\n this.fields = fields;\n }\n}\n\n/**\n * Error for authentication failures (401 Unauthorized)\n */\nexport class AuthenticationError extends ApiError {\n constructor(message: string = 'Authentication required') {\n super(message, 401);\n this.name = 'AuthenticationError';\n }\n}\n\n/**\n * Error for authorization failures (403 Forbidden)\n */\nexport class AuthorizationError extends ApiError {\n constructor(message: string = 'Insufficient permissions') {\n super(message, 403);\n this.name = 'AuthorizationError';\n }\n}\n\n/**\n * Error for resource not found (404 Not Found)\n */\nexport class NotFoundError extends ApiError {\n resourceType: string;\n resourceId: string;\n\n constructor(resourceType: string, resourceId: string) {\n super(`${resourceType} with ID ${resourceId} not found`, 404);\n this.name = 'NotFoundError';\n this.resourceType = resourceType;\n this.resourceId = resourceId;\n }\n}\n\n/**\n * Error for server-side failures (5xx errors)\n */\nexport class ServerError extends ApiError {\n constructor(message: string, statusCode: number = 500) {\n super(message, statusCode);\n this.name = 'ServerError';\n }\n}\n\n/**\n * Error for network connectivity issues\n */\nexport class NetworkError extends Error {\n isNetworkError: true = true;\n\n constructor(message: string = 'Network connection failed') {\n super(message);\n this.name = 'NetworkError';\n }\n}\n","import {\n ApiError,\n ValidationError,\n AuthenticationError,\n AuthorizationError,\n NotFoundError,\n ServerError,\n NetworkError,\n} from '../errors';\n\ninterface FetchResponse {\n status?: number;\n ok?: boolean;\n}\n\n/**\n * Handle and transform API errors into typed error classes\n */\nexport function handleApiError(\n error: unknown,\n response?: FetchResponse,\n resourceType?: string,\n resourceId?: string,\n): never {\n // Handle network errors\n if (error instanceof TypeError && error.message.includes('Failed to fetch')) {\n throw new NetworkError('Unable to connect to server. Please check your network connection.');\n }\n\n const status = response?.status ?? 500;\n\n // Handle specific HTTP status codes\n switch (status) {\n case 400:\n // Try to parse validation errors from response\n if (typeof error === 'object' && error !== null && 'message' in error) {\n const errorObj = error as { message?: string | string[] };\n if (Array.isArray(errorObj.message)) {\n // NestJS validation error format\n const fields: Record<string, string[]> = {};\n errorObj.message.forEach((msg) => {\n const match = msg.match(/^(\\w+)\\.(.+)$/);\n if (match && match[1] && match[2]) {\n const field = match[1];\n const message = match[2];\n if (!fields[field]) fields[field] = [];\n fields[field].push(message);\n } else {\n if (!fields.general) fields.general = [];\n fields.general.push(msg);\n }\n });\n throw new ValidationError('Validation failed', fields);\n }\n }\n throw new ValidationError('Invalid request', {});\n\n case 401:\n throw new AuthenticationError();\n\n case 403:\n throw new AuthorizationError();\n\n case 404:\n if (resourceType && resourceId) {\n throw new NotFoundError(resourceType, resourceId);\n }\n throw new ApiError('Resource not found', 404);\n\n case 500:\n case 502:\n case 503:\n case 504:\n throw new ServerError('Server error occurred', status);\n\n default:\n if (status >= 500) {\n throw new ServerError(`Server error occurred (${status})`, status);\n }\n throw new ApiError(`Request failed with status ${status}`, status);\n }\n}\n","import type { Client } from 'openapi-fetch';\nimport type { paths } from '../generated/schema';\nimport { handleApiError } from '../client/error-handler';\n\ntype CoursesClient = Client<paths>;\n\n/**\n * Courses namespace providing methods for course management\n */\nexport function createCoursesNamespace(client: CoursesClient) {\n return {\n /**\n * Get all courses (public endpoint)\n * @returns Array of all published courses\n */\n async findAll() {\n const { data, error, response } = await client.GET('/api/courses');\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Get all published courses\n * @returns Array of published courses\n */\n async findAllPublished() {\n const { data, error, response } = await client.GET('/api/courses/published');\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Get a single course by ID\n * @param id - Course ID\n * @returns Course details\n * @throws NotFoundError if course doesn't exist\n */\n async findOne(id: string) {\n const { data, error, response } = await client.GET('/api/courses/{id}', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Search for courses (authenticated endpoint)\n * @returns Array of matching courses\n */\n async search() {\n const { data, error, response } = await client.GET('/api/courses/search');\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Publish a new course from local draft (authenticated endpoint)\n * @param dto - Course data to publish\n * @returns Published course details\n * @throws ValidationError if course data is invalid\n * @throws AuthenticationError if not authenticated\n */\n async publishCourse(dto: paths['/api/courses/publish']['post']['requestBody']['content']['application/json']) {\n const { data, error, response } = await client.POST('/api/courses/publish', {\n body: dto,\n });\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Get courses owned by authenticated user\n * @returns Array of user's courses (published and unpublished)\n * @throws AuthenticationError if not authenticated\n */\n async getMyCourses() {\n const { data, error, response } = await client.GET('/api/courses/my-courses');\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Update an existing course\n * @param id - Course ID\n * @param dto - Updated course data\n * @returns Updated course details\n * @throws NotFoundError if course doesn't exist\n * @throws AuthorizationError if user doesn't own the course\n */\n async update(\n id: string,\n dto: paths['/api/courses/{id}']['patch']['requestBody']['content']['application/json']\n ) {\n const { data, error, response } = await client.PATCH('/api/courses/{id}', {\n params: { path: { id } },\n body: dto,\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Delete a course\n * @param id - Course ID\n * @throws NotFoundError if course doesn't exist\n * @throws AuthorizationError if user doesn't own the course\n */\n async remove(id: string): Promise<void> {\n const { error, response } = await client.DELETE('/api/courses/{id}', {\n params: { path: { id } },\n });\n\n if (error) {\n handleApiError(error, response, 'Course', id);\n }\n },\n\n /**\n * Publish a course (change state to published)\n * @param id - Course ID\n * @returns Updated course details\n */\n async publish(id: string) {\n const { data, error, response } = await client.PATCH('/api/courses/{id}/publish', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Unpublish a course (change state to unpublished)\n * @param id - Course ID\n * @returns Updated course details\n */\n async unpublish(id: string) {\n const { data, error, response } = await client.PATCH('/api/courses/{id}/unpublish', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Get version history for a course\n * @param id - Course ID\n * @param params - Optional pagination parameters\n * @returns Paginated version history\n */\n async getVersionHistory(\n id: string,\n params?: { page?: number; pageSize?: number }\n ) {\n const { data, error, response } = await client.GET('/api/courses/{id}/versions', {\n params: {\n path: { id },\n query: params,\n },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Get the latest version of a course\n * @param id - Course ID\n * @returns Latest course version\n */\n async getLatestVersion(id: string) {\n const { data, error, response } = await client.GET('/api/courses/{id}/versions/latest', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'CourseVersion', id);\n }\n\n return data;\n },\n\n /**\n * Get a specific version of a course\n * @param id - Course ID\n * @param versionNumber - Version number\n * @returns Course version details\n */\n async getVersion(id: string, versionNumber: number) {\n const { data, error, response } = await client.GET('/api/courses/{id}/versions/{versionNumber}', {\n params: { path: { id, versionNumber } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'CourseVersion', `${id}/v${versionNumber}`);\n }\n\n return data;\n },\n\n /**\n * Compare two versions of a course\n * @param id - Course ID\n * @param v1 - First version number\n * @param v2 - Second version number\n * @returns Comparison data for both versions\n */\n async compareVersions(id: string, v1: number, v2: number) {\n const { data, error, response } = await client.GET('/api/courses/{id}/versions/compare', {\n params: {\n path: { id },\n query: { v1, v2 },\n },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n };\n}\n","import type { Client } from 'openapi-fetch';\nimport type { paths } from '../generated/schema';\nimport { handleApiError } from '../client/error-handler';\n\ntype EnrollmentsClient = Client<paths>;\n\n/**\n * Enrollments namespace providing methods for enrollment management\n */\nexport function createEnrollmentsNamespace(client: EnrollmentsClient) {\n return {\n /**\n * Enroll in a course (idempotent - returns existing enrollment if already enrolled)\n * @param courseId - Course ID to enroll in\n * @returns Enrollment details\n * @throws AuthenticationError if not authenticated\n * @throws NotFoundError if course doesn't exist\n */\n async enroll(courseId: string) {\n const { data, error, response } = await client.POST('/api/enrollments', {\n body: { courseId },\n });\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Get all enrollments for authenticated user\n * @returns Array of active enrollments\n * @throws AuthenticationError if not authenticated\n */\n async getUserEnrollments() {\n const { data, error, response } = await client.GET('/api/enrollments');\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Check if user is enrolled in a specific course\n * @param courseId - Course ID to check\n * @returns Enrollment details or null if not enrolled\n * @throws AuthenticationError if not authenticated\n */\n async getEnrollment(courseId: string) {\n const { data, error, response } = await client.GET('/api/enrollments/{courseId}', {\n params: { path: { courseId } },\n });\n\n // Special handling: 404 returns null instead of throwing\n if (response?.status === 404) {\n return null;\n }\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Withdraw from a course\n * @param courseId - Course ID to withdraw from\n * @returns Updated enrollment with withdrawn status\n * @throws AuthenticationError if not authenticated\n * @throws NotFoundError if not enrolled in course\n */\n async withdraw(courseId: string) {\n const { data, error, response } = await client.DELETE('/api/enrollments/{courseId}', {\n params: { path: { courseId } },\n });\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Check if user is enrolled in a course (boolean helper)\n * @param courseId - Course ID to check\n * @returns true if enrolled and active, false otherwise\n */\n async isEnrolled(courseId: string): Promise<boolean> {\n try {\n const enrollment = await this.getEnrollment(courseId);\n return enrollment !== null && enrollment.status === 'active';\n } catch {\n return false;\n }\n },\n };\n}\n","import type { Client } from 'openapi-fetch';\nimport type { paths } from '../generated/schema';\nimport { handleApiError } from '../client/error-handler';\n\ntype AdminClient = Client<paths>;\n\n/**\n * Admin namespace providing admin-only operations\n */\nexport function createAdminNamespace(client: AdminClient) {\n return {\n courses: {\n /**\n * Get all courses (admin endpoint)\n * @returns Array of all courses\n * @throws AuthenticationError if not authenticated\n * @throws AuthorizationError if user is not admin\n */\n async findAll() {\n const { data, error, response } = await client.GET('/api/admin/courses');\n\n if (error || !data) {\n handleApiError(error, response);\n }\n\n return data;\n },\n\n /**\n * Get a single course by ID (admin endpoint)\n * @param id - Course ID\n * @returns Course details\n * @throws AuthorizationError if user is not admin\n */\n async findOne(id: string) {\n const { data, error, response } = await client.GET('/api/admin/courses/{id}', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Update a course (admin endpoint)\n * @param id - Course ID\n * @param dto - Updated course data\n * @returns Updated course details\n * @throws AuthorizationError if user is not admin\n */\n async update(\n id: string,\n dto: paths['/api/admin/courses/{id}']['patch']['requestBody']['content']['application/json']\n ) {\n const { data, error, response } = await client.PATCH('/api/admin/courses/{id}', {\n params: { path: { id } },\n body: dto,\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Delete a course (admin endpoint)\n * @param id - Course ID\n * @throws AuthorizationError if user is not admin\n */\n async remove(id: string): Promise<void> {\n const { error, response } = await client.DELETE('/api/admin/courses/{id}', {\n params: { path: { id } },\n });\n\n if (error) {\n handleApiError(error, response, 'Course', id);\n }\n },\n\n /**\n * Publish a course (admin endpoint)\n * @param id - Course ID\n * @returns Updated course details\n * @throws AuthorizationError if user is not admin\n */\n async publish(id: string) {\n const { data, error, response } = await client.PATCH('/api/admin/courses/{id}/publish', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n\n /**\n * Unpublish a course (admin endpoint)\n * @param id - Course ID\n * @returns Updated course details\n * @throws AuthorizationError if user is not admin\n */\n async unpublish(id: string) {\n const { data, error, response } = await client.PATCH('/api/admin/courses/{id}/unpublish', {\n params: { path: { id } },\n });\n\n if (error || !data) {\n handleApiError(error, response, 'Course', id);\n }\n\n return data;\n },\n },\n };\n}\n","import createClient, { type Client } from 'openapi-fetch';\nimport type { paths } from '../generated/schema';\nimport type { SDKConfig } from './config';\nimport { createCoursesNamespace } from '../namespaces/courses';\nimport { createEnrollmentsNamespace } from '../namespaces/enrollments';\nimport { createAdminNamespace } from '../namespaces/admin';\n\nexport interface SDKClient {\n courses: ReturnType<typeof createCoursesNamespace>;\n enrollments: ReturnType<typeof createEnrollmentsNamespace>;\n admin: ReturnType<typeof createAdminNamespace>;\n}\n\n/**\n * Create a configured Courses SDK client\n *\n * @param config - SDK configuration with baseUrl and optional authentication\n * @returns Configured SDK client with namespaced API methods\n *\n * @example\n * ```typescript\n * const sdk = createCoursesSDK({\n * baseUrl: 'https://api.example.com',\n * getToken: () => localStorage.getItem('token')\n * });\n *\n * const courses = await sdk.courses.findAll();\n * ```\n */\nexport function createCoursesSDK(config: SDKConfig): SDKClient {\n // Create openapi-fetch client with baseUrl\n const client = createClient<paths>({\n baseUrl: config.baseUrl,\n fetch: config.fetch,\n });\n\n // Add authentication middleware if getToken is provided\n if (config.getToken) {\n client.use({\n async onRequest({ request }) {\n const token = await Promise.resolve(config.getToken?.());\n\n if (token) {\n request.headers.set('Authorization', `Bearer ${token}`);\n }\n\n return request;\n },\n });\n }\n\n // Create and return namespaced SDK client\n return {\n courses: createCoursesNamespace(client as Client<paths>),\n enrollments: createEnrollmentsNamespace(client as Client<paths>),\n admin: createAdminNamespace(client as Client<paths>),\n };\n}\n"]}