Newer
Older
package db
var selectUserByToken = `
SELECT
u.id AS id,
username,
email,
is_admin,
FROM
users u,
tokens t
WHERE
u.id = t.user_id AND
t.token = $1
LIMIT 1
`
var countOfObjectByBucketAndRandomKey = `
SELECT
COUNT(*) as count
FROM
objects
WHERE
bucket = $1 AND
random_key = $2
`
var insertShortURL = `
INSERT INTO
objects (bucket_key, bucket, key, random_key, dir, type, dest_url, content_type, associated_user)
VALUES
($1, $2, $3, $4, '/', 1, $5, NULL, $6)
`
var insertFile = `
INSERT INTO
objects (bucket_key, bucket, key, random_key, dir, content_type, content_length, md5_hash, associated_user)
VALUES
($1, $2, $3, $4, '/', $5, $6, $7, $8)
`
var selectUserByUsernameOrEmail = `
SELECT
id
FROM
users
WHERE
username_lower = $1 OR
email = $2
`
var insertUser = `
INSERT INTO
users (id, username, username_lower, email)
VALUES
($1, $2, $3, $4)
`
var insertToken = `
INSERT INTO
tokens (user_id, token)
VALUES
($1, $2)
`
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
var listObjectsByAssociatedUser = `
SELECT
bucket,
key,
dir,
"type",
dest_url,
content_type,
content_length,
created_at,
deleted_at,
delete_reason,
md5_hash,
associated_user
FROM
objects
WHERE
associated_user = $1
ORDER BY
created_at %s
LIMIT $2
OFFSET $3
`
var getObjectByBucketKey = `
SELECT
bucket,
key,
dir,
"type",
dest_url,
content_type,
content_length,
created_at,
deleted_at,
delete_reason,
md5_hash,
associated_user
FROM
objects
WHERE
bucket_key = $1
LIMIT 1
`
var updateObjectToTombstone = `
UPDATE
objects
SET
type = 2,
deleted_at = CURRENT_TIMESTAMP,
dest_url = NULL,
content_type = NULL,
content_length = NULL,
delete_reason = $1,
md5_hash = NULL,
associated_user = NULL
WHERE
bucket_key = $2
`