示例#1
0
        private static AddEntityTemplate GetDbContext(string solutionDirectory, AddEntityTemplate template, string projectBaseName)
        {
            var classPath    = ClassPathHelper.DbContextClassPath(solutionDirectory, $"", projectBaseName);
            var contextClass = Directory.GetFiles(classPath.FullClassPath, "*.cs").FirstOrDefault();

            template.DbContextName = Path.GetFileNameWithoutExtension(contextClass);
            return(template);
        }
示例#2
0
        public void add_jwt_auth_is_true_when_feature_has_policy()
        {
            var feature = new Feature()
            {
                Policies = new List <Policy>()
                {
                    new()
                }
            };
            var entity = new Entity();

            entity.Features.Add(feature);
            var template = new AddEntityTemplate();

            template.Entities.Add(entity);

            template.AddJwtAuthentication.Should().BeTrue();
        }
示例#3
0
        public void add_jwt_auth_is_false_when_feature_has_policy()
        {
            var template = new AddEntityTemplate();

            template.AddJwtAuthentication.Should().BeFalse();
        }
示例#4
0
        private static void RunEntityBuilders(string srcDirectory, string testDirectory, AddEntityTemplate template, IFileSystem fileSystem)
        {
            //entities
            EntityScaffolding.ScaffoldEntities(srcDirectory,
                                               testDirectory,
                                               template.SolutionName,
                                               template.Entities,
                                               template.DbContextName,
                                               template.AddSwaggerComments,
                                               fileSystem);

            //TODO move inside scaffoldentites?
            foreach (var feature in template.Entities.SelectMany(entity => entity.Features))
            {
                InfrastructureServiceRegistrationModifier.AddPolicies(srcDirectory, feature.Policies, template.SolutionName);
                SwaggerServiceRegistrationModifier.AddPolicies(srcDirectory, feature.Policies, template.SolutionName);
            }
            SeederModifier.AddSeeders(srcDirectory, template.Entities, template.DbContextName, template.SolutionName);
            DbContextModifier.AddDbSet(srcDirectory, template.Entities, template.DbContextName, template.SolutionName);
        }
示例#5
0
 private static AddEntityTemplate GetDbContext(string srcDirectory, AddEntityTemplate template, string projectBaseName)
 {
     template.DbContextName = Utilities.GetDbContext(srcDirectory, projectBaseName);
     return(template);
 }
示例#6
0
        private static void RunEntityBuilders(string solutionDirectory, string srcDirectory, string testDirectory, AddEntityTemplate template, IFileSystem fileSystem)
        {
            var projectBaseName = template.SolutionName;
            var useSoftDelete   = Utilities.ProjectUsesSoftDelete(srcDirectory, projectBaseName);

            //entities
            EntityScaffolding.ScaffoldEntities(solutionDirectory,
                                               srcDirectory,
                                               testDirectory,
                                               projectBaseName,
                                               template.Entities,
                                               template.DbContextName,
                                               template.AddSwaggerComments,
                                               useSoftDelete,
                                               fileSystem);

            SeederModifier.AddSeeders(srcDirectory, template.Entities, template.DbContextName, projectBaseName);
            DbContextModifier.AddDbSet(srcDirectory, template.Entities, template.DbContextName, projectBaseName);
        }
示例#7
0
        private static void RunEntityBuilders(string srcDirectory, string testDirectory, AddEntityTemplate template, IFileSystem fileSystem, Verbosity verbosity)
        {
            //entities
            EntityScaffolding.ScaffoldEntities(srcDirectory,
                                               testDirectory,
                                               template.SolutionName,
                                               template.Entities,
                                               template.DbContextName,
                                               template.AddSwaggerComments,
                                               template.AuthorizationSettings.Policies,
                                               fileSystem,
                                               verbosity);

            //seeders & dbsets
            InfrastructureServiceRegistrationModifier.AddPolicies(srcDirectory, template.AuthorizationSettings.Policies, template.SolutionName);
            SeederModifier.AddSeeders(srcDirectory, template.Entities, template.DbContextName, template.SolutionName);
            DbContextModifier.AddDbSet(srcDirectory, template.Entities, template.DbContextName, template.SolutionName);
            ApiRouteModifier.AddRoutes(testDirectory, template.Entities, template.SolutionName);
        }