UNPKG

@deep-foundation/deeplinks

Version:

[![npm](https://img.shields.io/npm/v/@deep-foundation/deeplinks.svg)](https://www.npmjs.com/package/@deep-foundation/deeplinks) [![Gitpod](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/deep-fo

45 lines 2.23 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { generateQuery, generateQueryData } from '../gql/index.js'; import { HasuraApi } from '@deep-foundation/hasura/api.js'; import { generateApolloClient } from '@deep-foundation/hasura/client.js'; import { serializeError } from 'serialize-error'; const RESERVED_LIFETIME_MS = +process.env.RESERVED_LIFETIME || 24 * 60 * 60 * 1000; export const api = new HasuraApi({ path: process.env.DEEPLINKS_HASURA_PATH, ssl: !!+process.env.DEEPLINKS_HASURA_SSL, secret: process.env.DEEPLINKS_HASURA_SECRET, }); const client = generateApolloClient({ path: `${process.env.DEEPLINKS_HASURA_PATH}/v1/graphql`, ssl: !!+process.env.DEEPLINKS_HASURA_SSL, secret: process.env.DEEPLINKS_HASURA_SECRET, }); export default (req, res) => __awaiter(void 0, void 0, void 0, function* () { try { const body = req === null || req === void 0 ? void 0 : req.body; const result = yield client.query(generateQuery({ queries: [ generateQueryData({ tableName: 'reserved', returning: `reserved_ids`, variables: { where: { created_at: { _lt: new Date(Date.now() - RESERVED_LIFETIME_MS) } } } }), ], name: 'CRON_RESERVED', })); return res.json({ cleaned: [] }); } catch (e) { const serializedError = serializeError(e); return res.status(500).json({ error: serializedError }); } }); //# sourceMappingURL=reserved-cleaner.js.map