88 lines
2.4 KiB
JavaScript
88 lines
2.4 KiB
JavaScript
// Each term carries both the spec keys (title/description/is_active/
|
|
// starts_at/ends_at/cover_url/created_at — camelized) and the UI-only
|
|
// keys the current frontend reads (image, startDate, endDate,
|
|
// studentsCount, coursesCount). See docs/backend-api-todo.md.
|
|
const makeTerm = (overrides) => {
|
|
const startsAt = overrides.startsAt ?? overrides.startDate ?? ''
|
|
const endsAt = overrides.endsAt ?? overrides.endDate ?? ''
|
|
const coverUrl = overrides.coverUrl ?? overrides.image ?? ''
|
|
return {
|
|
// --- spec ---
|
|
id: overrides.id,
|
|
title: overrides.title ?? '',
|
|
description: overrides.description ?? '',
|
|
isActive: overrides.isActive ?? true,
|
|
startsAt,
|
|
endsAt,
|
|
coverUrl,
|
|
createdAt: overrides.createdAt ?? '',
|
|
|
|
// --- ui-only ---
|
|
image: coverUrl,
|
|
startDate: startsAt,
|
|
endDate: endsAt,
|
|
studentsCount: overrides.studentsCount ?? 0,
|
|
coursesCount: overrides.coursesCount ?? 0,
|
|
}
|
|
}
|
|
|
|
export const adminTerms = [
|
|
makeTerm({
|
|
id: 1,
|
|
title: 'ترم پاییز ۱۴۰۴',
|
|
description: 'ترم پاییز با محوریت آموزش معارف اسلامی.',
|
|
coverUrl: 'https://picsum.photos/seed/term1/200/200',
|
|
startsAt: '2025-09-23T00:00:00.000Z',
|
|
endsAt: '2026-01-20T00:00:00.000Z',
|
|
isActive: true,
|
|
studentsCount: 18,
|
|
coursesCount: 4,
|
|
createdAt: '2025-08-01T08:00:00.000Z',
|
|
}),
|
|
makeTerm({
|
|
id: 2,
|
|
title: 'ترم زمستان ۱۴۰۴',
|
|
description: 'ترم زمستان با تمرکز بر فقه و اصول.',
|
|
coverUrl: 'https://picsum.photos/seed/term2/200/200',
|
|
startsAt: '2026-01-21T00:00:00.000Z',
|
|
endsAt: '2026-04-20T00:00:00.000Z',
|
|
isActive: true,
|
|
studentsCount: 12,
|
|
coursesCount: 3,
|
|
createdAt: '2025-11-10T08:00:00.000Z',
|
|
}),
|
|
makeTerm({
|
|
id: 3,
|
|
title: 'ترم بهار ۱۴۰۵',
|
|
description: 'ترم بهار ویژه دورههای تخصصی.',
|
|
coverUrl: '',
|
|
startsAt: '2026-04-21T00:00:00.000Z',
|
|
endsAt: '2026-08-21T00:00:00.000Z',
|
|
isActive: false,
|
|
studentsCount: 0,
|
|
coursesCount: 2,
|
|
createdAt: '2026-02-15T08:00:00.000Z',
|
|
}),
|
|
]
|
|
|
|
export { makeTerm }
|
|
|
|
export const termStudentLinks = new Map([
|
|
[
|
|
1,
|
|
[
|
|
{ userId: 100, isOnLeave: false },
|
|
{ userId: 101, isOnLeave: false },
|
|
{ userId: 102, isOnLeave: true },
|
|
{ userId: 103, isOnLeave: false },
|
|
],
|
|
],
|
|
[
|
|
2,
|
|
[
|
|
{ userId: 104, isOnLeave: false },
|
|
{ userId: 105, isOnLeave: false },
|
|
],
|
|
],
|
|
])
|