RSS Git Download  Clone
Raw Blame History 828B 36 lines
import * as sharedIoRedis from '../shared.mjs'
import utils from 'corifeus-utils'

const consolePrefix = 'socket.io key list delete index'

export default async (options) => {
    const {socket, payload} = options;

    const redis = socket.p3xrs.ioredis

    try {
        sharedIoRedis.ensureReadonlyConnection({ socket })

        const {index, key} = payload;

        const uniqueValue = utils.random.complexUuid()
        console.log(consolePrefix, key, index, uniqueValue)

        await redis.lset(key, index, uniqueValue)
        await redis.lrem(key, 1, uniqueValue)

        socket.emit(options.responseEvent, {
            status: 'ok',
        })

    } catch (e) {
        console.error(e)
        socket.emit(options.responseEvent, {
            status: 'error',
            error: e.message
        })

    }

}