mirror of
https://git.pleroma.social/pleroma/relay.git
synced 2025-04-19 17:16:42 +00:00
185 lines
3.4 KiB
SQL
185 lines
3.4 KiB
SQL
-- name: get-config
|
|
SELECT * FROM config WHERE key = :key;
|
|
|
|
|
|
-- name: get-config-all
|
|
SELECT * FROM config;
|
|
|
|
|
|
-- name: put-config
|
|
INSERT INTO config (key, value, type)
|
|
VALUES (:key, :value, :type)
|
|
ON CONFLICT (key) DO UPDATE SET value = :value
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-config
|
|
DELETE FROM config
|
|
WHERE key = :key;
|
|
|
|
|
|
-- name: get-inbox
|
|
SELECT * FROM inboxes WHERE domain = :value or inbox = :value or actor = :value;
|
|
|
|
|
|
-- name: put-inbox
|
|
INSERT INTO inboxes (domain, actor, inbox, followid, software, created)
|
|
VALUES (:domain, :actor, :inbox, :followid, :software, :created)
|
|
ON CONFLICT (domain) DO UPDATE SET followid = :followid
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-inbox
|
|
DELETE FROM inboxes
|
|
WHERE domain = :value or inbox = :value or actor = :value;
|
|
|
|
|
|
-- name: get-user
|
|
SELECT * FROM users
|
|
WHERE username = :value or handle = :value;
|
|
|
|
|
|
-- name: get-user-by-token
|
|
SELECT * FROM users
|
|
WHERE username = (
|
|
SELECT user FROM tokens
|
|
WHERE code = :code
|
|
);
|
|
|
|
|
|
-- name: put-user
|
|
INSERT INTO users (username, hash, handle, created)
|
|
VALUES (:username, :hash, :handle, :created)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-user
|
|
DELETE FROM users
|
|
WHERE username = :value or handle = :value;
|
|
|
|
|
|
-- name: get-token
|
|
SELECT * FROM tokens
|
|
WHERE code = :code;
|
|
|
|
|
|
-- name: put-token
|
|
INSERT INTO tokens (code, user, created)
|
|
VALUES (:code, :user, :created)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-token
|
|
DELETE FROM tokens
|
|
WHERE code = :code;
|
|
|
|
|
|
-- name: del-token-user
|
|
DELETE FROM tokens
|
|
WHERE user = :username;
|
|
|
|
|
|
-- name: get-software-ban
|
|
SELECT * FROM software_bans WHERE name = :name;
|
|
|
|
|
|
-- name: put-software-ban
|
|
INSERT INTO software_bans (name, reason, note, created)
|
|
VALUES (:name, :reason, :note, :created)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-software-ban
|
|
DELETE FROM software_bans
|
|
WHERE name = :name;
|
|
|
|
|
|
-- name: get-domain-ban
|
|
SELECT * FROM domain_bans WHERE domain = :domain;
|
|
|
|
|
|
-- name: put-domain-ban
|
|
INSERT INTO domain_bans (domain, reason, note, created)
|
|
VALUES (:domain, :reason, :note, :created)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-domain-ban
|
|
DELETE FROM domain_bans
|
|
WHERE domain = :domain;
|
|
|
|
|
|
-- name: get-domain-whitelist
|
|
SELECT * FROM whitelist WHERE domain = :domain;
|
|
|
|
|
|
-- name: put-domain-whitelist
|
|
INSERT INTO whitelist (domain, created)
|
|
VALUES (:domain, :created)
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-domain-whitelist
|
|
DELETE FROM whitelist
|
|
WHERE domain = :domain;
|
|
|
|
|
|
-- cache functions --
|
|
|
|
-- name: create-cache-table-sqlite
|
|
CREATE TABLE IF NOT EXISTS cache (
|
|
id INTEGER PRIMARY KEY UNIQUE,
|
|
namespace TEXT NOT NULL,
|
|
key TEXT NOT NULL,
|
|
"value" TEXT,
|
|
type TEXT DEFAULT 'str',
|
|
updated TIMESTAMP NOT NULL,
|
|
UNIQUE(namespace, key)
|
|
);
|
|
|
|
-- name: create-cache-table-postgres
|
|
CREATE TABLE IF NOT EXISTS cache (
|
|
id SERIAL PRIMARY KEY,
|
|
namespace TEXT NOT NULL,
|
|
key TEXT NOT NULL,
|
|
"value" TEXT,
|
|
type TEXT DEFAULT 'str',
|
|
updated TIMESTAMP NOT NULL,
|
|
UNIQUE(namespace, key)
|
|
);
|
|
|
|
|
|
-- name: get-cache-item
|
|
SELECT * FROM cache
|
|
WHERE namespace = :namespace and key = :key;
|
|
|
|
|
|
-- name: get-cache-keys
|
|
SELECT key FROM cache
|
|
WHERE namespace = :namespace;
|
|
|
|
|
|
-- name: get-cache-namespaces
|
|
SELECT DISTINCT namespace FROM cache;
|
|
|
|
|
|
-- name: set-cache-item
|
|
INSERT INTO cache (namespace, key, value, type, updated)
|
|
VALUES (:namespace, :key, :value, :type, :date)
|
|
ON CONFLICT (namespace, key) DO
|
|
UPDATE SET value = :value, type = :type, updated = :date
|
|
RETURNING *;
|
|
|
|
|
|
-- name: del-cache-item
|
|
DELETE FROM cache
|
|
WHERE namespace = :namespace and key = :key;
|
|
|
|
|
|
-- name: del-cache-namespace
|
|
DELETE FROM cache
|
|
WHERE namespace = :namespace;
|
|
|
|
|
|
-- name: del-cache-all
|
|
DELETE FROM cache;
|