📦 EqualifyEverything / equalify-api

📄 getUpdates.ts · 30 lines
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
30import { graphql } from '#src/utils';

export const getUpdates = async ({ request, reply }) => {
    const response = await graphql({
        request,
        query: `query($limit: Int, $offset: Int){
            updates: enode_updates_aggregate(limit: $limit, offset: $offset, ${(request.query.startDate && request.query.endDate) ? `where: {
                created_at: { _gte: "${request.query.startDate}" },
                created_at: { _lte: "${request.query.endDate}" }
            }` : ''}
                ) { 
                nodes {
                    id
                    created_at
                }
                totalCount: aggregate {count}
            }
        }`,
        variables: {
            limit: parseInt(request.query.limit ?? 100),
            offset: parseInt(request.query.offset ?? 0),
        },
    });

    return {
        status: 'success',
        result: response?.updates?.nodes,
        total: response?.updates?.totalCount?.count,
    };
}