mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2024-12-23 08:13:09 +02:00
transactions
This commit is contained in:
parent
35d4a73c4d
commit
c5b8ff0a07
@ -18,32 +18,32 @@ module.exports = class TicketArchives {
|
|||||||
|
|
||||||
async addMessage(message) {
|
async addMessage(message) {
|
||||||
try {
|
try {
|
||||||
await this.client.db.transaction(async t => {
|
// await this.client.db.transaction(async t => {
|
||||||
let t_row = await this.client.db.models.Ticket.findOne({
|
let t_row = await this.client.db.models.Ticket.findOne({
|
||||||
where: {
|
where: {
|
||||||
id: message.channel.id
|
id: message.channel.id
|
||||||
},
|
},
|
||||||
transaction: t
|
/* transaction: t */
|
||||||
});
|
|
||||||
|
|
||||||
if (t_row) {
|
|
||||||
await this.client.db.models.Message.create({
|
|
||||||
id: message.id,
|
|
||||||
ticket: t_row.id,
|
|
||||||
author: message.author.id,
|
|
||||||
data: this.encrypt(JSON.stringify({
|
|
||||||
content: message.content,
|
|
||||||
embeds: message.embeds.map(embed => {
|
|
||||||
return { embed };
|
|
||||||
}),
|
|
||||||
attachments: [...message.attachments.values()]
|
|
||||||
})),
|
|
||||||
createdAt: new Date(message.createdTimestamp)
|
|
||||||
}, { transaction: t });
|
|
||||||
|
|
||||||
await this.updateEntities(message);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (t_row) {
|
||||||
|
await this.client.db.models.Message.create({
|
||||||
|
id: message.id,
|
||||||
|
ticket: t_row.id,
|
||||||
|
author: message.author.id,
|
||||||
|
data: this.encrypt(JSON.stringify({
|
||||||
|
content: message.content,
|
||||||
|
embeds: message.embeds.map(embed => {
|
||||||
|
return { embed };
|
||||||
|
}),
|
||||||
|
attachments: [...message.attachments.values()]
|
||||||
|
})),
|
||||||
|
createdAt: new Date(message.createdTimestamp)
|
||||||
|
}, /* { transaction: t } */);
|
||||||
|
|
||||||
|
await this.updateEntities(message);
|
||||||
|
}
|
||||||
|
// });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.client.log.warn('Failed to add a message to the ticket archive');
|
this.client.log.warn('Failed to add a message to the ticket archive');
|
||||||
this.client.log.error(e);
|
this.client.log.error(e);
|
||||||
@ -52,31 +52,31 @@ module.exports = class TicketArchives {
|
|||||||
|
|
||||||
async updateMessage(message) {
|
async updateMessage(message) {
|
||||||
try {
|
try {
|
||||||
await this.client.db.transaction(async t => {
|
// await this.client.db.transaction(async t => {
|
||||||
let m_row = await this.client.db.models.Message.findOne({
|
let m_row = await this.client.db.models.Message.findOne({
|
||||||
where: {
|
where: {
|
||||||
id: message.id
|
id: message.id
|
||||||
},
|
},
|
||||||
transaction: t
|
/* transaction: t */
|
||||||
});
|
|
||||||
|
|
||||||
if (m_row) {
|
|
||||||
m_row.data = this.encrypt(JSON.stringify({
|
|
||||||
content: message.content,
|
|
||||||
embeds: message.embeds.map(embed => {
|
|
||||||
return { embed };
|
|
||||||
}),
|
|
||||||
attachments: [...message.attachments.values()]
|
|
||||||
}));
|
|
||||||
|
|
||||||
if (message.editedTimestamp) {
|
|
||||||
m_row.edited = true;
|
|
||||||
await this.updateEntities(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
await m_row.save({ transaction: t }); // save changes
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (m_row) {
|
||||||
|
m_row.data = this.encrypt(JSON.stringify({
|
||||||
|
content: message.content,
|
||||||
|
embeds: message.embeds.map(embed => {
|
||||||
|
return { embed };
|
||||||
|
}),
|
||||||
|
attachments: [...message.attachments.values()]
|
||||||
|
}));
|
||||||
|
|
||||||
|
if (message.editedTimestamp) {
|
||||||
|
m_row.edited = true;
|
||||||
|
await this.updateEntities(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
await m_row.save(/* { transaction: t } */); // save changes
|
||||||
|
}
|
||||||
|
// });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.client.log.warn('Failed to update message in the ticket archive');
|
this.client.log.warn('Failed to update message in the ticket archive');
|
||||||
this.client.log.error(e);
|
this.client.log.error(e);
|
||||||
@ -85,19 +85,19 @@ module.exports = class TicketArchives {
|
|||||||
|
|
||||||
async deleteMessage(message) {
|
async deleteMessage(message) {
|
||||||
try {
|
try {
|
||||||
await this.client.db.transaction(async t => {
|
// await this.client.db.transaction(async t => {
|
||||||
let msg = await this.client.db.models.Message.findOne({
|
let msg = await this.client.db.models.Message.findOne({
|
||||||
where: {
|
where: {
|
||||||
id: message.id
|
id: message.id
|
||||||
},
|
},
|
||||||
transaction: t
|
/* transaction: t */
|
||||||
});
|
|
||||||
|
|
||||||
if (msg) {
|
|
||||||
msg.deleted = true;
|
|
||||||
await msg.save({ transaction: t }); // save changes to message row
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (msg) {
|
||||||
|
msg.deleted = true;
|
||||||
|
await msg.save(/* { transaction: t } */); // save changes to message row
|
||||||
|
}
|
||||||
|
// });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.client.log.warn('Failed to delete message in ticket archive');
|
this.client.log.warn('Failed to delete message in ticket archive');
|
||||||
this.client.log.error(e);
|
this.client.log.error(e);
|
||||||
@ -128,32 +128,32 @@ module.exports = class TicketArchives {
|
|||||||
await this.updateRole(ticket_id, member.roles.highest);
|
await this.updateRole(ticket_id, member.roles.highest);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await this.client.db.transaction(async t => {
|
// await this.client.db.transaction(async t => {
|
||||||
let u_model_data = {
|
let u_model_data = {
|
||||||
user: member.user.id,
|
user: member.user.id,
|
||||||
ticket: ticket_id
|
ticket: ticket_id
|
||||||
};
|
};
|
||||||
|
|
||||||
let [u_row] = await this.client.db.models.UserEntity.findOrCreate({
|
let [u_row] = await this.client.db.models.UserEntity.findOrCreate({
|
||||||
where: u_model_data,
|
where: u_model_data,
|
||||||
defaults: {
|
defaults: {
|
||||||
...u_model_data,
|
...u_model_data,
|
||||||
role: member.roles.highest.id
|
role: member.roles.highest.id
|
||||||
},
|
},
|
||||||
transaction: t
|
/* transaction: t */
|
||||||
});
|
|
||||||
|
|
||||||
await u_row.update({
|
|
||||||
avatar: member.user.avatar,
|
|
||||||
username: this.encrypt(member.user.username),
|
|
||||||
discriminator: member.user.discriminator,
|
|
||||||
display_name: this.encrypt(member.displayName),
|
|
||||||
role: member.roles.highest.id,
|
|
||||||
bot: member.user.bot
|
|
||||||
}, { transaction: t });
|
|
||||||
|
|
||||||
return u_row;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await u_row.update({
|
||||||
|
avatar: member.user.avatar,
|
||||||
|
username: this.encrypt(member.user.username),
|
||||||
|
discriminator: member.user.discriminator,
|
||||||
|
display_name: this.encrypt(member.displayName),
|
||||||
|
role: member.roles.highest.id,
|
||||||
|
bot: member.user.bot
|
||||||
|
}, /* { transaction: t } */);
|
||||||
|
|
||||||
|
return u_row;
|
||||||
|
// });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.client.log.warn('Failed to update message author entity in ticket archive');
|
this.client.log.warn('Failed to update message author entity in ticket archive');
|
||||||
this.client.log.error(e);
|
this.client.log.error(e);
|
||||||
@ -162,23 +162,23 @@ module.exports = class TicketArchives {
|
|||||||
|
|
||||||
async updateChannel(ticket_id, channel) {
|
async updateChannel(ticket_id, channel) {
|
||||||
try {
|
try {
|
||||||
await this.client.db.transaction(async t => {
|
// await this.client.db.transaction(async t => {
|
||||||
let c_model_data = {
|
let c_model_data = {
|
||||||
channel: channel.id,
|
channel: channel.id,
|
||||||
ticket: ticket_id
|
ticket: ticket_id
|
||||||
};
|
};
|
||||||
let [c_row] = await this.client.db.models.ChannelEntity.findOrCreate({
|
let [c_row] = await this.client.db.models.ChannelEntity.findOrCreate({
|
||||||
where: c_model_data,
|
where: c_model_data,
|
||||||
defaults: c_model_data,
|
defaults: c_model_data,
|
||||||
transaction: t
|
/* transaction: t */
|
||||||
});
|
|
||||||
|
|
||||||
await c_row.update({
|
|
||||||
name: this.encrypt(channel.name)
|
|
||||||
}, { transaction: t });
|
|
||||||
|
|
||||||
return c_row;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await c_row.update({
|
||||||
|
name: this.encrypt(channel.name)
|
||||||
|
}, /* { transaction: t } */);
|
||||||
|
|
||||||
|
return c_row;
|
||||||
|
// });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.client.log.warn('Failed to update mentioned channels entities in ticket archive');
|
this.client.log.warn('Failed to update mentioned channels entities in ticket archive');
|
||||||
this.client.log.error(e);
|
this.client.log.error(e);
|
||||||
@ -187,24 +187,24 @@ module.exports = class TicketArchives {
|
|||||||
|
|
||||||
async updateRole(ticket_id, role) {
|
async updateRole(ticket_id, role) {
|
||||||
try {
|
try {
|
||||||
await this.client.db.transaction(async t => {
|
// await this.client.db.transaction(async t => {
|
||||||
let r_model_data = {
|
let r_model_data = {
|
||||||
role: role.id,
|
role: role.id,
|
||||||
ticket: ticket_id
|
ticket: ticket_id
|
||||||
};
|
};
|
||||||
let [r_row] = await this.client.db.models.RoleEntity.findOrCreate({
|
let [r_row] = await this.client.db.models.RoleEntity.findOrCreate({
|
||||||
where: r_model_data,
|
where: r_model_data,
|
||||||
defaults: r_model_data,
|
defaults: r_model_data,
|
||||||
transaction: t
|
/* transaction: t */
|
||||||
});
|
|
||||||
|
|
||||||
await r_row.update({
|
|
||||||
name: this.encrypt(role.name),
|
|
||||||
colour: role.color === 0 ? '7289DA' : int2hex(role.color) // 7289DA = 7506394
|
|
||||||
}, { transaction: t });
|
|
||||||
|
|
||||||
return r_row;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await r_row.update({
|
||||||
|
name: this.encrypt(role.name),
|
||||||
|
colour: role.color === 0 ? '7289DA' : int2hex(role.color) // 7289DA = 7506394
|
||||||
|
}, /* { transaction: t } */);
|
||||||
|
|
||||||
|
return r_row;
|
||||||
|
// });
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.client.log.warn('Failed to update mentioned roles entities in ticket archive');
|
this.client.log.warn('Failed to update mentioned roles entities in ticket archive');
|
||||||
this.client.log.error(e);
|
this.client.log.error(e);
|
||||||
|
Loading…
Reference in New Issue
Block a user