Thats not the answer! Everything was fine with refresh.bat however npm start results in hundreds of errors in service-proxies.ts ... more research.
So after some more digging into the Swagger documentation I found you can generate custom schema id's. I changed the Startup.cs code to add options.CustomSchemaIds(x => x.FullName) which results in the following for Swagger:
` //Swagger - Enable this line and the related lines in Configure method to enable swagger UI services.AddSwaggerGen(options => { options.SwaggerDoc("v1", new Info { Title = "SKUHive API", Version = "v1" }); options.DocInclusionPredicate((docName, description) => true);
//Note: This is just for showing Authorize button on the UI.
//Authorize button's behaviour is handled in wwwroot/swagger/ui/index.html
options.AddSecurityDefinition("Bearer", new BasicAuthScheme());
options.CustomSchemaIds(x => x.FullName);
});
`
The interface generated without issue. I will test to see if this causes any issues.
I am all ears if a better way is recommended with ANZ.
Thx
I know this is not a Swagger help forum but I was wondering if anyone has a solution for ANZ creating mulitple interfaces for the same table? I have a static code table to hold things such as status, grade and condition and different inventory and warehouse screens use this table. The RAD tool creates the same CodeLookupTableDto interface for each which then confuses Swagger. Is there an attribute or other marking mechanicsm to overcome this situation? Any ideas/examples are greatly appreciated.
Thx
Even if this user has never had any Administrative menu item?
I was earlier for the source code. I have made no changes to Administration from the default download.
getMenu(): AppMenu {
return new AppMenu('MainMenu', 'MainMenu', [
new AppMenuItem('Dashboard', 'Pages.Administration.Host.Dashboard', 'flaticon-line-graph', '/app/admin/hostDashboard'),
new AppMenuItem('Dashboard', 'Pages.Tenant.Dashboard', 'flaticon-line-graph', '/app/main/dashboard'),
new AppMenuItem('Tenants', 'Pages.Tenants', 'flaticon-list-3', '/app/admin/tenants'),
new AppMenuItem('Editions', 'Pages.Editions', 'flaticon-app', '/app/admin/editions'),
new AppMenuItem('Administration', '', 'flaticon-interface-8', '', [
new AppMenuItem('OrganizationUnits', 'Pages.Administration.OrganizationUnits', 'flaticon-map', '/app/admin/organization-units'),
new AppMenuItem('Roles', 'Pages.Administration.Roles', 'flaticon-suitcase', '/app/admin/roles'),
new AppMenuItem('Users', 'Pages.Administration.Users', 'flaticon-users', '/app/admin/users'),
new AppMenuItem('Languages', 'Pages.Administration.Languages', 'flaticon-tabs', '/app/admin/languages'),
new AppMenuItem('AuditLogs', 'Pages.Administration.AuditLogs', 'flaticon-folder-1', '/app/admin/auditLogs'),
new AppMenuItem('Maintenance', 'Pages.Administration.Host.Maintenance', 'flaticon-lock', '/app/admin/maintenance'),
new AppMenuItem('Subscription', 'Pages.Administration.Tenant.SubscriptionManagement', 'flaticon-refresh', '/app/admin/subscription-management'),
new AppMenuItem('VisualSettings', 'Pages.Administration.UiCustomization', 'flaticon-medical', '/app/admin/ui-customization'),
new AppMenuItem('Settings', 'Pages.Administration.Host.Settings', 'flaticon-settings', '/app/admin/hostSettings'),
new AppMenuItem('Settings', 'Pages.Administration.Tenant.Settings', 'flaticon-settings', '/app/admin/tenantSettings')
]),
new AppMenuItem('Configuration', '', 'flaticon-interface-8', '', [
new AppMenuItem('Codes', 'Pages.Codes', 'flaticon-more', '/app/main/codes/codes'),
new AppMenuItem('Warehousing', '', 'flaticon-folder-1', '', [
new AppMenuItem('Warehouse', 'Pages.Warehouses', 'flaticon-settings', '/app/main/configuration/warehouses'),
new AppMenuItem('Zones', 'Pages.Zones', 'flaticon-more', '/app/main/warehouses/zones'),
new AppMenuItem('Aisles', 'Pages.Aisles', 'flaticon-more', '/app/main/warehouses/aisles'),
new AppMenuItem('Racks', 'Pages.Racks', 'flaticon-more', '/app/main/warehouses/racks'),
new AppMenuItem('Levels', 'Pages.Levels', 'flaticon-more', '/app/main/warehouses/levels'),
new AppMenuItem('Bins', 'Pages.Bins', 'flaticon-more', '/app/main/warehouses/bins'),
]),]),
new AppMenuItem('Inventory', '', 'flaticon-list-3', '', [
new AppMenuItem('Categories', 'Pages.Categories', 'flaticon-more', '/app/main/inventory/categories'),
new AppMenuItem('Products', 'Pages.Products', 'flaticon-more', '/app/main/inventory/products'),
]),
new AppMenuItem('DemoUiComponents', 'Pages.DemoUiComponents', 'flaticon-shapes', '/app/admin/demo-ui-components')
]);
}
I will share my code however I have not made any changes to the Administration menu options, ever. This was working in v6.0.0 however the Administration menu header is now showing all the time no matter what permissions were set. Again, I have not changed any of the Administration menu's code in any way, the code is the exact same as what got downloaded when I generated the project.
This is why I asked if something changed in my original request that I need to address from the code merge meaning did something go wrong.
This sounds like a major breaking change in a minor release and as such would require better documentation than a reference to a github issue which requires end users to make a change to the core ASPNETZERO product. Administration menu already exists and we did not touch anything around ADMIN privileges.
Thanks a bunch, I got everything on the same port and it works like a champ! I know a lot more about the application now because of this challenge.
I renamed the file to match the case and all errors are gone however the login page never appears, just the processing icon. I am investigating the situation.
Found the issue, although swagger is on localhost:22742 the port for the .nswag file should be set to 5000 as http://localhost:5000/swagger/v1/swagger.json. Once I updated the file it seems to have created the proxy correctly.
npm start results in a new error which I am investigating now.
`Matthews-MacBook-Pro:angular f2tek$ npm start
[email protected] start /Users/f2tek/Documents/Projects/C-Sharp/angular ng serve --host 0.0.0.0 --port 4200
** Angular Live Development Server is listening on 0.0.0.0:4200, open your browser on http://localhost:4200/ **
Date: 2018-10-20T17:32:48.576Z Hash: 3fb89ae7e4a813fec58c Time: 12588ms chunk {main} main.js, main.js.map (main) 1.95 kB [initial] [rendered] chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 693 bytes [initial] [rendered] chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered] chunk {scripts} scripts.js, scripts.js.map (scripts) 1.51 MB [rendered] chunk {styles} styles.js, styles.js.map (styles) 2.1 MB [initial] [rendered] chunk {vendor} vendor.js, vendor.js.map (vendor) 325 kB [initial] [rendered]
ERROR in error TS1149: File name '/Users/f2tek/Documents/Projects/C-Sharp/angular/src/shared/helpers/XMLHttpRequestHelper.ts' differs from already included file name '/Users/f2tek/Documents/Projects/C-Sharp/angular/src/shared/helpers/XmlHttpRequestHelper.ts' only in casing.
ℹ 「wdm」: Failed to compile.
`
Thanks for all your help! I would not have figured any of this out without you.
MAtt
`Matthews-MacBook-Pro:nswag f2tek$ "../node_modules/.bin/nswag" run /runtime:NetCore20 . NSwag NPM CLI NSwag command line tool for .NET Core NetCore20, toolchain v11.17.21.0 (NJsonSchema v9.10.63.0 (Newtonsoft.Json v9.0.0.0)) Visit http://NSwag.org for more information. NSwag bin directory: Users/f2tek/Documents/Projects/C-Sharp/angular/node_modules/nswag/bin/binaries/NetCore20
Executing file '/Users/f2tek/Documents/Projects/C-Sharp/angular/nswag/service.config.nswag'...
System.Net.Http.HttpRequestException: Connection refused ---> System.Net.Sockets.SocketException: Connection refused
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
at System.Threading.Tasks.ValueTask1.get_Result() at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Threading.Tasks.ValueTask
1.get_Result()
at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask1 creationTask) at System.Threading.Tasks.ValueTask
1.get_Result()
at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
at CallSite.Target(Closure , CallSite , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
at NJsonSchema.Infrastructure.DynamicApis.HttpGetAsync(String url)
at NSwag.SwaggerDocument.FromUrlAsync(String url) in C:\projects\nswag\src\NSwag.Core\SwaggerDocument.cs:line 178
at NSwag.Commands.OutputCommandBase.ReadSwaggerDocumentAsync(String input) in C:\projects\nswag\src\NSwag.Commands\Commands\OutputCommandBase.cs:line 36
at NSwag.Commands.SwaggerGeneration.FromSwaggerCommand.RunAsync() in C:\projects\nswag\src\NSwag.Commands\Commands\SwaggerGeneration\FromSwaggerCommand.cs:line 62
at NSwag.Commands.SwaggerGeneration.FromSwaggerCommand.RunAsync(CommandLineProcessor processor, IConsoleHost host) in C:\projects\nswag\src\NSwag.Commands\Commands\SwaggerGeneration\FromSwaggerCommand.cs:line 53
at NSwag.Commands.NSwagDocumentBase.GenerateSwaggerDocumentAsync() in C:\projects\nswag\src\NSwag.Commands\NSwagDocumentBase.cs:line 268
at NSwag.Commands.NSwagDocument.ExecuteAsync() in C:\projects\nswag\src\NSwag.Commands\NSwagDocument.cs:line 81
at NSwag.Commands.Document.ExecuteDocumentCommand.ExecuteDocumentAsync(IConsoleHost host, String filePath) in C:\projects\nswag\src\NSwag.Commands\Commands\Document\ExecuteDocumentCommand.cs:line 77
at NSwag.Commands.Document.ExecuteDocumentCommand.RunAsync(CommandLineProcessor processor, IConsoleHost host) in C:\projects\nswag\src\NSwag.Commands\Commands\Document\ExecuteDocumentCommand.cs:line 43
at NConsole.CommandLineProcessor.ProcessSingleAsync(String[] args, Object input)
at NConsole.CommandLineProcessor.ProcessAsync(String[] args, Object input)
at NConsole.CommandLineProcessor.Process(String[] args, Object input)
at NSwag.Commands.NSwagCommandProcessor.Process(String[] args) in C:\projects\nswag\src\NSwag.Commands\NSwagCommandProcessor.cs:line 54child_process.js:645
throw err;
^
Error: Command failed: dotnet "/Users/f2tek/Documents/Projects/C-Sharp/angular/node_modules/nswag/bin/binaries/NetCore20/dotnet-nswag.dll" run /runtime:NetCore20 . at checkExecSyncError (child_process.js:602:13) at Object.execSync (child_process.js:642:13) at c.exec (/Users/f2tek/Documents/Projects/C-Sharp/angular/node_modules/nswag/bin/nswag.js:54:19) at ChildProcess.exithandler (child_process.js:268:7) at emitTwo (events.js:126:13) at ChildProcess.emit (events.js:214:7) at maybeClose (internal/child_process.js:915:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5) Matthews-MacBook-Pro:nswag f2tek$ `
I do have the host application running and swagger is active in the browser.