You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
drop function if exists "public"."get_explore_courses"(org_id_arg uuid, profile_id_arg uuid);
drop function if exists public.get_explore_courses (uuid, uuid);
create
or replace function public.get_explore_courses (org_id_arg uuid, profile_id_arg uuid) returns table (
@@ -13,19 +14,40 @@ or replace function public.get_explore_courses (org_id_arg uuid, profile_id_arg
currency character varying,
is_published boolean,
total_lessons bigint,
total_students bigint,
progress_rate bigint,
type "COURSE_TYPE",
other_profile_id uuid
type "COURSE_TYPE"
) language plpgsql as $function$
BEGIN
Return query
select course.id, organization.id AS org_id, course.title, course.slug, course.description, course.logo, course.banner_image, course.cost, course.currency, course.is_published, (select COUNT(*) from lesson as l where l.course_id = course.id) AS total_lessons, (select COUNT(*) from groupmember as gm where gm.group_id = course.group_id AND gm.role_id = 3) as total_students, (select COUNT(*) from lesson_completion as lc join lesson as l on l.id = lc.lesson_id where l.course_id = course.id and lc.is_complete = true and lc.profile_id = profile_id_arg) AS progress_rate, course.type as type, (select groupmember.profile_id from groupmember where groupmember.group_id = "group".id and groupmember.profile_id != profile_id_arg limit 1) as other_profile_id
from course
join "group" on "group".id = course.group_id
join organization on organization.id = "group".organization_id
where course.status = 'ACTIVE' AND course.is_published = true AND organization.id = org_id_arg
-- GROUP BY course.id, groupmember.profile_id
ORDER BY course.created_at DESC;
RETURN QUERY
SELECT
course.id,
organization.id AS org_id,
course.title,
course.slug,
course.description,
course.logo,
course.banner_image,
course.cost,
course.currency,
course.is_published,
(SELECT COUNT(*) FROM lesson AS l WHERE l.course_id = course.id) AS total_lessons,
course.type AS type
FROM
course
JOIN "group" ON "group".id = course.group_id
JOIN organization ON organization.id = "group".organization_id
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
drop function if exists "public"."get_explore_courses"(org_id_arg uuid, profile_id_arg uuid);
create
or replace function public.get_explore_courses (org_id_arg uuid, profile_id_arg uuid) returns table (
id uuid,
org_id uuid,
title character varying,
slug character varying,
description character varying,
logo text,
banner_image text,
cost bigint,
currency character varying,
is_published boolean,
total_lessons bigint,
total_students bigint,
progress_rate bigint,
type "COURSE_TYPE",
other_profile_id uuid
) language plpgsql as $function$
BEGIN
Return query
select course.id, organization.id AS org_id, course.title, course.slug, course.description, course.logo, course.banner_image, course.cost, course.currency, course.is_published, (select COUNT(*) from lesson as l where l.course_id = course.id) AS total_lessons, (select COUNT(*) from groupmember as gm where gm.group_id = course.group_id AND gm.role_id = 3) as total_students, (select COUNT(*) from lesson_completion as lc join lesson as l on l.id = lc.lesson_id where l.course_id = course.id and lc.is_complete = true and lc.profile_id = profile_id_arg) AS progress_rate, course.type as type, (select groupmember.profile_id from groupmember where groupmember.group_id = "group".id and groupmember.profile_id != profile_id_arg limit 1) as other_profile_id
from course
join "group" on "group".id = course.group_id
join organization on organization.id = "group".organization_id
where course.status = 'ACTIVE' AND course.is_published = true AND organization.id = org_id_arg