#11 - Update Courses with new Types

This commit is contained in:
Luciano Giacchetta 2025-08-20 14:59:55 -03:00
parent 989a0dbb50
commit f6d933ddd2
2 changed files with 34 additions and 12 deletions

View File

@ -46,11 +46,11 @@ const { course }: Props = Astro.props;
<h3>Incluido en Carreras:</h3> <h3>Incluido en Carreras:</h3>
</div> </div>
<div class="d-flex gap-2 mt-3"> <div class="d-flex gap-2 mt-3">
{course.codyops_careers.map((carrer: any) => ( {course.codyops_careers.map((career: any) => (
<a class="btn btn-outline-success mb-1" href={`/carreras/${carrer.codyops_careers_id.slug}/`}> <a class="btn btn-outline-success mb-1" href={`/carreras/${career.codyops_careers_id.slug}/`}>
{carrer.codyops_careers_id.name} {career.codyops_careers_id.name}
</a> </a>
))} ))}
</div> </div>
</div> </div>
<style> <style>
@ -70,4 +70,4 @@ const { course }: Props = Astro.props;
p { p {
color: white; color: white;
} }
</style> </style>

View File

@ -1,14 +1,37 @@
import directus from "./directus"; import directus from "./directus";
import { readItems } from "@directus/sdk"; import { readItems, type Query } from "@directus/sdk";
import type { CodyopsCourses, Courses } from "../types/codyops-courses";
export const courses = await directus.request( export const courses = await directus.request(
readItems("codyops_courses", { readItems<CodyopsCourses, 'codyops_courses', Query<CodyopsCourses, Courses>>("codyops_courses", {
fields: [ fields: [
'*', '*',
'user_created.*', {
'modules.*', codyops_careers: [
'codyops_careers.codyops_careers_id.name', {
'codyops_careers.codyops_careers_id.slug', codyops_careers_id: [
'name',
'slug'
]
}
]
},
{
user_created: [
'first_name',
'last_name',
'avatar',
'url'
]
},
{
modules: [
'duration',
'title',
'description',
'video'
]
}
]} ]}
) )
); );
@ -30,4 +53,3 @@ export function filterCoursesByCategory(courses: any, category: any) {
export function filterCoursesByCloud(courses: any, clouds: string[]) { export function filterCoursesByCloud(courses: any, clouds: string[]) {
return courses.filter((course: any) => course.cloud?.includes(clouds)); return courses.filter((course: any) => course.cloud?.includes(clouds));
}; };