Integrated Manticore sync, assuming responsibility from traxxx core/legacy.

This commit is contained in:
2026-06-08 05:18:11 +02:00
parent a048970be6
commit 1bc7dd3a43
15 changed files with 776 additions and 7 deletions

4
utils/chunk.js Executable file
View File

@@ -0,0 +1,4 @@
export default function chunk(array, chunkSize = 1000) {
return Array.from({ length: Math.ceil(array.length / chunkSize) })
.map((value, index) => array.slice(index * chunkSize, (index * chunkSize) + chunkSize));
}

7
utils/filter-title.js Normal file
View File

@@ -0,0 +1,7 @@
export default function filterTitle(title, keys) {
if (!title) {
return title;
}
return keys.reduce((accTitle, tag) => accTitle.replace(new RegExp(`\\b${tag.replace(/[^\w\s]+/g, '')}\\b`, 'gi'), ''), title).trim().replace(/\s{2,}/, ' ');
}

15
utils/verify-ability.js Normal file
View File

@@ -0,0 +1,15 @@
export default function verifyAbility(user, subject, action) {
if (!user?.abilities) {
return null;
}
if (subject && action) {
return user.abilities.some((ability) => ability.subject === subject && ability.action === action);
}
if (subject) {
return user.abilities.some((ability) => ability[subject] === true);
}
return false;
}