Compare commits

...

2 commits

7 changed files with 72 additions and 28 deletions

View file

@ -53,7 +53,7 @@ SET
:date,
:time,
:og_desambiguator,
$extra_data :: jsonb ->> 'lg_uid'
:lg_id
);
INSERT INTO
@ -71,5 +71,7 @@ VALUES
:text,
:lg_id :: int,
:date :: date + :time :: time
) RETURNING 'redirect' AS component,
)
RETURNING
'redirect' AS component,
$return_link AS link;

View file

@ -4,7 +4,6 @@ SELECT
SELECT
'form' AS component,
'entries/search.sql' AS "action",
'Entries' AS title,
'' AS validate,
'GET' AS method;
@ -13,6 +12,7 @@ SELECT
'query' AS name,
'' AS label,
'Search query...' AS placeholder,
$query as value,
10 AS width,
TRUE AS autofocus;
@ -20,10 +20,11 @@ SELECT
'search' AS name,
'' AS label,
'Search' AS value,
2 AS width,
'btn btn-info' AS class,
2 AS width,
'submit' AS "type";
SELECT
'new' AS name,
'' AS label,
@ -47,7 +48,9 @@ SELECT
text AS description
FROM
public.entries
WHERE
($query IS NULL OR search_vector @@ to_tsquery('es_en', $query))
ORDER BY
created_at
LIMIT
10;
30;

View file

@ -16,7 +16,6 @@ SELECT
'Source' AS label,
'select' AS TYPE,
TRUE AS required,
TRUE AS searchable,
'Select...' AS empty_option,
(
SELECT

View file

@ -1,7 +1,7 @@
INSERT INTO
public.sources(name, uid, uri)
public.sources(name, uid, uri, desambiguator_type_id)
VALUES
(:name, :uid, :uri)
RETURNING 'redirect' AS component, 'index.sql' AS link
;
(:name, :uid, :uri, :desambiguator_type_id :: int)
RETURNING
'redirect' AS component,
'index.sql' AS link;

View file

@ -25,6 +25,19 @@ SELECT
1 AS minlength,
TRUE AS required;
SELECT
'desambiguator_type_id' AS name,
'Deseambiguator Type' AS label,
'select' AS TYPE,
TRUE AS required,
'Select...' AS empty_option,
(
SELECT
jsonb_agg(jsonb_build_object('label', name, 'value', id))
FROM
public.desambiguator_types
) AS options;
SELECT
'uri' AS name,
'URI' AS label;
@ -38,6 +51,12 @@ SELECT
TRUE AS search;
SELECT
*
src.id,
src.name,
src.uid,
dts.name AS "Deseambiguator Type",
src.uri,
to_char(src.created_at, 'YYYY-MM-DD HH12:MI:SS TZ') AS "Created At"
FROM
public.sources;
public.sources AS src
INNER JOIN public.desambiguator_types AS dts ON src.desambiguator_type_id = dts.id;

View file

@ -0,0 +1,27 @@
-- migrate:up
CREATE TEXT SEARCH CONFIGURATION es_en (COPY = pg_catalog.english);
ALTER TEXT SEARCH CONFIGURATION es_en ALTER MAPPING FOR asciiword,
asciihword,
hword_asciipart,
word,
hword,
hword_part WITH spanish_stem,
english_stem;
ALTER TABLE
public.entries
ADD
COLUMN search_vector tsvector GENERATED ALWAYS AS (
to_tsvector(
'es_en',
coalesce(uid, '') || ' ' || coalesce(text, '')
)
) STORED;
CREATE INDEX entry_full_text_search ON public.entries USING gin (search_vector);
-- migrate:down
DROP INDEX IF EXISTS entry_full_text_search;
DROP TEXT SEARCH CONFIGURATION IF EXISTS es_en;

View file

@ -7,22 +7,16 @@
"theme": "dark",
"css": "/style.css",
"menu_item": [
{ "link": "index.sql", "title": "Home" },
{ "icon": "home", "link": "/", "title": "Home" },
{
"title": "Dependencies",
"icon": "brand-stackshare",
"submenu": [
{
"link": "/logic_groups/index.sql",
"title": "Logic Groups",
"icon": "folder"
},
{
"link": "/sources/index.sql",
"title": "Sources",
"icon": "external-link"
}
]
"link": "/logic_groups/index.sql",
"title": "Logic Groups",
"icon": "folder"
},
{
"link": "/sources/index.sql",
"title": "Sources",
"icon": "external-link"
}
]
}