"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RDSAuthVTLGenerator = void 0;
const resolvers_1 = require("./resolvers");
const subscription_1 = require("./resolvers/subscription");
class RDSAuthVTLGenerator {
    constructor() {
        this.generateAuthExpressionForCreate = (ctx, providers, roles, fields) => (0, resolvers_1.generateAuthExpressionForCreate)(ctx, providers, roles, fields);
        this.generateAuthExpressionForUpdate = (providers, roles, fields) => (0, resolvers_1.generateAuthExpressionForUpdate)(providers, roles, fields);
        this.generateAuthRequestExpression = (ctx, def) => (0, resolvers_1.generateAuthRequestExpression)(ctx, def);
        this.generateAuthExpressionForDelete = (providers, roles, fields) => (0, resolvers_1.generateAuthExpressionForDelete)(providers, roles, fields);
        this.generateAuthExpressionForField = (providers, roles, fields, fieldName) => (0, resolvers_1.generateAuthExpressionForField)(providers, roles, fields, fieldName);
        this.generateFieldAuthResponse = (operation, fieldName, subscriptionsEnabled) => (0, resolvers_1.generateFieldAuthResponse)(operation, fieldName, subscriptionsEnabled);
        this.generateAuthExpressionForQueries = (ctx, providers, roles, fields, def, indexName) => (0, resolvers_1.generateAuthExpressionForQueries)(ctx, providers, roles, fields, def, indexName);
        this.generateAuthExpressionForSearchQueries = (providers, roles, fields, allowedAggFields) => (0, resolvers_1.generateDefaultRDSExpression)(providers.genericIamAccessEnabled);
        this.generateAuthExpressionForSubscriptions = (providers, roles) => (0, subscription_1.generateAuthExpressionForSubscriptions)(providers, roles);
        this.setDeniedFieldFlag = (operation, subscriptionsEnabled) => (0, resolvers_1.setDeniedFieldFlag)(operation, subscriptionsEnabled);
        this.generateAuthExpressionForRelationQuery = (ctx, def, field, relatedModelObject, providers, roles, fields) => (0, resolvers_1.generateAuthExpressionForRelationQuery)(ctx, def, field, relatedModelObject, providers, roles, fields);
        this.generateFieldResolverForOwner = (entity) => (0, resolvers_1.generateFieldResolverForOwner)(entity);
        this.generateSandboxExpressionForField = (sandboxEnabled, genericIamAccessEnabled) => (0, resolvers_1.generateSandboxExpressionForField)(sandboxEnabled, genericIamAccessEnabled);
    }
}
exports.RDSAuthVTLGenerator = RDSAuthVTLGenerator;
//# sourceMappingURL=rds-vtl-generator.js.map