public PostApiConfigurations <TKey, TEntity> OnCreated(DIFlowBuilderHandler <TEntity, TEntity> options)
            {
                var o = Created;

                Created = x => options(o(x));
                return(this);
            }
        public static T OnResponse <T>(this T cofig, DIFlowBuilderHandler <IActionResult, IActionResult> options) where T : ApiConfigurations
        {
            var o = cofig.Response;

            cofig.Response = x => options(o(x));
            return(cofig);
        }
Exemple #3
0
        public Role.IRoleToken AddApi <TController>(string apiKey, string flowKey, DIFlowBuilderHandler <HttpRequest, IActionResult> buildFlow) where TController : ControllerBase
        {
            var context = new EntityApiContext(apiKey, flowKey, buildFlow, typeof(TController));

            EntityApiContextContainer.Add(context);
            return(new KeyRoleToken(flowKey));
        }
            public GetApiConfigurations <TKey, TEntity> OnKeyGeted(DIFlowBuilderHandler <TKey, TKey> options)
            {
                var o = KeyGeted;

                KeyGeted = x => options(o(x));
                return(this);
            }
            public DeleteApiConfigurations <TKey, TEntity> OnDeleted(DIFlowBuilderHandler <TEntity, TEntity> options)
            {
                var o = Deleted;

                Deleted = x => options(o(x));
                return(this);
            }
            public DeleteApiConfigurations <TKey, TEntity> OnValidate(DIFlowBuilderHandler <EntityValidationResult <TEntity>, EntityValidationResult <TEntity> > options)
            {
                var o = Validate;

                Validate = x => options(o(x));
                return(this);
            }
            public PutApiConfigurations <TEntity> OnUpdated(DIFlowBuilderHandler <TEntity, TEntity> options)
            {
                var o = Updated;

                Updated = x => options(o(x));
                return(this);
            }
            public PutApiConfigurations <TEntity> OnKeySet(DIFlowBuilderHandler <TEntity, TEntity> options)
            {
                var o = KeySet;

                KeySet = x => options(o(x));
                return(this);
            }
Exemple #9
0
            public QueryApiConfigurations <TEntity> OnOdataFiltered(DIFlowBuilderHandler <object[], object[]> options)
            {
                var o = OdataFiltered;

                OdataFiltered = x => options(o(x));
                return(this);
            }
Exemple #10
0
            public QueryApiConfigurations <TEntity> OnQueryed(DIFlowBuilderHandler <System.Linq.IQueryable <TEntity>, System.Linq.IQueryable <TEntity> > options)
            {
                var o = Queryed;

                Queryed = x => options(o(x));
                return(this);
            }
        public static T OnRequest <T>(this T cofig, DIFlowBuilderHandler <HttpRequest, HttpRequest> options) where T : ApiConfigurations
        {
            var o = cofig.Request;

            cofig.Request = x => options(o(x));
            return(cofig);
        }
 public EntityApiContext(string apikey, string flowKey, DIFlowBuilderHandler <HttpRequest, IActionResult> buildFlow, Type controllerType)
 {
     Key            = flowKey;
     ApiKey         = apikey;
     this.BuildFlow = buildFlow;
     ControllerType = controllerType;
     ControllerName = controllerType.GetFriendlyFullName();
 }
 public static IDependencyInjectionBranchFlowNodeBuilderContext <TOutput, TNext> AddCase <TOutput, TNext>(this IDependencyInjectionBranchFlowNodeBuilderContext <TOutput, TNext> builder, Func <TOutput, bool> condition, DIFlowBuilderHandler <TOutput, TNext> processor)
 {
     builder.AddCase(condition, () => new MergedFlowProcessor <TOutput, TNext>(builder.ServiceProvider, processor));
     return(builder);
 }
 public static IDependencyInjectionFlowBuilderContext <T> Then <T>(this IDependencyInjectionFlowBuilderContext <T> context, DIFlowBuilderHandler <T, T> insert) => insert(context);
 public MergedFlowProcessor(IServiceProvider serviceProvider, DIFlowBuilderHandler <TInput, TOutput> builder)
 {
     builder(Start(serviceProvider)).Build();
 }
Exemple #16
0
 public static IDependencyInjectionFlowBuilderContext <IActionResult> EndValidation <TEntity>(this IDependencyInjectionFlowBuilderContext <EntityValidationResult <TEntity> > c, DIFlowBuilderHandler <TEntity, IActionResult> ifPass) where TEntity : class
 {
     return(c.Branch <IActionResult>(cases =>
     {
         cases.AddCase(x => x.ValidationErrors.Any(), builder => builder.Pipe(x => x.ValidationErrors).BadRequest(true));
         cases.AddCase(x => !x.ValidationErrors.Any(), builder => ifPass(builder.Pipe(x => x.Data)));
     }));
 }
 public static IRoleToken AddGetFlowApi <TKey, TEntity, TDbContext>(this IPlatformModuleBuilder builder, string name, DIFlowBuilderHandler <HttpRequest, IActionResult> flowBuilder) where TEntity : class where TDbContext : DbContext =>
 builder.AddEntityApi <TKey, TEntity, TDbContext>(name, EntityControllerMethods.Get, flowBuilder);
 public static IRoleToken AddEntityApi <TKey, TEntity, TDbContext>(this IPlatformModuleBuilder builder, string name, string methodName, DIFlowBuilderHandler <HttpRequest, IActionResult> flowBuilder)
     where TEntity : class
     where TDbContext : DbContext
 {
     return(builder.AddApi <Platform.Core.Controller.EntityController <TKey, TEntity> >(name, name + "." + methodName, flowBuilder));
 }
 public static IRoleToken AddEntityApi <TKey, TEntity>(this IPlatformModuleBuilder builder, string name, string methodName, DIFlowBuilderHandler <HttpRequest, IActionResult> flowBuilder) where TEntity : class => builder.AddEntityApi <TKey, TEntity, PlatformDbContext>(name, methodName, flowBuilder);
 public static IRoleToken AddQueryApi <TEntity, TDbContext>(this IPlatformModuleBuilder builder, string name, DIFlowBuilderHandler <HttpRequest, IActionResult> flowBuilder)
     where TEntity : class
     where TDbContext : DbContext
 {
     QueryApiEntities.Types.Add(typeof(TEntity));
     return(builder.AddApi <Platform.Core.Controller.QueryController <TEntity> >(name, name + ".Query", flowBuilder));
 }