Add find_opinions.sql
This commit is contained in:
1
.idea/runConfigurations/Test_All_SQL.xml
generated
1
.idea/runConfigurations/Test_All_SQL.xml
generated
@@ -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" />
|
||||||
|
|||||||
19
src/main/resources/sql/functions/opinion/find_opinions.sql
Normal file
19
src/main/resources/sql/functions/opinion/find_opinions.sql
Normal 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();
|
||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user