Add feed and item extensions

This commit is contained in:
Joakim Hellsén 2024-02-17 21:17:58 +01:00
commit 3113b844bc
9 changed files with 448 additions and 54 deletions

View file

@ -44,7 +44,9 @@ VALUES
$18,
$19,
$20
) RETURNING *;
)
RETURNING
*;
-- name: CountFeeds :one
SELECT
@ -90,7 +92,9 @@ VALUES
$14,
$15,
$16
) RETURNING *;
)
RETURNING
*;
-- name: CountItems :one
SELECT
@ -113,8 +117,10 @@ FROM
feeds
ORDER BY
created_at DESC
LIMIT $1
OFFSET $2;
LIMIT
$1
OFFSET
$2;
-- name: GetItem :one
SELECT
@ -133,5 +139,69 @@ WHERE
feed_id = $1
ORDER BY
created_at DESC
LIMIT $2
OFFSET $3;
LIMIT
$2
OFFSET
$3;
-- name: CreateFeedExtension :one
INSERT INTO
feed_extensions (
created_at,
updated_at,
deleted_at,
"name",
"value",
attrs,
children,
feed_id
)
VALUES
($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING
*;
-- name: CreateItemExtension :one
INSERT INTO
item_extensions (
created_at,
updated_at,
deleted_at,
"name",
"value",
attrs,
children,
item_id
)
VALUES
($1, $2, $3, $4, $5, $6, $7, $8)
RETURNING
*;
-- name: GetFeedExtensions :many
SELECT
*
FROM
feed_extensions
WHERE
feed_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;
-- name: GetItemExtensions :many
SELECT
*
FROM
item_extensions
WHERE
item_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;

View file

@ -46,9 +46,9 @@ CREATE TABLE IF NOT EXISTS items (
link TEXT,
links TEXT [],
updated TEXT,
updated_parsed TIMESTAMP,
updated_parsed TIMESTAMPTZ,
published TEXT,
published_parsed TIMESTAMP,
published_parsed TIMESTAMPTZ,
-- Authors - See item_authors
"guid" TEXT,
-- Image - See item_images

View file

@ -54,9 +54,9 @@ CREATE TABLE IF NOT EXISTS item_itunes (
-- https://github.com/mmcdole/gofeed/blob/master/extensions/itunes.go#L39
CREATE TABLE IF NOT EXISTS itunes_categories (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP DEFAULT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMPTZ DEFAULT NULL,
-- From gofeed:
"text" TEXT,
subcategory TEXT,
@ -69,9 +69,9 @@ CREATE TABLE IF NOT EXISTS itunes_categories (
-- https://github.com/mmcdole/gofeed/blob/master/extensions/itunes.go#L45
CREATE TABLE IF NOT EXISTS itunes_owners (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMP DEFAULT NULL,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
deleted_at TIMESTAMPTZ DEFAULT NULL,
-- From gofeed:
email TEXT,
"name" TEXT,