// tslint:disable:no-console
import * as moment from 'moment';
import * as mongoose from 'mongoose';
import * as redis from 'redis';
import { chevre } from '../../../../lib/index';

// const project = { id: String(process.env.PROJECT_ID) };

const redisClient = 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,
    name: 'checkRedisKeyCount'
})
    .on('error', (err) => {
        // eslint-disable-next-line no-console
        console.error('createDefaultRedisClient: client onError:', err);
        // reject(err);
    });
redisClient.connect();
mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });

async function main() {
    const transactionNumberRepo = await chevre.repository.TransactionNumber.createInstance({
        redisClient,
        connection: mongoose.connection
    });
    const result = await transactionNumberRepo.setUseMongo4transactionNumberFrom({
        useMongo4transactionNumberFrom: moment('2025-06-05T22:45:00Z')
            .toDate()
    });
    console.log(result);
}

main()
    .then(() => {
        console.log('success!');
    })
    .catch(console.error);
