@kenniy/godeye-data-contracts
Version:
Enterprise-grade base repository architecture for GOD-EYE microservices with zero overhead and maximum code reuse
19 lines (18 loc) • 910 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequireHospitalAccess = exports.RequireRole = exports.REQUIRE_HOSPITAL_ACCESS_KEY = exports.REQUIRE_ROLE_KEY = void 0;
const common_1 = require("@nestjs/common");
exports.REQUIRE_ROLE_KEY = 'require-role';
exports.REQUIRE_HOSPITAL_ACCESS_KEY = 'require-hospital-access';
/**
* Decorator to require specific user roles for accessing an endpoint
* @param roles - Array of required user roles
*/
const RequireRole = (roles) => (0, common_1.SetMetadata)(exports.REQUIRE_ROLE_KEY, roles);
exports.RequireRole = RequireRole;
/**
* Decorator to require hospital access validation for agents
* Used to ensure agents can only access resources they are assigned to
*/
const RequireHospitalAccess = () => (0, common_1.SetMetadata)(exports.REQUIRE_HOSPITAL_ACCESS_KEY, true);
exports.RequireHospitalAccess = RequireHospitalAccess;