-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathquery.js
More file actions
44 lines (42 loc) · 1.13 KB
/
query.js
File metadata and controls
44 lines (42 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
const { getFiles } = require('./utils/upload');
const { setQuery } = require('./utils/dbqueries');
const Query = {
getPosts: async () => {
const res = await setQuery('SELECT * FROM "Post"');
return res;
},
getPostById: async (_, { id }) => {
const [res] = await setQuery(`SELECT * FROM "Post" WHERE id=${id}`);
return res;
},
getPostComments: async (_, { postId }) => {
const res = await setQuery(
`SELECT * FROM "Comment" WHERE "postId"=${postId}`
);
return res;
},
getPostByTags: async (_, { tags }) => {
const res = await setQuery(
`SELECT * FROM "Post" AS t
WHERE (
SELECT true
FROM unnest(t.tags) AS n
WHERE n ILIKE '${tags}'
LIMIT 1
);`
);
return res;
},
getBlogsIFollow: async () => {
const res = await setQuery(`SELECT * FROM "BlogIFollow"`);
return res;
},
files: async () => await getFiles(),
getPostsByDate: async (_, { month, year }) => {
const res = await setQuery(
`SELECT * FROM "Post" WHERE "createdAt" LIKE '%${month}-${year}'`
);
return res;
},
};
module.exports = Query;