query(q) { // Query with filter on time ranges if (q.filter) { const parsedQuery = querystring.parse(q.filter) const feedback = this.mockData.find((f) => f.event == parsedQuery.event && f.topic == parsedQuery.topic) console.log('fffffffffff', feedback) if (feedback) { return feedback } else { return new Error(MSG_NO_RESULT) } } return super.query(q) }
Promise.all( matchNames.map(async (tableName) => { const tableRecords = await exports.query(`SELECT * FROM ${tableName}`); if (tableRecords.length > 0 && !tableRecords[0].guild_id) return; if (!exports.cache[tableName]) { exports.cache[tableName] = {}; exports.cache[tableName]._primaryKey = await exports.fetchPrimaryKey(tableName); } const primaryColumn = exports.cache[tableName]._primaryKey; for (let i = 0; i < tableRecords.length; i++) { const record = tableRecords[i]; const guildId = record.guild_id; if (!exports.cache[tableName][guildId]) exports.cache[tableName][guildId] = {}; exports.cache[tableName][guildId][record[primaryColumn]] = Util.cloneObj(record, true); } }), )
query(q) { // Query with filter on time ranges if (q.filter) { let filterF = function() { return false } let date = q.filter.match(/\d+-\d+-\d+/)[0] if (q.filter.includes('start') && q.filter.includes('end')) { filterF = function(e) { return e.start <= date && e.end >= date } } else if (q.filter.includes('end')) { filterF = function(e) { return e.end < date } } else if (q.filter.includes('start')) { filterF = function(e) { return e.start > date } } return this.mockData.filter(filterF) } return super.query(q) }