feedvault.se/sql/queries/feeds.sql

451 lines
5.8 KiB
SQL

-- name: CreateFeed :one
INSERT INTO
feeds (
"url",
created_at,
updated_at,
deleted_at,
title,
"description",
link,
feed_link,
links,
updated,
updated_parsed,
published,
published_parsed,
"language",
copyright,
generator,
categories,
custom,
feed_type,
feed_version
)
VALUES
(
$1,
$2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$13,
$14,
$15,
$16,
$17,
$18,
$19,
$20
)
RETURNING
*;
-- name: CountFeeds :one
SELECT
COUNT(*)
FROM
feeds;
-- name: CreateItem :one
INSERT INTO
items (
created_at,
updated_at,
deleted_at,
title,
"description",
content,
link,
links,
updated,
updated_parsed,
published,
published_parsed,
"guid",
categories,
custom,
feed_id
)
VALUES
(
$1,
$2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$13,
$14,
$15,
$16
)
RETURNING
*;
-- name: CountItems :one
SELECT
COUNT(*)
FROM
items;
-- name: GetFeed :one
SELECT
*
FROM
feeds
WHERE
id = $1;
-- name: GetFeeds :many
SELECT
*
FROM
feeds
ORDER BY
created_at DESC
LIMIT
$1
OFFSET
$2;
-- name: GetItem :one
SELECT
*
FROM
items
WHERE
id = $1;
-- name: GetItems :many
SELECT
*
FROM
items
WHERE
feed_id = $1
ORDER BY
created_at DESC
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;
-- name: CreateFeedAuthor :one
INSERT INTO
feed_authors (
created_at,
updated_at,
deleted_at,
"name",
email,
feed_id
)
VALUES
($1, $2, $3, $4, $5, $6)
RETURNING
*;
-- name: CreateItemAuthor :one
INSERT INTO
item_authors (
created_at,
updated_at,
deleted_at,
"name",
email,
item_id
)
VALUES
($1, $2, $3, $4, $5, $6)
RETURNING
*;
-- name: GetFeedAuthors :many
SELECT
*
FROM
feed_authors
WHERE
feed_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;
-- name: GetItemAuthors :many
SELECT
*
FROM
item_authors
WHERE
item_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;
-- name: CreateFeedImage :one
INSERT INTO
feed_images (
created_at,
updated_at,
deleted_at,
"url",
title,
feed_id
)
VALUES
($1, $2, $3, $4, $5, $6)
RETURNING
*;
-- name: CreateItemImage :one
INSERT INTO
item_images (
created_at,
updated_at,
deleted_at,
"url",
title,
item_id
)
VALUES
($1, $2, $3, $4, $5, $6)
RETURNING
*;
-- name: GetFeedImages :many
SELECT
*
FROM
feed_images
WHERE
feed_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;
-- name: GetItemImages :many
SELECT
*
FROM
item_images
WHERE
item_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;
-- name: CreateFeedDublinCore :one
INSERT INTO
feed_dublin_cores (
created_at,
updated_at,
deleted_at,
title,
creator,
author,
"subject",
"description",
publisher,
contributor,
"date",
"type",
format,
identifier,
source,
"language",
relation,
coverage,
rights,
feed_id
)
VALUES
(
$1,
$2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$13,
$14,
$15,
$16,
$17,
$18,
$19,
$20
)
RETURNING
*;
-- name: CreateItemDublinCore :one
INSERT INTO
item_dublin_cores (
created_at,
updated_at,
deleted_at,
title,
creator,
author,
"subject",
"description",
publisher,
contributor,
"date",
"type",
format,
identifier,
source,
"language",
relation,
coverage,
rights,
item_id
)
VALUES
(
$1,
$2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$13,
$14,
$15,
$16,
$17,
$18,
$19,
$20
)
RETURNING
*;
-- name: GetFeedDublinCores :many
SELECT
*
FROM
feed_dublin_cores
WHERE
feed_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;
-- name: GetItemDublinCores :many
SELECT
*
FROM
item_dublin_cores
WHERE
item_id = $1
ORDER BY
created_at DESC
LIMIT
$2
OFFSET
$3;