@nestjs-mod/supabase
Version:
NestJS JavaScript Client for Supabase (Wrapper for https://www.npmjs.com/package/@supabase/supabase-js)
40 lines • 1.87 kB
JavaScript
;
var SupabaseExceptionsFilter_1;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SupabaseExceptionsFilter = void 0;
const tslib_1 = require("tslib");
const common_1 = require("@nestjs/common");
const core_1 = require("@nestjs/core");
const supabase_environments_1 = require("./supabase.environments");
const supabase_errors_1 = require("./supabase.errors");
let SupabaseExceptionsFilter = SupabaseExceptionsFilter_1 = class SupabaseExceptionsFilter extends core_1.BaseExceptionFilter {
constructor(supabaseStaticEnvironments) {
super();
this.supabaseStaticEnvironments = supabaseStaticEnvironments;
this.logger = new common_1.Logger(SupabaseExceptionsFilter_1.name);
}
catch(exception, host) {
if (!this.supabaseStaticEnvironments.useFilters) {
super.catch(exception, host);
return;
}
if (exception instanceof supabase_errors_1.SupabaseError) {
this.logger.error(exception, exception.stack);
super.catch(new common_1.HttpException({
code: supabase_errors_1.SupabaseErrorEnum.FORBIDDEN,
message: exception.message,
}, common_1.HttpStatus.BAD_REQUEST), host);
}
else {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this.logger.error(exception, exception?.stack);
super.catch(exception, host);
}
}
};
exports.SupabaseExceptionsFilter = SupabaseExceptionsFilter;
exports.SupabaseExceptionsFilter = SupabaseExceptionsFilter = SupabaseExceptionsFilter_1 = tslib_1.__decorate([
(0, common_1.Catch)(supabase_errors_1.SupabaseError),
tslib_1.__metadata("design:paramtypes", [supabase_environments_1.SupabaseStaticEnvironments])
], SupabaseExceptionsFilter);
//# sourceMappingURL=supabase.filter.js.map