From 6d86008607dd10c2d29fdfb76fef772950c9008e Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Fri, 1 Oct 2021 15:00:51 -0700 Subject: [PATCH] Cleanup from last develop release (#614) * Added extra information for Swagger Gen * Ensure that the last scanned time gets updated after a scan finishes. Remove title case from Library name UI display. Show time on last scanned * Don't force title case for library names. Show them as the user created them. --- API/Startup.cs | 38 ++++++++++++++++++- .../manage-library.component.html | 4 +- .../manage-library.component.ts | 9 +++++ .../cards/card-item/card-item.component.html | 2 +- 4 files changed, 49 insertions(+), 4 deletions(-) diff --git a/API/Startup.cs b/API/Startup.cs index e933e08dc..d69385e23 100644 --- a/API/Startup.cs +++ b/API/Startup.cs @@ -52,8 +52,41 @@ namespace API services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "Kavita API", Version = "v1" }); + + c.SwaggerDoc("Kavita API", new OpenApiInfo() + { + Description = "Kavita provides a set of APIs that are authenticated by JWT. JWT token can be copied from local storage.", + Title = "Kavita API", + Version = "v1", + }); + var filePath = Path.Combine(AppContext.BaseDirectory, "API.xml"); c.IncludeXmlComments(filePath); + c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme { + In = ParameterLocation.Header, + Description = "Please insert JWT with Bearer into field", + Name = "Authorization", + Type = SecuritySchemeType.ApiKey + }); + c.AddSecurityRequirement(new OpenApiSecurityRequirement { + { + new OpenApiSecurityScheme + { + Reference = new OpenApiReference + { + Type = ReferenceType.SecurityScheme, + Id = "Bearer" + } + }, + new string[] { } + } + }); + + c.AddServer(new OpenApiServer() + { + Description = "Local Server", + Url = "http://localhost:5000/", + }); }); services.AddResponseCompression(options => { @@ -95,7 +128,10 @@ namespace API if (env.IsDevelopment()) { app.UseSwagger(); - app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "API v1")); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/swagger/v1/swagger.json", "Kavita API " + BuildInfo.Version); + }); app.UseHangfireDashboard(); } diff --git a/UI/Web/src/app/admin/manage-library/manage-library.component.html b/UI/Web/src/app/admin/manage-library/manage-library.component.html index b8eb0b116..869c2cf99 100644 --- a/UI/Web/src/app/admin/manage-library/manage-library.component.html +++ b/UI/Web/src/app/admin/manage-library/manage-library.component.html @@ -7,7 +7,7 @@
  • - {{library.name | titlecase}}  + {{library.name}} 
    Scan for {{library.name}} in progress
    @@ -24,7 +24,7 @@ Last Scanned: Never - {{library.lastScanned | date: 'MM/dd/yyyy'}} + {{library.lastScanned | date: 'short'}}

  • diff --git a/UI/Web/src/app/admin/manage-library/manage-library.component.ts b/UI/Web/src/app/admin/manage-library/manage-library.component.ts index d6bacfd8e..09edc72f8 100644 --- a/UI/Web/src/app/admin/manage-library/manage-library.component.ts +++ b/UI/Web/src/app/admin/manage-library/manage-library.component.ts @@ -39,6 +39,15 @@ export class ManageLibraryComponent implements OnInit, OnDestroy { this.hubService.messages$.pipe(takeWhile(event => event.event === EVENTS.ScanLibraryProgress)).subscribe((event) => { const scanEvent = event.payload as ScanLibraryProgressEvent; this.scanInProgress[scanEvent.libraryId] = scanEvent.progress !== 100; + if (this.scanInProgress[scanEvent.libraryId] === false && scanEvent.progress === 100) { + this.libraryService.getLibraries().pipe(take(1)).subscribe(libraries => { + const newLibrary = libraries.find(lib => lib.id === scanEvent.libraryId); + const existingLibrary = this.libraries.find(lib => lib.id === scanEvent.libraryId); + if (existingLibrary !== undefined) { + existingLibrary.lastScanned = newLibrary?.lastScanned || existingLibrary.lastScanned; + } + }); + } }); } diff --git a/UI/Web/src/app/cards/card-item/card-item.component.html b/UI/Web/src/app/cards/card-item/card-item.component.html index c4fac279a..5f42ecf65 100644 --- a/UI/Web/src/app/cards/card-item/card-item.component.html +++ b/UI/Web/src/app/cards/card-item/card-item.component.html @@ -38,6 +38,6 @@ - {{libraryName | titlecase}} + {{libraryName}} \ No newline at end of file