Skip to content

Commit d86ef74

Browse files
enhancement: added microServiceSln file
1 parent c742a73 commit d86ef74

File tree

3 files changed

+78
-13
lines changed

3 files changed

+78
-13
lines changed

internal/languages/dotnet/frameworks/dotnet-clean-architecture/copier.go

Lines changed: 77 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const ApplicationHandlersCreateResourceNameCommandHandlerCSFile = "/Application/
4040
const ApplicationHandlersDeleteResourceNameCommandHandlerCSFile = "/Application/Handlers/ResourceNameService/DeleteResourceNameCommandHandler.cs.tmpl"
4141
const ApplicationHandlersUpdateResourceNameCommandHandlerCSFile = "/Application/Handlers/ResourceNameService/UpdateResourceNameCommandHandler.cs.tmpl"
4242
const ApplicationHandlersGetResourceNameByIDQueryHandlerCSFile = "/Application/Handlers/ResourceNameService/GetResourceNameByIdQueryHandler.cs.tmpl"
43-
const ApplicationHandlersGetAllResourceNameQueryHandlerCSFile = "/Application/Handlers/ResourceNameService/GetAllResourceNameQueryHandler.cs.tmpl"
43+
const ApplicationHandlersGetAllResourceNamesQueryHandlerCSFile = "/Application/Handlers/ResourceNameService/GetAllResourceNamesQueryHandler.cs.tmpl"
4444

4545
// mappers
4646
const ApplicationMappersPath = "/Application/Mappers"
@@ -92,7 +92,7 @@ const InfrastructureRepositoriesResourceNameRepositoryCSFile = "/Infrastructure/
9292
// microServiceName
9393
const MicroServiceNameCSProjFile = "/MicroServiceName/MicroServiceName.csproj.tmpl"
9494
const MicroServiceNameProgramCSFile = "/MicroServiceName/Program.cs.tmpl"
95-
const MicroServiceNameCSProjUSerFile = "/MicroServiceName/MicroServiceName.csproj.user.tmpl"
95+
const MicroServiceNameCSProjUserFile = "/MicroServiceName/MicroServiceName.csproj.user.tmpl"
9696
const MicroServiceNameAppSettingsDevelopmentFile = "/MicroServiceName/appsettings.Development.json.tmpl"
9797
const MicroServiceNameAppSettingsFile = "/MicroServiceName/appsettings.json.tmpl"
9898

@@ -108,6 +108,8 @@ const TestsPath = "/Tests"
108108
const TestsApplicationTestsCSProjFile = "/Tests/Application.Tests/Application.Tests.csproj.tmpl"
109109
const TestsGlobalUsingsCSFile = "/Tests/Application.Tests/GlobalUsings.cs.tmpl"
110110

