firebase-admin-ql
Version:
A powerful library that bridges Firebase Admin SDK with PostgreSQL, simplifies interaction with stored procedures, facilitates seamless third-party API calls using fetch, and provides utility functions to streamline backend operations.
48 lines • 2.09 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.chainMiddlewares = exports.isAuthorizedUser = exports.isConfirmedApp = void 0;
const isConfirmedApp = (app, next) => {
if (app === undefined) {
throw new Error("The function must be called from an App Check verified app.");
}
next();
};
exports.isConfirmedApp = isConfirmedApp;
const isAuthorizedUser = (auth, next) => {
if (auth === undefined) {
throw new Error("The function must be called by an authorized user");
}
next();
};
exports.isAuthorizedUser = isAuthorizedUser;
const chainMiddlewares = (middlewares, request, handler) => __awaiter(void 0, void 0, void 0, function* () {
const execute = (index) => __awaiter(void 0, void 0, void 0, function* () {
if (index < middlewares.length) {
return new Promise((resolve, reject) => {
try {
middlewares[index](request, () => __awaiter(void 0, void 0, void 0, function* () {
resolve(yield execute(index + 1));
}));
}
catch (error) {
reject(error);
}
});
}
else {
return yield handler(request);
}
});
return yield execute(0);
});
exports.chainMiddlewares = chainMiddlewares;
//# sourceMappingURL=firebase.js.map