Compare commits

2 Commits
Author SHA1 Message Date
DebaucheryLibrarian c7dc893d43 1.254.17 2026-07-13 17:30:26 +02:00
DebaucheryLibrarian fe74e83282 Added notification and alert expiry migration. 2026-07-13 17:30:23 +02:00
3 changed files with 23 additions and 4 deletions
+20 -1
View File
@@ -1,4 +1,14 @@
exports.up = async function(knex) {
await knex.schema.alterTable('notifications', (table) => {
table.datetime('seen_at');
});
await knex.schema.alterTable('alerts', (table) => {
table.boolean('is_expired')
.notNullable()
.defaultTo(false);
});
await knex.schema.createMaterializedView('alerts_users_scenes', (view) => {
view.columns('user_id', 'scene_id', 'alert_ids');
@@ -19,11 +29,20 @@ exports.up = async function(knex) {
.on('related_scenes.alert_id', 'alerts_scenes.alert_id')
.on('related_scenes.scene_id', '!=', 'alerts_scenes.scene_id');
})
.where('alerts.is_expired', false)
.groupBy(['user_id', 'alerts_scenes.scene_id', 'is_only']),
);
});
};
exports.down = async function(knex) {
await knex.schema.dropView('alerts_users_scenes');
await knex.schema.dropMaterializedView('alerts_users_scenes');
await knex.schema.alterTable('alerts', (table) => {
table.dropColumn('is_expired');
});
await knex.schema.alterTable('notifications', (table) => {
table.dropColumn('seen_at');
});
};
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "traxxx",
"version": "1.254.16",
"version": "1.254.17",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "traxxx",
"version": "1.254.16",
"version": "1.254.17",
"license": "ISC",
"dependencies": {
"@aws-sdk/client-s3": "^3.458.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.254.16",
"version": "1.254.17",
"description": "All the latest porn releases in one place",
"main": "src/app.js",
"scripts": {