111+
const MicroServiceNameSlnFile = "/MicroServiceName.sln.tmpl"
112+
111113
// handlers
112114
const TestsHandlersPath = "/Tests/Application.Tests/Handlers"
113115
const TestsHandlersResourceNameServicePath = "/Tests/Application.Tests/Handlers/ResourceNameService"
@@ -426,13 +428,13 @@ func (c *Copier) addApplicationRelatedDirectoriesAndFiles(resource *corenode.Res
426428
*filePaths = append(*filePaths, &targetApplicationHandlersCreateResourceNameCommandHandlerFileName)
427429

428430
// copy application/handlers/ResourceNameService/GetAllResourceNamesQueryHandler.cs
429-
targetApplicationHandlersGetAllResourceNameQueryHandlerFileName := c.NodeDirectoryName + ApplicationHandlersPath + "/" + resource.Name + "Service" + "/" + "GetAll" + resource.Name + "sQueryHandler.cs"
430-
_, err = utils.CopyFile(targetApplicationHandlersGetAllResourceNameQueryHandlerFileName, c.TemplatesRootPath+ApplicationHandlersGetAllResourceNameQueryHandlerCSFile)
431+
targetApplicationHandlersGetAllResourceNamesQueryHandlerFileName := c.NodeDirectoryName + ApplicationHandlersPath + "/" + resource.Name + "Service" + "/" + "GetAll" + c.PluralizeClient.Plural(resource.Name) + "QueryHandler.cs"
432+
_, err = utils.CopyFile(targetApplicationHandlersGetAllResourceNamesQueryHandlerFileName, c.TemplatesRootPath+ApplicationHandlersGetAllResourceNamesQueryHandlerCSFile)
431433
if err != nil {
432-
log.Errorf("error copying application handlers GetAllResourceNameQueryHandler.cs file: %v", err)
434+
log.Errorf("error copying application handlers GetAllResourceNamesQueryHandler.cs file: %v", err)
433435
return err
434436
}
435-
*filePaths = append(*filePaths, &targetApplicationHandlersGetAllResourceNameQueryHandlerFileName)
437+
*filePaths = append(*filePaths, &targetApplicationHandlersGetAllResourceNamesQueryHandlerFileName)
436438

437439
// copy application/handlers/ResourceNameService/GetResourceNameByIdQueryHandler.cs
438440
targetApplicationHandlersGetResourceNameHandlerFileName := c.NodeDirectoryName + ApplicationHandlersPath + "/" + resource.Name + "Service" + "/" + "Get" + resource.Name + "ByIdQueryHandler.cs"
@@ -584,6 +586,51 @@ func (c *Copier) addMicroServiceNameRelatedDirectoriesAndFiles(resource *corenod
584586
}
585587
*filePaths = append(*filePaths, &targetMicroServiceNamePropertiesLaunchSettingsJSONFileName)
586588

589+
// copy MicroServiceName/MicroServiceName.csproj
590+
targetMicroServiceNameCSProjFileName := c.NodeDirectoryName + "/" + getMicroServiceName(c.NodeDirectoryName) + "/" + getMicroServiceName(c.NodeDirectoryName) + ".csproj"
591+
_, err = utils.CopyFile(targetMicroServiceNameCSProjFileName, c.TemplatesRootPath+MicroServiceNameCSProjFile)
592+
if err != nil {
593+
log.Errorf("error copying MicroServiceName csproj file: %v", err)
594+
return err
595+
}
596+
*filePaths = append(*filePaths, &targetMicroServiceNameCSProjFileName)
597+
598+
// copy MicroServiceName/MicroServiceName.csproj.user
599+
targetMicroServiceNameCSProjUserFileName := c.NodeDirectoryName + "/" + getMicroServiceName(c.NodeDirectoryName) + "/" + getMicroServiceName(c.NodeDirectoryName) + ".csproj.user"
600+
_, err = utils.CopyFile(targetMicroServiceNameCSProjUserFileName, c.TemplatesRootPath+MicroServiceNameCSProjUserFile)
601+
if err != nil {
602+
log.Errorf("error copying MicroServiceName csproj.user file: %v", err)
603+
return err
604+
}
605+
*filePaths = append(*filePaths, &targetMicroServiceNameCSProjUserFileName)
606+
607+
// copy MicroServiceName/Program.cs
608+
targetMicroServiceNameProgramCSFileName := c.NodeDirectoryName + "/" + getMicroServiceName(c.NodeDirectoryName) + "/" + "Program.cs"
609+
_, err = utils.CopyFile(targetMicroServiceNameProgramCSFileName, c.TemplatesRootPath+MicroServiceNameProgramCSFile)
610+
if err != nil {
611+
log.Errorf("error copying MicroServiceName program cs file: %v", err)
612+
return err
613+
}
614+
*filePaths = append(*filePaths, &targetMicroServiceNameProgramCSFileName)
615+
616+
// copy MicroServiceName/appsettings.Development.json
617+
targetMicroServiceNameAppSettingsDevelopmentFileName := c.NodeDirectoryName + "/" + getMicroServiceName(c.NodeDirectoryName) + "/" + "appsettings.Development.json"
618+
_, err = utils.CopyFile(targetMicroServiceNameAppSettingsDevelopmentFileName, c.TemplatesRootPath+MicroServiceNameAppSettingsDevelopmentFile)
619+
if err != nil {
620+
log.Errorf("error copying MicroServiceName appsettings.Development.json file: %v", err)
621+
return err
622+
}
623+
*filePaths = append(*filePaths, &targetMicroServiceNameAppSettingsDevelopmentFileName)
624+
625+
// copy MicroServiceName/appsettings.json
626+
targetMicroServiceNameAppSettingsFileName := c.NodeDirectoryName + "/" + getMicroServiceName(c.NodeDirectoryName) + "/" + "appsettings.json"
627+
_, err = utils.CopyFile(targetMicroServiceNameAppSettingsFileName, c.TemplatesRootPath+MicroServiceNameAppSettingsFile)
628+
if err != nil {
629+
log.Errorf("error copying MicroServiceName appsettings.json file: %v", err)
630+
return err
631+
}
632+
*filePaths = append(*filePaths, &targetMicroServiceNameAppSettingsFileName)
633+
587634
return nil
588635
}
589636

