Add find_opinions.sql

This commit is contained in:
2020-02-08 01:24:16 +01:00
parent 7742287884
commit 976f8fac6a
3 changed files with 24 additions and 0 deletions

View File

@@ -52,6 +52,7 @@
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_citizen_opinions_by_target_id.sql" /> <option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_citizen_opinions_by_target_id.sql" />
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_citizen_opinions_by_target_ids.sql" /> <option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_citizen_opinions_by_target_ids.sql" />
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/opinion.sql" /> <option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/opinion.sql" />
<option value="$PROJECT_DIR$/src/main/resources/sql/functions/opinion/find_opinions.sql" />
<option value="$PROJECT_DIR$/src/test/sql/user.sql" /> <option value="$PROJECT_DIR$/src/test/sql/user.sql" />
<option value="$PROJECT_DIR$/src/test/sql/citizen.sql" /> <option value="$PROJECT_DIR$/src/test/sql/citizen.sql" />
<option value="$PROJECT_DIR$/src/test/sql/article.sql" /> <option value="$PROJECT_DIR$/src/test/sql/article.sql" />

View File

@@ -0,0 +1,19 @@
create or replace function find_opinions(out resource json)
language plpgsql as
$$
begin
select json_agg(t)
into resource
from (
select ol.*
from opinion_list ol
where ol.deleted_at <= now()
or ol.deleted_at is null
order by ol.name
) t;
end;
$$;
-- drop function if exists find_opinions();
-- select find_opinions();

View File

@@ -93,6 +93,10 @@ begin
from find_citizen_opinions_by_target_ids(_citizen_id, array[(created_article->>'id')::uuid]) o), from find_citizen_opinions_by_target_ids(_citizen_id, array[(created_article->>'id')::uuid]) o),
'The first opinion must have a name'; 'The first opinion must have a name';
assert(
select find_opinions()#>>'{0, name}' = 'Opinion1'
), 'find_opinions mst be return all opinions';
-- delete vote and context -- delete vote and context
delete from opinion; delete from opinion;
delete from opinion_list; delete from opinion_list;