UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

65 lines (58 loc) 1.74 kB
// tslint:disable:no-console import * as redis from 'redis'; import { chevre } from '../../../../lib/index'; const project = { id: String(process.env.PROJECT_ID) }; const client = redis.createClient<redis.RedisDefaultModules, Record<string, never>, Record<string, never>>({ socket: { port: Number(<string>process.env.REDIS_PORT), host: <string>process.env.REDIS_HOST }, password: <string>process.env.REDIS_KEY }) .on('error', (err) => { // eslint-disable-next-line no-console console.error('createDefaultRedisClient: client onError:', err); // reject(err); }); client.connect(); // tslint:disable-next-line:max-func-body-length async function main() { const rateLimitRepo = await chevre.repository.rateLimit.Offer.createInstance( client ); // await rateLimitRepo.unlock({ // project: { id: project.id }, // reservedTicket: { // ticketType: { // validRateLimit: { // scope: 'scope2', // unitInSeconds: 60 // } // } // }, // reservationFor: { // startDate: new Date() // }, // reservationNumber: 'xxx' // }); // console.log('unlocked'); await rateLimitRepo.lock({ project: { id: project.id }, reservedTicket: { ticketType: { validRateLimit: { scope: 'scope2', unitInSeconds: 60 } } }, reservationFor: { startDate: new Date() }, reservationNumber: 'xxx' }); console.log('locked'); } main() .then() .catch(console.error);