mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-04 09:21:25 +03:00
Giving up on encryption
and life
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
const { EmbedBuilder } = require('discord.js');
|
||||
const {
|
||||
cleanCodeBlockContent,
|
||||
EmbedBuilder,
|
||||
} = require('discord.js');
|
||||
const { diff: getDiff } = require('object-diffy');
|
||||
|
||||
function makeDiff({
|
||||
@@ -8,12 +11,12 @@ function makeDiff({
|
||||
const fields = [];
|
||||
for (const key in diff) {
|
||||
if (key === 'createdAt') continue; // object-diffy doesn't like dates
|
||||
const from = diff[key].from === null ? '' : `- ${diff[key].from}\n`;
|
||||
const to = diff[key].to === null ? '' : `+ ${diff[key].to}\n`;
|
||||
const from = diff[key].from === null ? '' : `- ${diff[key].from.toString().replace(/\n/g, '\\n')}\n`;
|
||||
const to = diff[key].to === null ? '' : `+ ${diff[key].to.toString().replace(/\n/g, '\\n')}\n`;
|
||||
fields.push({
|
||||
inline: true,
|
||||
name: key,
|
||||
value: `\`\`\`diff\n${from + to}\n\`\`\``,
|
||||
value: `\`\`\`diff\n${cleanCodeBlockContent(from + to)}\n\`\`\``,
|
||||
});
|
||||
}
|
||||
return fields;
|
||||
|
@@ -1,69 +0,0 @@
|
||||
const Cryptr = require('cryptr');
|
||||
const cryptr = new Cryptr(process.env.ENCRYPTION_KEY);
|
||||
const fields = [
|
||||
'name',
|
||||
'content',
|
||||
'username',
|
||||
'displayName',
|
||||
// 'channelName',
|
||||
'openingMessage',
|
||||
'description',
|
||||
'value',
|
||||
'placeholder',
|
||||
'closedReason',
|
||||
'topic',
|
||||
'comment',
|
||||
'label',
|
||||
'regex',
|
||||
];
|
||||
const shouldEncrypt = ['create', 'createMany', 'update', 'updateMany', 'upsert'];
|
||||
// const shouldDecrypt = ['findUnique', 'findFirst', 'findMany'];
|
||||
|
||||
|
||||
|
||||
|
||||
module.exports = log => {
|
||||
const encrypt = obj => {
|
||||
for (const prop in obj) {
|
||||
if (obj.hasOwnProperty(prop)) {
|
||||
if (typeof obj[prop] === 'object') {
|
||||
obj[prop] = encrypt(obj[prop]);
|
||||
} else if (typeof obj[prop] === 'string' && obj[prop].length !== 0 && fields.includes(prop)) {
|
||||
try {
|
||||
obj[prop] = cryptr.encrypt(obj[prop]);
|
||||
} catch (error) {
|
||||
log.warn(`Failed to encrypt ${prop}`);
|
||||
log.debug(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
};
|
||||
|
||||
const decrypt = obj => {
|
||||
for (const prop in obj) {
|
||||
if (obj.hasOwnProperty(prop)) {
|
||||
if (typeof obj[prop] === 'object') {
|
||||
obj[prop] = decrypt(obj[prop]);
|
||||
} else if (typeof obj[prop] === 'string' && obj[prop].length !== 0 && fields.includes(prop)) {
|
||||
try {
|
||||
obj[prop] = cryptr.decrypt(obj[prop]);
|
||||
} catch (error) {
|
||||
log.warn(`Failed to decrypt ${prop}`);
|
||||
log.debug(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return obj;
|
||||
};
|
||||
|
||||
return async (params, next) => {
|
||||
if (params.args.data && shouldEncrypt.includes(params.action)) params.args = encrypt(params.args);
|
||||
let result = await next(params);
|
||||
// if (result && shouldDecrypt.includes(params.action)) result = decrypt(result);
|
||||
if (result) result = decrypt(result);
|
||||
return result;
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user