mirror of https://github.com/artifacthub/hub.git
19 lines
738 B
SQL
19 lines
738 B
SQL
-- get_packages_stars returns the number of stars of the given package as a
|
|
-- json object, including as well if the user doing the request starred the
|
|
-- package.
|
|
create or replace function get_package_stars(p_user_id uuid, p_package_id uuid)
|
|
returns setof json as $$
|
|
select json_strip_nulls(json_build_object(
|
|
'stars', (select stars from package where package_id = p_package_id),
|
|
'starred_by_user', (
|
|
case when p_user_id is not null then (
|
|
select exists (
|
|
select * from user_starred_package
|
|
where package_id = p_package_id
|
|
and user_id = p_user_id
|
|
)
|
|
) else null end
|
|
)
|
|
));
|
|
$$ language sql;
|