@@ -657,6 +704,14 @@ func (c *Copier) CreateRestServer() error {
657704
log.Errorf("error copying tests files: %v", err)
658705
return err
659706
}
707+
708+
// copy below files to the generated project
709+
// MicroServiceName.sln
710+
if err := c.copyMicroServiceNameSlnFile(); err != nil {
711+
log.Errorf("error copying MicroServiceName.sln file: %v", err)
712+
return err
713+
}
714+
660715
// copy files with respect to the names of resources
661716
for _, resource := range c.Resources {
662717
if err := c.copyRestServerResourceFiles(resource); err != nil {
@@ -692,6 +747,7 @@ func (c *Copier) copyCoreFiles() error {
692747
log.Errorf("error copying Core Common EntityBase file: %v", err)
693748
return err
694749
}
750+
*filePaths = append(*filePaths, &targetCoreCommonEntityBaseFileName)
695751

696752
// CoreCoreCSProjFile
697753
targetCoreCoreCSProjFileName := c.NodeDirectoryName + CoreCoreCSProjFile
@@ -700,10 +756,11 @@ func (c *Copier) copyCoreFiles() error {
700756
log.Errorf("error copying Core Core.csproj file: %v", err)
701757
return err
702758
}
759+
*filePaths = append(*filePaths, &targetCoreCoreCSProjFileName)
703760

704761
// CoreRepositoriesIAsyncRepositoryCSFile
705762
targetCoreRepositoriesAsyncRepositoryFileName := c.NodeDirectoryName + CoreRepositoriesIAsyncRepositoryCSFile
706-
_, err = utils.CopyFile(targetCoreRepositoriesAsyncRepositoryFileName, c.TemplatesRootPath+CoreCommonEntityBaseFile)
763+
_, err = utils.CopyFile(targetCoreRepositoriesAsyncRepositoryFileName, c.TemplatesRootPath+CoreRepositoriesIAsyncRepositoryCSFile)
707764
if err != nil {
708765
log.Errorf("error copying Core Repositories IAsyncRepository.cs file: %v", err)
709766
return err
@@ -791,3 +848,16 @@ func (c *Copier) copyTestsFiles() error {
791848

792849
return executor.Execute(*filePaths, c.Data)
793850
}
851+
852+
func (c *Copier) copyMicroServiceNameSlnFile() error {
853+
filePaths := &[]*string{}
854+
targetMicroServiceNameSLNFileName := c.NodeDirectoryName + "/" + getMicroServiceName(c.NodeDirectoryName) + ".sln"
855+
_, err := utils.CopyFile(targetMicroServiceNameSLNFileName, c.TemplatesRootPath+MicroServiceNameSlnFile)
856+
if err != nil {
857+
log.Errorf("error copying MicroServiceName.sln file: %v", err)
858+
return err
859+
}
860+
*filePaths = append(*filePaths, &targetMicroServiceNameSLNFileName)
861+
862+
return executor.Execute(*filePaths, c.Data)
863+
}

internal/languages/dotnet/generator.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ func generateRESTConfig(_ context.Context, dotNetValues *DotNetValues) error {
4444
return err
4545
}
4646
}
47-
// copy all files at root level, fire this at last
48-
if err := dotNetCleanArchitectureCopier.CreateRootLevelFiles(); err != nil {
49-
log.Errorf("err : %s", err)
50-
return err
51-
}
5247
} else {
5348
return fmt.Errorf("unsupported framework %s for template %s for language %s", n.RestConfig.Framework, n.RestConfig.Template, n.Language)
5449
}

test/generator_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1389,7 +1389,7 @@ func TestDotNetCleanArchitectureGenerator(t *testing.T) {
13891389
"datatype": "string"
13901390
},
13911391
"RollNumber": {
1392-
"datatype": "int32"
1392+
"datatype": "int"
13931393
},
13941394
"College": {
13951395
"datatype": "string"

0 commit comments

Comments
 (0)