@topgroup/diginext
Version:
A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.
32 lines (31 loc) • 1.71 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContainerRegistryService = void 0;
const ContainerRegistry_1 = require("../entities/ContainerRegistry");
const BaseService_1 = __importDefault(require("./BaseService"));
class ContainerRegistryService extends BaseService_1.default {
constructor(ownership) {
super(ContainerRegistry_1.containerRegistrySchema, ownership);
}
findAll(filter, options, pagination) {
var _a, _b, _c, _d, _e;
let includePublicFilter = { $or: [] };
// include all public clusters
// if (!filter.workspace) {
includePublicFilter.$or.push(filter);
includePublicFilter.$or.push({ ...filter, workspace: { $exists: false } }, { ...filter, workspace: null });
// }
// check access permissions
if ((_c = (_b = (_a = this.user) === null || _a === void 0 ? void 0 : _a.allowAccess) === null || _b === void 0 ? void 0 : _b.clusters) === null || _c === void 0 ? void 0 : _c.length)
includePublicFilter.$or.push({ _id: { $in: (_e = (_d = this.user) === null || _d === void 0 ? void 0 : _d.allowAccess) === null || _e === void 0 ? void 0 : _e.clusters } });
// if none of the above conditions -> filter normally
if (includePublicFilter.$or.length === 0)
includePublicFilter = filter;
// console.log("includePublicFilter :>> ", includePublicFilter);
return super.find(includePublicFilter, options, pagination);
}
}
exports.ContainerRegistryService = ContainerRegistryService;