Compare commits

...

11 Commits

4 changed files with 28 additions and 8 deletions

View File

@@ -1,7 +1,9 @@
{
"root": true,
"extends": [
"airbnb-base"
"airbnb-base",
"plugin:import/errors",
"plugin:vue/recommended"
],
"parserOptions": {
"parser": "@babel/eslint-parser",
@@ -19,13 +21,31 @@
"no-console": 0,
"no-param-reassign": ["error", {
"props": true,
"ignorePropertyModificationsFor": ["state", "acc"]
"ignorePropertyModificationsFor": ["state", "acc", "req"]
}],
"vue/multi-word-component-names": 0,
"vue/no-reserved-component-names": 0,
"no-tabs": "off",
"no-unused-vars": ["error", {"argsIgnorePattern": "^_"}],
"prefer-destructuring": 0,
"template-curly-spacing": "off",
"vue/html-indent": ["error", "tab"],
"vue/multiline-html-element-content-newline": 0,
"vue/no-v-html": 0,
"vue/singleline-html-element-content-newline": 0,
"vue/comment-directive": 0,
},
"settings": {
"import/resolver": {
"alias": {
"extensions": [".js"],
"map": [
["#", "."],
["#root", "."]
]
}
}
},
"globals": {
"CONFIG": true
}

View File

@@ -80,7 +80,7 @@ function mergeMainProfile(profile, mainProfile) {
export async function interpolateProfiles(actorIdsOrNames, context, options = {}) {
const profiles = await fetchProfiles(actorIdsOrNames, context);
const columns = await context.knex.table('actors').columnInfo().then((table) => Object.keys(table));
const preservedKeys = ['id', 'name', 'slug', 'entity_id', 'entry_id'];
const preservedKeys = ['id', 'name', 'slug', 'entity_id', 'entry_id', 'alias_for', 'created_at', 'batch_id', 'updated_at', 'allow_global_match', 'comment'];
const profilesByActorId = profiles.reduce((acc, profile) => ({
...acc,
@@ -164,14 +164,14 @@ export async function interpolateProfiles(actorIdsOrNames, context, options = {}
profile.avatar_media_id = actorProfiles
.map((actorProfile) => actorProfile.avatar)
.filter((avatar) => avatar && (avatar.entropy === null || avatar.entropy > 5.5))
.filter((avatar) => avatar && (avatar.entropy === null || avatar.entropy > 5.5) && !options.avoidAvatarCredits?.includes(avatar.credit) && !options.excludeAvatarCredits?.includes(avatar.credit))
.sort((avatarA, avatarB) => avatarB.height - avatarA.height)[0]?.id || null;
if (!profile.avatar_media_id) {
// try to settle for low quality avatar
profile.avatar_media_id = actorProfiles
.map((actorProfile) => actorProfile.avatar)
.filter((avatar) => avatar)
.filter((avatar) => !!avatar && !options?.excludeAvatarCredits?.includes(avatar.credit))
.sort((avatarA, avatarB) => avatarB.height - avatarA.height)[0]?.id || null;
}

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "traxxx-utils",
"version": "1.3.2",
"version": "1.3.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "traxxx-utils",
"version": "1.3.2",
"version": "1.3.6",
"license": "ISC",
"devDependencies": {
"@babel/cli": "^7.25.7",

View File

@@ -1,6 +1,6 @@
{
"name": "traxxx-common",
"version": "1.3.2",
"version": "1.3.6",
"description": "Common utilities for traxxx core and web.",
"main": "src/app.js",
"scripts": {