Explicitly set catch parameters to any type (#7654)

This fixes not being able to build the repo due to type issues
introduced by the Typescript 4.4 option "useUnknownInCatchVariables",
which is enabled by default in strict mode.
This commit is contained in:
Nicola Krumschmidt
2021-08-27 16:33:30 +02:00
committed by GitHub
parent 114dd5e3e3
commit d64ca14348
133 changed files with 266 additions and 266 deletions

View File

@@ -17,7 +17,7 @@ export default async function count(collection: string): Promise<void> {
console.log(count);
database.destroy();
process.exit(0);
} catch (err) {
} catch (err: any) {
console.error(err);
database.destroy();
process.exit(1);

View File

@@ -12,7 +12,7 @@ export default async function start(): Promise<void> {
await runMigrations(database, 'latest');
database.destroy();
process.exit(0);
} catch (err) {
} catch (err: any) {
console.log(err);
database.destroy();
process.exit(1);

View File

@@ -18,7 +18,7 @@ export default async function migrate(direction: 'latest' | 'up' | 'down'): Prom
}
database.destroy();
process.exit();
} catch (err) {
} catch (err: any) {
console.log(err);
database.destroy();
process.exit(1);

View File

@@ -48,7 +48,7 @@ export default async function init(): Promise<void> {
try {
await runSeed(db);
await runMigrations(db, 'latest');
} catch (err) {
} catch (err: any) {
console.log();
console.log('Something went wrong while seeding the database:');
console.log();

View File

@@ -20,7 +20,7 @@ export default async function rolesCreate({ role: name, admin }: { role: string;
console.log(id);
database.destroy();
process.exit(0);
} catch (err) {
} catch (err: any) {
console.error(err);
process.exit(1);
}

View File

@@ -28,7 +28,7 @@ export default async function usersCreate({
console.log(id);
database.destroy();
process.exit(0);
} catch (err) {
} catch (err: any) {
console.error(err);
process.exit(1);
}

View File

@@ -28,7 +28,7 @@ export default async function usersPasswd({ email, password }: { email?: string;
await database.destroy();
process.exit(user ? 0 : 1);
} catch (err) {
} catch (err: any) {
console.error(err);
process.exit(1);
}

View File

@@ -99,7 +99,7 @@ router.post(
res.locals.payload = {
data: record || null,
};
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -138,7 +138,7 @@ router.patch(
res.locals.payload = {
data: record || null,
};
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -177,7 +177,7 @@ router.post(
try {
await service.requestPasswordReset(req.body.email, req.body.reset_url || null);
return next();
} catch (err) {
} catch (err: any) {
if (err instanceof InvalidPayloadException) {
throw err;
} else {
@@ -320,7 +320,7 @@ router.get(
authResponse = await authenticationService.authenticate({
email,
});
} catch (error) {
} catch (error: any) {
emitStatus('fail');
logger.warn(error);

View File

@@ -88,7 +88,7 @@ router.patch(
try {
const collection = await collectionsService.readOne(req.params.collection);
res.locals.payload = { data: collection || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -101,7 +101,7 @@ router.post(
try {
const createdField = await service.readOne(req.params.collection, field.field);
res.locals.payload = { data: createdField || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -138,7 +138,7 @@ router.patch(
results.push(updatedField);
res.locals.payload = { data: results || null };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -193,7 +193,7 @@ router.patch(
try {
const updatedField = await service.readOne(req.params.collection, req.params.field);
res.locals.payload = { data: updatedField || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -73,7 +73,7 @@ const multipartHandler = asyncHandler(async (req, res, next) => {
const primaryKey = await service.uploadOne(fileStream, payloadWithRequiredFields, existingPrimaryKey);
savedFiles.push(primaryKey);
tryDone();
} catch (error) {
} catch (error: any) {
busboy.emit('error', error);
}
});
@@ -127,7 +127,7 @@ router.post(
data: record,
};
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -164,7 +164,7 @@ router.post(
try {
const record = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: record || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -242,7 +242,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -269,7 +269,7 @@ router.patch(
try {
const record = await service.readOne(req.params.pk, req.sanitizedQuery);
res.locals.payload = { data: record || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -37,7 +37,7 @@ router.post(
const record = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: record };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -114,7 +114,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -140,7 +140,7 @@ router.patch(
try {
const record = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: record || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -42,7 +42,7 @@ router.post(
const result = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: result || null };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -144,7 +144,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -177,7 +177,7 @@ router.patch(
try {
const result = await service.readOne(updatedPrimaryKey, req.sanitizedQuery);
res.locals.payload = { data: result || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -20,7 +20,7 @@ const notFound: RequestHandler = async (req, res, next) => {
return next();
}
next(new RouteNotFoundException(req.path));
} catch (err) {
} catch (err: any) {
next(err);
}
};

View File

@@ -37,7 +37,7 @@ router.post(
const item = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: item };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -116,7 +116,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -142,7 +142,7 @@ router.patch(
try {
const item = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: item || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -37,7 +37,7 @@ router.post(
const record = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: record };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -115,7 +115,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -141,7 +141,7 @@ router.patch(
try {
const record = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: record };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -90,7 +90,7 @@ router.post(
try {
const createdRelation = await service.readOne(req.body.collection, req.body.field);
res.locals.payload = { data: createdRelation || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -135,7 +135,7 @@ router.patch(
try {
const updatedField = await service.readOne(req.params.collection, req.params.field);
res.locals.payload = { data: updatedField || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -37,7 +37,7 @@ router.post(
const item = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: item };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -106,7 +106,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -132,7 +132,7 @@ router.patch(
try {
const item = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: item || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -35,7 +35,7 @@ router.patch(
try {
const record = await service.readSingleton(req.sanitizedQuery);
res.locals.payload = { data: record || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -38,7 +38,7 @@ router.post(
const item = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: item };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -86,7 +86,7 @@ router.get(
try {
const item = await service.readOne(req.accountability.user, req.sanitizedQuery);
res.locals.payload = { data: item || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
res.locals.payload = { data: { id: req.accountability.user } };
return next();
@@ -177,7 +177,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -203,7 +203,7 @@ router.patch(
try {
const item = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: item || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -103,7 +103,7 @@ router.post(
busboy.on('file', async (fieldname, fileStream, filename, encoding, mimetype) => {
try {
await service.import(req.params.collection, mimetype, fileStream);
} catch (err) {
} catch (err: any) {
return next(err);
}

View File

@@ -37,7 +37,7 @@ router.post(
const item = await service.readOne(savedKeys[0], req.sanitizedQuery);
res.locals.payload = { data: item };
}
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -106,7 +106,7 @@ router.patch(
try {
const result = await service.readMany(keys, req.sanitizedQuery);
res.locals.payload = { data: result };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}
@@ -132,7 +132,7 @@ router.patch(
try {
const item = await service.readOne(primaryKey, req.sanitizedQuery);
res.locals.payload = { data: item || null };
} catch (error) {
} catch (error: any) {
if (error instanceof ForbiddenException) {
return next();
}

View File

@@ -137,7 +137,7 @@ export async function validateDBConnection(database?: Knex): Promise<void> {
} else {
await database.raw('SELECT 1');
}
} catch (error) {
} catch (error: any) {
logger.error(`Can't connect to the database.`);
logger.error(error);
process.exit(1);
@@ -178,7 +178,7 @@ export async function validateMigrations(): Promise<boolean> {
);
return requiredVersions.every((version) => completedVersions.includes(version));
} catch (error) {
} catch (error: any) {
logger.error(`Database migrations cannot be found`);
logger.error(error);
throw process.exit(1);

View File

@@ -68,7 +68,7 @@ export async function up(knex: Knex): Promise<void> {
await knex(constraint.many_collection)
.update({ [constraint.many_field]: null })
.whereIn(currentPrimaryKeyField, ids);
} catch (err) {
} catch (err: any) {
logger.error(
`${constraint.many_collection}.${constraint.many_field} contains illegal foreign keys which couldn't be set to NULL. Please fix these references and rerun this migration to complete the upgrade.`
);
@@ -111,7 +111,7 @@ export async function up(knex: Knex): Promise<void> {
builder.onDelete('SET NULL');
}
});
} catch (err) {
} catch (err: any) {
logger.warn(
`Couldn't add foreign key constraint for ${constraint.many_collection}.${constraint.many_field}<->${constraint.one_collection}`
);
@@ -140,7 +140,7 @@ export async function down(knex: Knex): Promise<void> {
await knex.schema.alterTable(relation.many_collection, (table) => {
table.dropForeign([relation.many_field]);
});
} catch (err) {
} catch (err: any) {
logger.warn(
`Couldn't drop foreign key constraint for ${relation.many_collection}.${relation.many_field}<->${relation.one_collection}`
);

View File

@@ -99,7 +99,7 @@ export async function up(knex: Knex): Promise<void> {
await knex.schema.alterTable(update.table, (table) => {
table.dropForeign([constraint.column], existingForeignKey?.constraint_name || undefined);
});
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't drop foreign key ${update.table}.${constraint.column}->${constraint.references}`);
logger.warn(err);
}
@@ -114,7 +114,7 @@ export async function up(knex: Knex): Promise<void> {
// Knex uses a default convention for index names: `table_column_type`
table.dropIndex([constraint.column], `${update.table}_${constraint.column}_foreign`);
});
} catch (err) {
} catch (err: any) {
logger.warn(
`Couldn't clean up index for foreign key ${update.table}.${constraint.column}->${constraint.references}`
);
@@ -126,7 +126,7 @@ export async function up(knex: Knex): Promise<void> {
await knex.schema.alterTable(update.table, (table) => {
table.foreign(constraint.column).references(constraint.references).onDelete(constraint.on_delete);
});
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't add foreign key to ${update.table}.${constraint.column}->${constraint.references}`);
logger.warn(err);
}
@@ -141,7 +141,7 @@ export async function down(knex: Knex): Promise<void> {
await knex.schema.alterTable(update.table, (table) => {
table.dropForeign([constraint.column]);
});
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't drop foreign key ${update.table}.${constraint.column}->${constraint.references}`);
logger.warn(err);
}
@@ -156,7 +156,7 @@ export async function down(knex: Knex): Promise<void> {
// Knex uses a default convention for index names: `table_column_type`
table.dropIndex([constraint.column], `${update.table}_${constraint.column}_foreign`);
});
} catch (err) {
} catch (err: any) {
logger.warn(
`Couldn't clean up index for foreign key ${update.table}.${constraint.column}->${constraint.references}`
);
@@ -168,7 +168,7 @@ export async function down(knex: Knex): Promise<void> {
await knex.schema.alterTable(update.table, (table) => {
table.foreign(constraint.column).references(constraint.references);
});
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't add foreign key to ${update.table}.${constraint.column}->${constraint.references}`);
logger.warn(err);
}

View File

@@ -14,7 +14,7 @@ export async function up(knex: Knex): Promise<void> {
if (options.icon) newOptions.headerIcon = options.icon;
if (options.color) newOptions.headerColor = options.color;
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't convert previous options from field ${dividerGroup.collection}.${dividerGroup.field}`);
logger.warn(err);
}
@@ -27,7 +27,7 @@ export async function up(knex: Knex): Promise<void> {
options: JSON.stringify(newOptions),
})
.where('id', '=', dividerGroup.id);
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't update ${dividerGroup.collection}.${dividerGroup.field} to new group interface`);
logger.warn(err);
}

View File

@@ -18,7 +18,7 @@ const emitter = new EventEmitter2({
export async function emitAsyncSafe(name: string, ...args: any[]): Promise<any> {
try {
return await emitter.emitAsync(name, ...args);
} catch (err) {
} catch (err: any) {
logger.warn(`An error was thrown while executing hook "${name}"`);
logger.warn(err);
}

View File

@@ -41,7 +41,7 @@ export async function initializeExtensions(): Promise<void> {
try {
await ensureExtensionDirs(env.EXTENSIONS_PATH, env.SERVE_APP ? EXTENSION_TYPES : API_EXTENSION_TYPES);
extensions = await getExtensions();
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't load extensions`);
logger.warn(err);
}
@@ -142,7 +142,7 @@ function registerHooks(hooks: Extension[]) {
for (const hook of hooks) {
try {
registerHook(hook);
} catch (error) {
} catch (error: any) {
logger.warn(`Couldn't register hook "${hook.name}"`);
logger.warn(error);
}
@@ -181,7 +181,7 @@ function registerEndpoints(endpoints: Extension[], router: Router) {
for (const endpoint of endpoints) {
try {
registerEndpoint(endpoint);
} catch (error) {
} catch (error: any) {
logger.warn(`Couldn't register endpoint "${endpoint.name}"`);
logger.warn(error);
}

View File

@@ -28,7 +28,7 @@ const authenticate: RequestHandler = asyncHandler(async (req, res, next) => {
try {
payload = jwt.verify(req.token, env.SECRET as string) as { id: string };
} catch (err) {
} catch (err: any) {
if (err instanceof TokenExpiredError) {
throw new InvalidCredentialsException('Token expired.');
} else if (err instanceof JsonWebTokenError) {

View File

@@ -23,7 +23,7 @@ const checkCacheMiddleware: RequestHandler = asyncHandler(async (req, res, next)
try {
cachedData = await cache.get(key);
} catch (err) {
} catch (err: any) {
logger.warn(err, `[cache] Couldn't read key ${key}. ${err.message}`);
return next();
}
@@ -33,7 +33,7 @@ const checkCacheMiddleware: RequestHandler = asyncHandler(async (req, res, next)
try {
cacheExpiryDate = (await cache.get(`${key}__expires_at`)) as number | null;
} catch (err) {
} catch (err: any) {
logger.warn(err, `[cache] Couldn't read key ${`${key}__expires_at`}. ${err.message}`);
return next();
}

View File

@@ -40,7 +40,7 @@ export const parseGraphQL: RequestHandler = asyncHandler(async (req, res, next)
try {
document = parse(new Source(query));
} catch (err) {
} catch (err: any) {
throw new InvalidPayloadException(`GraphQL schema validation error.`, {
graphqlErrors: [err],
});

View File

@@ -18,7 +18,7 @@ if (env.RATE_LIMITER_ENABLED === true) {
checkRateLimit = asyncHandler(async (req, res, next) => {
try {
await rateLimiter.consume(req.ip, 1);
} catch (rateLimiterRes) {
} catch (rateLimiterRes: any) {
if (rateLimiterRes instanceof Error) throw rateLimiterRes;
res.set('Retry-After', String(rateLimiterRes.msBeforeNext / 1000));

View File

@@ -25,7 +25,7 @@ export const respond: RequestHandler = asyncHandler(async (req, res) => {
try {
await cache.set(key, res.locals.payload, ms(env.CACHE_TTL as string));
await cache.set(`${key}__expires_at`, Date.now() + ms(env.CACHE_TTL as string));
} catch (err) {
} catch (err: any) {
logger.warn(err, `[cache] Couldn't set key ${key}. ${err}`);
}

View File

@@ -121,7 +121,7 @@ export class AuthenticationService {
try {
await loginAttemptsLimiter.consume(user.id);
} catch (err) {
} catch {
await this.knex('directus_users').update({ status: 'suspended' }).where({ id: user.id });
user.status = 'suspended';

View File

@@ -277,7 +277,7 @@ export class FieldsService {
if (!field.schema) return;
this.addColumnToTable(table, field, existingColumn);
});
} catch (err) {
} catch (err: any) {
throw await translateDatabaseError(err);
}
}

View File

@@ -63,7 +63,7 @@ export class FilesService extends ItemsService {
try {
await storage.disk(data.storage).put(payload.filename_disk, stream, payload.type);
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't save file ${payload.filename_disk}`);
logger.warn(err);
throw new ServiceUnavailableException(`Couldn't save file ${payload.filename_disk}`, { service: 'files' });
@@ -105,7 +105,7 @@ export class FilesService extends ItemsService {
if (payload.metadata?.iptc?.Keywords) {
payload.tags = payload.metadata.iptc.Keywords;
}
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't extract metadata from file`);
logger.warn(err);
}
@@ -156,7 +156,7 @@ export class FilesService extends ItemsService {
fileResponse = await axios.get<NodeJS.ReadableStream>(importURL, {
responseType: 'stream',
});
} catch (err) {
} catch (err: any) {
logger.warn(`Couldn't fetch file from url "${importURL}"`);
logger.warn(err);
throw new ServiceUnavailableException(`Couldn't fetch file from url "${importURL}"`, {

View File

@@ -157,7 +157,7 @@ export class GraphQLService {
variableValues: variables,
operationName,
});
} catch (err) {
} catch (err: any) {
throw new InvalidPayloadException('GraphQL execution error.', { graphqlErrors: [err.message] });
}
@@ -970,7 +970,7 @@ export class GraphQLService {
return { ids: keys };
}
}
} catch (err) {
} catch (err: any) {
this.formatError(err);
}
}
@@ -1007,7 +1007,7 @@ export class GraphQLService {
}
return true;
} catch (err) {
} catch (err: any) {
throw this.formatError(err);
}
}
@@ -1506,7 +1506,7 @@ export class GraphQLService {
try {
await service.requestPasswordReset(args.email, args.reset_url || null);
} catch (err) {
} catch (err: any) {
if (err instanceof InvalidPayloadException) {
throw err;
}

View File

@@ -135,7 +135,7 @@ export class ItemsService<Item extends AnyItem = AnyItem> implements AbstractSer
try {
const result = await trx.insert(payloadWithoutAliases).into(this.collection).returning(primaryKeyField);
primaryKey = primaryKey ?? result[0];
} catch (err) {
} catch (err: any) {
throw await translateDatabaseError(err);
}
@@ -442,7 +442,7 @@ export class ItemsService<Item extends AnyItem = AnyItem> implements AbstractSer
if (Object.keys(payloadWithTypeCasting).length > 0) {
try {
await trx(this.collection).update(payloadWithTypeCasting).whereIn(primaryKeyField, keys);
} catch (err) {
} catch (err: any) {
throw await translateDatabaseError(err);
}
}

View File

@@ -209,7 +209,7 @@ export class ServerService {
try {
await cache!.set(`health-${checkID}`, true, 5);
await cache!.delete(`health-${checkID}`);
} catch (err) {
} catch (err: any) {
checks['cache:responseTime'][0].status = 'error';
checks['cache:responseTime'][0].output = err;
} finally {
@@ -249,7 +249,7 @@ export class ServerService {
try {
await rateLimiter.consume(`health-${checkID}`, 1);
await rateLimiter.delete(`health-${checkID}`);
} catch (err) {
} catch (err: any) {
checks['rateLimiter:responseTime'][0].status = 'error';
checks['rateLimiter:responseTime'][0].output = err;
} finally {
@@ -289,7 +289,7 @@ export class ServerService {
await disk.put(`health-${checkID}`, 'check');
await disk.get(`health-${checkID}`);
await disk.delete(`health-${checkID}`);
} catch (err) {
} catch (err: any) {
checks[`storage:${location}:responseTime`][0].status = 'error';
checks[`storage:${location}:responseTime`][0].output = err;
} finally {
@@ -323,7 +323,7 @@ export class ServerService {
try {
await mailer.verify();
} catch (err) {
} catch (err: any) {
checks['email:connection'][0].status = 'error';
checks['email:connection'][0].output = err;
}

View File

@@ -32,7 +32,7 @@ export async function getSchema(options?: {
try {
cachedSchema = (await schemaCache.get('schema')) as SchemaOverview;
} catch (err) {
} catch (err: any) {
logger.warn(err, `[schema-cache] Couldn't retrieve cache. ${err}`);
}
@@ -47,7 +47,7 @@ export async function getSchema(options?: {
result,
typeof env.CACHE_SCHEMA === 'string' ? ms(env.CACHE_SCHEMA) : undefined
);
} catch (err) {
} catch (err: any) {
logger.warn(err, `[schema-cache] Couldn't save cache. ${err}`);
}
}

View File

@@ -15,7 +15,7 @@ export default function isJWT(string: string): boolean {
atob(parts[0]);
atob(parts[1]);
atob(parts[2]);
} catch (err) {
} catch (err: any) {
logger.error(err);
return false;
}

View File

@@ -13,7 +13,7 @@ export async function track(event: string): Promise<void> {
try {
await axios.post('https://telemetry.directus.io/', info);
} catch (err) {
} catch (err: any) {
if (env.NODE_ENV === 'development') {
logger.error(err);
}

View File

@@ -61,7 +61,7 @@ function createHandler(webhook: Webhook): ListenerFn {
method: webhook.method,
data: webhook.data ? webhookPayload : null,
});
} catch (error) {
} catch (error: any) {
logger.warn(`Webhook "${webhook.name}" (id: ${webhook.id}) failed`);
logger.warn(error);
}

View File

@@ -92,7 +92,7 @@ export async function refresh({ navigate }: LogoutOptions = { navigate: true }):
appStore.authenticated = true;
return accessToken;
} catch (error) {
} catch (error: any) {
await logout({ navigate, reason: LogoutReason.SESSION_EXPIRED });
}
}

View File

@@ -200,7 +200,7 @@ export default defineComponent({
uploadedFile && emit('input', uploadedFile);
}
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
uploading.value = false;
@@ -301,7 +301,7 @@ export default defineComponent({
activeDialog.value = null;
url.value = '';
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -61,7 +61,7 @@ export default function useFolders(): UsableFolders {
folders.value = response.data.data;
nestedFolders.value = nestFolders(response.data.data);
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;

View File

@@ -99,7 +99,7 @@ export function useItem(collection: Ref<string>, primaryKey: Ref<string | number
try {
const response = await api.get(itemEndpoint.value);
setItemValueToResponse(response);
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;
@@ -140,7 +140,7 @@ export function useItem(collection: Ref<string>, primaryKey: Ref<string | number
setItemValueToResponse(response);
edits.value = {};
return response.data.data;
} catch (err) {
} catch (err: any) {
if (err?.response?.data?.errors) {
validationErrors.value = err.response.data.errors
.filter((err: APIError) => VALIDATION_TYPES.includes(err?.extensions?.code))
@@ -203,7 +203,7 @@ export function useItem(collection: Ref<string>, primaryKey: Ref<string | number
edits.value = {};
return primaryKeyField.value ? response.data.data[primaryKeyField.value.field] : null;
} catch (err) {
} catch (err: any) {
if (err?.response?.data?.errors) {
validationErrors.value = err.response.data.errors
.filter((err: APIError) => err?.extensions?.code === 'FAILED_VALIDATION')
@@ -253,7 +253,7 @@ export function useItem(collection: Ref<string>, primaryKey: Ref<string | number
title: i18n.global.t('item_delete_success', isBatch.value ? 2 : 1),
type: 'success',
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
throw err;
} finally {
@@ -273,7 +273,7 @@ export function useItem(collection: Ref<string>, primaryKey: Ref<string | number
title: i18n.global.t('item_delete_success', isBatch.value ? 2 : 1),
type: 'success',
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
throw err;
} finally {

View File

@@ -219,7 +219,7 @@ export function useItems(collection: Ref<string | null>, query: Query, fetchOnIn
}
getItemCount();
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
clearTimeout(loadingTimeout);

View File

@@ -43,7 +43,7 @@ export default function useTemplateData(
});
templateData.value = result.data.data;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;

View File

@@ -50,7 +50,7 @@ export default defineComponent({
} else {
return [render(props.format || '', props.value)];
}
} catch (error) {
} catch {
return null;
}
});

View File

@@ -15,7 +15,7 @@ export async function registerDisplays(app: App): Promise<void> {
: await import(/* @vite-ignore */ `${getRootPath()}extensions/displays/index.js`);
displays.push(...customDisplays.default);
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn(`Couldn't load custom displays`);
// eslint-disable-next-line no-console

View File

@@ -66,7 +66,7 @@ export async function hydrate(stores = useStores()): Promise<void> {
}
appStore.basemap = getBasemapSources()[0].name;
} catch (error) {
} catch (error: any) {
appStore.error = error;
} finally {
appStore.hydrating = false;

View File

@@ -155,7 +155,7 @@ export default defineComponent({
await qrcode.toCanvas(document.getElementById(canvasID), url);
tfaGenerated.value = true;
error.value = null;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;
@@ -184,7 +184,7 @@ export default defineComponent({
otp.value = '';
secret.value = '';
error.value = null;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;
@@ -200,7 +200,7 @@ export default defineComponent({
tfaEnabled.value = false;
disableActive.value = false;
otp.value = '';
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;

View File

@@ -178,7 +178,7 @@ export default defineComponent({
} else {
image.value = response.data.data;
}
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -250,7 +250,7 @@ export default defineComponent({
} else {
file.value = response.data.data;
}
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;
@@ -303,7 +303,7 @@ export default defineComponent({
activeDialog.value = null;
url.value = '';
emit('input', file.value?.id);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -109,7 +109,7 @@ export default defineComponent({
.map((result: Record<string, unknown>) => (props.valuePath ? get(result, props.valuePath) : result))
.filter((val: unknown) => val);
}
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn(err);
}

View File

@@ -495,7 +495,7 @@ export default defineComponent({
[collection]: responses[i].data.data,
};
}
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -92,7 +92,7 @@ export default function usePreview(
.concat(...newItems);
items.value = responseData;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;
@@ -180,7 +180,7 @@ export default function usePreview(
// Add all items that already had the id of it's related item
return data.concat(...getNewSelectedItems(), ...updatedItems);
} catch (err) {
} catch (err: any) {
error.value = err;
}
return [];

View File

@@ -168,7 +168,7 @@ export default defineComponent({
});
stagedValues.value = response.data.data?.[relation.value.meta!.one_field!] ?? [];
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;

View File

@@ -352,7 +352,7 @@ export default defineComponent({
return item;
})
.concat(...newItems);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -139,7 +139,7 @@ export default defineComponent({
try {
parse = getParser({ geometryFormat, geometryField: 'value' });
serialize = getSerializer({ geometryFormat, geometryField: 'value' });
} catch (error) {
} catch (error: any) {
geometryOptionsError.value = error;
}
@@ -326,7 +326,7 @@ export default defineComponent({
} else {
fitDataBounds({ duration: 0 });
}
} catch (error) {
} catch (error: any) {
geometryParsingError.value = error;
}
}

View File

@@ -16,7 +16,7 @@ export async function registerInterfaces(app: App): Promise<void> {
: await import(/* @vite-ignore */ `${getRootPath()}extensions/interfaces/index.js`);
interfaces.push(...customInterfaces.default);
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn(`Couldn't load custom interfaces`);
// eslint-disable-next-line no-console

View File

@@ -255,7 +255,7 @@ export default defineComponent({
});
currentItem.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;
@@ -301,7 +301,7 @@ export default defineComponent({
});
items.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -208,7 +208,7 @@ export default defineComponent({
try {
const response = await api.get(`/items/${languagesCollection.value}`, { params: { fields, limit: -1 } });
languages.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;
@@ -299,7 +299,7 @@ export default defineComponent({
});
keyMap.value = response.data.data;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;
@@ -424,7 +424,7 @@ export default defineComponent({
...existingEdit,
};
});
} catch (err) {
} catch (err: any) {
error.value = err;
previewItems.value = [];
} finally {

View File

@@ -25,7 +25,7 @@ export async function setLanguage(lang: Language): Promise<boolean> {
const translations = await import(`./translations/${lang}.yaml`);
i18n.global.mergeLocaleMessage(lang, translations);
loadedLanguages.push(lang);
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn(err);
}

View File

@@ -223,7 +223,7 @@ export default defineLayout<LayoutOptions>({
try {
await api.patch(`${endpoint}/${info.event.id}`, itemChanges);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
}
},

View File

@@ -230,7 +230,7 @@ export default defineLayout<LayoutOptions, LayoutQuery>({
if (!cameraOptions.value || shouldUpdateCamera.value) {
geojsonBounds.value = geojson.value.bbox;
}
} catch (error) {
} catch (error: any) {
geojsonLoading.value = false;
geojsonError.value = error;
geojson.value = { type: 'FeatureCollection', features: [] };

View File

@@ -16,7 +16,7 @@ export async function registerLayouts(app: App): Promise<void> {
: await import(/* @vite-ignore */ `${getRootPath()}extensions/layouts/index.js`);
layouts.push(...customLayouts.default);
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn(`Couldn't load custom layouts`);
// eslint-disable-next-line no-console

View File

@@ -118,7 +118,7 @@ export default defineComponent({
});
item.value = response.data.data;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;

View File

@@ -120,7 +120,7 @@ export default defineComponent({
});
renameActive.value = false;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
renameSaving.value = false;
@@ -151,7 +151,7 @@ export default defineComponent({
if (navigateTo) {
router.push(navigateTo);
}
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
deleteSaving.value = false;

View File

@@ -460,7 +460,7 @@ export default defineComponent({
selection.value = [];
confirmDelete.value = false;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
deleting.value = false;
@@ -484,7 +484,7 @@ export default defineComponent({
selection.value = [];
await layoutState.value?.refresh?.();
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
archiving.value = false;
@@ -525,7 +525,7 @@ export default defineComponent({
router.push(`/collections/${newBookmark.collection}?bookmark=${newBookmark.id}`);
bookmarkDialogActive.value = false;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
creatingBookmark.value = false;

View File

@@ -27,7 +27,7 @@ const md = new MarkdownIt({
if (lang && hljs.getLanguage(lang)) {
try {
return hljs.highlight(str, { language: lang }).value;
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn('There was an error highlighting in Markdown');
// eslint-disable-next-line no-console

View File

@@ -75,7 +75,7 @@ export default defineComponent({
newFolderName.value = null;
router.push({ path: `/files/folders/${newFolder.data.data.id}` });
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
saving.value = false;

View File

@@ -129,7 +129,7 @@ export default defineComponent({
});
folders.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -183,7 +183,7 @@ export default defineComponent({
await api.patch(`/folders/${props.folder.id}`, {
name: renameValue.value,
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
renameSaving.value = false;
@@ -207,7 +207,7 @@ export default defineComponent({
await api.patch(`/folders/${props.folder.id}`, {
parent: moveValue.value,
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
moveSaving.value = false;
@@ -279,7 +279,7 @@ export default defineComponent({
}
deleteActive.value = false;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
await fetchFolders();

View File

@@ -360,7 +360,7 @@ export default defineComponent({
selection.value = [];
confirmDelete.value = false;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
deleting.value = false;
@@ -435,7 +435,7 @@ export default defineComponent({
await nextTick();
await refresh();
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
moveToDialogActive.value = false;

View File

@@ -453,7 +453,7 @@ export default defineComponent({
type: 'success',
icon: 'folder_move',
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
moveToDialogActive.value = false;

View File

@@ -20,7 +20,7 @@ export async function loadModules(): Promise<void> {
: await import(/* @vite-ignore */ `${getRootPath()}extensions/modules/index.js`);
modules.push(...customModules.default);
} catch (err) {
} catch (err: any) {
// eslint-disable-next-line no-console
console.warn(`Couldn't load custom modules`);
// eslint-disable-next-line no-console

View File

@@ -78,7 +78,7 @@ export function useProjectInfo(): UsableProjectInfo {
try {
const response = await api.get('/server/info');
info.value = response.data.data;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;

View File

@@ -434,7 +434,7 @@ export default defineComponent({
router.push(`/settings/data-model/${props.collection}`);
clearLocalStore();
} catch (err) {
} catch (err: any) {
if (err?.response?.data?.errors?.[0]?.extensions?.code === 'CONTAINS_NULL_VALUES') {
nullValueOverride.value = state.fieldData?.schema?.default_value || null;
nullValuesDialog.value = true;
@@ -486,7 +486,7 @@ export default defineComponent({
nullValuesDialog.value = false;
return saveField();
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
nullOverrideSaving.value = false;

View File

@@ -288,7 +288,7 @@ export default defineComponent({
});
duplicateActive.value = false;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
duplicating.value = false;

View File

@@ -248,7 +248,7 @@ export default defineComponent({
});
router.push(`/settings/data-model/${collectionName.value}`);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
saving.value = false;

View File

@@ -209,7 +209,7 @@ export default defineComponent({
},
});
presetsRaw.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -49,7 +49,7 @@ export default defineComponent({
bookmarksCount.value = response.data.meta.filter_count as number;
presetsCount.value = (response.data.meta.total_count as number) - bookmarksCount.value;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -238,7 +238,7 @@ export default defineComponent({
await presetsStore.hydrate();
edits.value = {};
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
saving.value = false;
@@ -259,7 +259,7 @@ export default defineComponent({
try {
await api.delete(`/presets/${props.id}`);
router.push(`/settings/presets`);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
deleting.value = false;
@@ -391,7 +391,7 @@ export default defineComponent({
const response = await api.get(`/presets/${props.id}`);
preset.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -80,7 +80,7 @@ export default defineComponent({
}
router.push(`/settings/roles/${roleResponse.data.data.id}`);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
saving.value = false;

View File

@@ -148,7 +148,7 @@ export default defineComponent({
};
}),
];
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -154,7 +154,7 @@ export default defineComponent({
const response = await api.get('/permissions', { params });
permissions.value = response.data.data;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;
@@ -173,7 +173,7 @@ export default defineComponent({
if (permission.id === id) return response.data.data;
return permission;
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
refreshing.value = refreshing.value.filter((inProgressID) => inProgressID !== id);
@@ -213,7 +213,7 @@ export default defineComponent({
await fetchPermissions();
resetActive.value = false;
} catch (err) {
} catch (err: any) {
resetError.value = err;
} finally {
resetting.value = false;

View File

@@ -42,7 +42,7 @@ export default function usePermissions(role: Ref<number>): UsablePermissions {
});
permissions.value = response.data.data;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
loading.value = false;
@@ -60,7 +60,7 @@ export default function usePermissions(role: Ref<number>): UsablePermissions {
}
await fetchPermissions();
} catch (err) {
} catch (err: any) {
error.value = err;
}
}
@@ -76,7 +76,7 @@ export default function usePermissions(role: Ref<number>): UsablePermissions {
}
await fetchPermissions();
} catch (err) {
} catch (err: any) {
error.value = err;
}
}

View File

@@ -48,7 +48,7 @@ export default function useUpdatePermissions(
permissions: {},
validation: {},
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
await refresh?.();
@@ -64,7 +64,7 @@ export default function useUpdatePermissions(
permissions: {},
validation: {},
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
await refresh?.();
@@ -84,7 +84,7 @@ export default function useUpdatePermissions(
try {
await api.delete(`/permissions/${permission.id}`);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
await refresh?.();
@@ -117,7 +117,7 @@ export default function useUpdatePermissions(
permissions: {},
validation: {},
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
}
} else {
@@ -130,7 +130,7 @@ export default function useUpdatePermissions(
permissions: {},
validation: {},
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
}
}
@@ -148,7 +148,7 @@ export default function useUpdatePermissions(
try {
await api.delete('/permissions', { data: permissions.value.map((p) => p.id) });
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
await refresh?.();

View File

@@ -48,7 +48,7 @@ export default defineComponent({
emit('refresh');
router.push(`/settings/roles/${props.roleKey || 'public'}`);
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -195,7 +195,7 @@ export default defineComponent({
const response = await api.get(`/permissions/${props.permissionKey}`);
permission.value = response.data.data;
} catch (err) {
} catch (err: any) {
if (err?.response?.status === 403) {
router.push(`/settings/roles/${props.roleKey || 'public'}`);
} else {

View File

@@ -278,7 +278,7 @@ export default defineComponent({
selection.value = [];
confirmDelete.value = false;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
deleting.value = false;

View File

@@ -474,7 +474,7 @@ export default defineComponent({
: null;
roleName.value = response.data.data?.role?.name;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -77,7 +77,7 @@ export default defineComponent({
});
done.value = true;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
creating.value = false;

View File

@@ -51,7 +51,7 @@ export default defineComponent({
name.value = userName(response.data.data);
lastPage.value = response.data.data.last_page;
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -90,7 +90,7 @@ export default defineComponent({
// Stores are hydrated after login
const lastPage = userStore.currentUser?.last_page;
router.push(lastPage || '/collections');
} catch (err) {
} catch (err: any) {
if (err.response?.data?.errors?.[0]?.extensions?.code === 'INVALID_OTP' && requiresTFA.value === false) {
requiresTFA.value = true;
} else {

View File

@@ -40,7 +40,7 @@ export default defineComponent({
link: `${getRootPath()}auth/oauth/${providerName.toLowerCase()}?redirect=${window.location.href}`,
};
});
} catch (err) {
} catch (err: any) {
unexpectedError(err);
} finally {
loading.value = false;

View File

@@ -50,7 +50,7 @@ export default defineComponent({
});
done.value = true;
} catch (err) {
} catch (err: any) {
error.value = err;
} finally {
sending.value = false;

Some files were not shown because too many files have changed in this diff Show More