BetterDiscordApp-v2/client/src/modules/database.js

62 lines
1.5 KiB
JavaScript
Raw Normal View History

2018-03-07 09:12:44 +01:00
/**
* BetterDiscord Database Module
* Copyright (c) 2015-present Jiiks/JsSucks - https://github.com/Jiiks / https://github.com/JsSucks
* All rights reserved.
* https://betterdiscord.net
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
2018-03-21 21:52:42 +01:00
import { ClientIPC } from 'common';
2018-03-07 09:12:44 +01:00
export default class {
static async init() {
return true;
}
/**
* Inserts or updates data in the database.
* @param {Object} args The record to find
* @param {Object} data The new record
* @return {Promise}
*/
2018-03-07 09:12:44 +01:00
static async insertOrUpdate(args, data) {
try {
return ClientIPC.send('bd-dba', { action: 'update', args, data });
} catch (err) {
throw err;
}
}
/**
* Finds data in the database.
* @param {Object} args The record to find
* @return {Promise}
*/
2018-03-07 09:12:44 +01:00
static async find(args) {
try {
return ClientIPC.send('bd-dba', { action: 'find', args });
} catch (err) {
throw err;
}
}
2018-03-21 21:52:42 +01:00
2018-08-20 01:38:17 +02:00
/**
* Find first in the database
* @param {Object} args The record to find
* @return {Promise} null if record was not found
*/
static async findOne(args) {
try {
const find = await this.find(args);
if (find && find.length) return find[0];
return null;
} catch (err) {
throw err;
}
}
2018-03-07 09:12:44 +01:00
}