Возвращает список корневых тренингов, которые доступны текущему пользователю.
function getRootAvailableTrainings(
ctx: app.Ctx
) : Promise<TrainingBasicInfo[]>
// Результат: массив объектов следующего типа
type TrainingBasicInfo = {
id: number
parent_id: number | null
lesson_count: number
title: string
description: string
image: string | null
image_hash: string | null
image_url: string | null
children?: TrainingBasicInfo[]
}
import {getRootAvailableTrainings} from '@getcourse/sdk'
// Вернуть список корневых требников в виде JSON
app.get('/', async(ctx,req) => {
const trainings = await getRootAvailableTrainings(ctx);
return trainings
})
import {getRootAvailableTrainings} from '@getcourse/sdk'
// Список тренингов в HTML виде
app.html(ctx, async(ctx, req) => {
const trainings = await getRootAvailableTrainings(ctx)
return <html>
{trainings.map( training =>
<a href={`/teach/control/training/id/${training.id}`}>
{training.title}
</a>
)}
</html>
})
import {getRootAvailableTrainings} from '@getcourse/sdk'
app.html(ctx, async(ctx, req) => {
const trainings = await getRootAvailableTrainings(ctx)
return <screen>
{trainings.map( training => <list-item
icon={{
text: training.title.substring(0,1),
url: training.image_url,
style: {
backgroundColor: '#34495e',
color: 'white',
borderRadius: 10,
},
size: 'lg',
}}
content={{
title: training.title,
subTitle: training.description
}}/>
)}
</screen>
})