@nestjs-mod/supabase
Version:
NestJS JavaScript Client for Supabase (Wrapper for https://www.npmjs.com/package/@supabase/supabase-js)
55 lines • 2.45 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SupabaseError = exports.SUPABASE_ERROR_ENUM_TITLES = exports.SupabaseErrorEnum = void 0;
const tslib_1 = require("tslib");
const misc_1 = require("@nestjs-mod/misc");
const swagger_1 = require("@nestjs/swagger");
var SupabaseErrorEnum;
(function (SupabaseErrorEnum) {
SupabaseErrorEnum["COMMON"] = "SUPABASE-000";
SupabaseErrorEnum["FORBIDDEN"] = "SUPABASE-001";
SupabaseErrorEnum["UNAUTHORIZED"] = "SUPABASE-002";
})(SupabaseErrorEnum || (exports.SupabaseErrorEnum = SupabaseErrorEnum = {}));
exports.SUPABASE_ERROR_ENUM_TITLES = {
[SupabaseErrorEnum.COMMON]: (0, misc_1.getText)('Supabase error'),
[SupabaseErrorEnum.FORBIDDEN]: (0, misc_1.getText)('Forbidden'),
[SupabaseErrorEnum.UNAUTHORIZED]: (0, misc_1.getText)('Unauthorized'),
};
class SupabaseError extends Error {
constructor(message, code, metadata) {
const messageAsCode = Boolean(message && Object.values(SupabaseErrorEnum).includes(message));
const preparedCode = messageAsCode ? message : code;
const preparedMessage = messageAsCode && preparedCode ? exports.SUPABASE_ERROR_ENUM_TITLES[preparedCode] : message;
code = preparedCode || SupabaseErrorEnum.COMMON;
message = preparedMessage || exports.SUPABASE_ERROR_ENUM_TITLES[code];
super(message);
this.code = SupabaseErrorEnum.COMMON;
this.code = code;
this.message = message;
this.metadata = metadata;
}
}
exports.SupabaseError = SupabaseError;
tslib_1.__decorate([
(0, swagger_1.ApiProperty)({
type: String,
description: Object.entries(exports.SUPABASE_ERROR_ENUM_TITLES)
.map(([key, value]) => `${value} (${key})`)
.join(', '),
example: exports.SUPABASE_ERROR_ENUM_TITLES[SupabaseErrorEnum.COMMON],
}),
tslib_1.__metadata("design:type", String)
], SupabaseError.prototype, "message", void 0);
tslib_1.__decorate([
(0, swagger_1.ApiProperty)({
enum: SupabaseErrorEnum,
enumName: 'SupabaseErrorEnum',
example: SupabaseErrorEnum.COMMON,
}),
tslib_1.__metadata("design:type", Object)
], SupabaseError.prototype, "code", void 0);
tslib_1.__decorate([
(0, swagger_1.ApiPropertyOptional)({ type: Object }),
tslib_1.__metadata("design:type", Object)
], SupabaseError.prototype, "metadata", void 0);
//# sourceMappingURL=supabase.errors.js.map