-
-
-
{{ "NavigationBar.UserManagement" | translate }}
-
-
-
-
-
-
-
{{m.username}}
-
-
{{m.message}}
-
{{m.date | amFromUtc | amLocal | amUserLocale | amDateFormat: 'l LT'}}
-
-
-
-
-
-
- {{ "Issues.SendMessageButton" | translate }}
-
-
\ No newline at end of file
+
+
+
+
{{ 'NavigationBar.UserManagement' | translate }}
+
+
+
+
+
+
+
{{ m.username }}
+
+
{{ m.message }}
+
{{ m.date | dfnsFormat: 'Ppp' }}
+
+
+
+
+
+
+ {{ 'Issues.SendMessageButton' | translate }}
+
+
+
diff --git a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html
index 7b31832ea..022b0a893 100644
--- a/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html
+++ b/src/Ombi/ClientApp/src/app/shared/episode-request/episode-request.component.html
@@ -1,74 +1,93 @@
-
- {{'MediaDetails.EpisodeSelector.NoEpisodes' | translate}}
-
-
-
- {{'Search.TvShows.AllSeasons' | translate }}
-
- {{ 'Search.TvShows.FirstSeason' | translate }}
- {{ 'Search.TvShows.LatestSeason' | translate }}
-
-
-
-
-
-
-
-
-
- {{ 'MediaDetails.EpisodeSelector.SeasonNumber' | translate: { number: season.seasonNumber } }}
- {{ 'MediaDetails.EpisodeSelector.SeasonNumber' | translate: { number: season.seasonNumber } }}
-
-
-
-
-
-
-
-
-
- {{ep.episodeNumber}}
-
-
- {{ep.title}}
-
-
- {{ep.airDate | amLocal | amUserLocale | amDateFormat: 'L' }}
-
-
- {{ep.airDateDisplay }}
-
-
- {{ep.requestStatus | translate}}
-
-
-
-
+
+ {{ 'MediaDetails.EpisodeSelector.NoEpisodes' | translate }}
+
+
+
+
+ {{ 'Search.TvShows.AllSeasons' | translate }}
+
-
+
+ {{ 'Search.TvShows.FirstSeason' | translate }}
+
+
+ {{ 'Search.TvShows.LatestSeason' | translate }}
+
+
+
+
+
+
+
+
+
+ {{ 'MediaDetails.EpisodeSelector.SeasonNumber' | translate: { number: season.seasonNumber } }}
+ {{
+ 'MediaDetails.EpisodeSelector.SeasonNumber' | translate: { number: season.seasonNumber }
+ }}
+
+
+
+
+
-
-
-
-
-
+
+
+
+ {{ ep.episodeNumber }}
+
+
+ {{ ep.title }}
+
+
+ {{ ep.airDate | dfnsFormat: 'P' }}
+
+
+ {{ ep.airDateDisplay }}
+
+
+ {{ ep.requestStatus | translate }}
+
+
+
+
+
-
-
- {{
- 'Common.Request' | translate }}
-
-
-
+
+ {{ 'Common.Request' | translate }}
+
diff --git a/src/Ombi/ClientApp/src/app/shared/shared.module.ts b/src/Ombi/ClientApp/src/app/shared/shared.module.ts
index 14b2e97ad..607072cd9 100644
--- a/src/Ombi/ClientApp/src/app/shared/shared.module.ts
+++ b/src/Ombi/ClientApp/src/app/shared/shared.module.ts
@@ -1,141 +1,141 @@
-import { FormsModule, ReactiveFormsModule } from "@angular/forms";
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
-import { AdminRequestDialogComponent } from "./admin-request-dialog/admin-request-dialog.component";
-import { AdvancedSearchDialogComponent } from "./advanced-search-dialog/advanced-search-dialog.component";
-import { CommonModule } from "@angular/common";
-import { DetailsGroupComponent } from "../issues/components/details-group/details-group.component";
-import { EpisodeRequestComponent } from "./episode-request/episode-request.component";
-import { GenreSelectComponent } from "./components/genre-select/genre-select.component";
-import { InputSwitchModule } from "primeng/inputswitch";
-import { IssuesReportComponent } from "./issues-report.component";
-import { KeywordSearchComponent } from "./components/keyword-search/keyword-search.component";
-import { MatAutocompleteModule } from "@angular/material/autocomplete";
+import { AdminRequestDialogComponent } from './admin-request-dialog/admin-request-dialog.component';
+import { AdvancedSearchDialogComponent } from './advanced-search-dialog/advanced-search-dialog.component';
+import { CommonModule } from '@angular/common';
+import { DetailsGroupComponent } from '../issues/components/details-group/details-group.component';
+import { EpisodeRequestComponent } from './episode-request/episode-request.component';
+import { GenreSelectComponent } from './components/genre-select/genre-select.component';
+import { InputSwitchModule } from 'primeng/inputswitch';
+import { IssuesReportComponent } from './issues-report.component';
+import { KeywordSearchComponent } from './components/keyword-search/keyword-search.component';
+import { MatAutocompleteModule } from '@angular/material/autocomplete';
import { MatButtonModule } from '@angular/material/button';
-import { MatCardModule } from "@angular/material/card";
-import { MatCheckboxModule } from "@angular/material/checkbox";
-import { MatChipsModule } from "@angular/material/chips";
-import { MatDialogModule } from "@angular/material/dialog";
-import { MatExpansionModule } from "@angular/material/expansion";
+import { MatCardModule } from '@angular/material/card';
+import { MatCheckboxModule } from '@angular/material/checkbox';
+import { MatChipsModule } from '@angular/material/chips';
+import { MatDialogModule } from '@angular/material/dialog';
+import { MatExpansionModule } from '@angular/material/expansion';
import { MatIconModule } from '@angular/material/icon';
-import { MatInputModule } from "@angular/material/input";
+import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
-import {MatMenuModule} from '@angular/material/menu';
+import { MatMenuModule } from '@angular/material/menu';
import { MatNativeDateModule } from '@angular/material/core';
import { MatPaginatorModule } from '@angular/material/paginator';
-import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
-import { MatProgressBarModule } from "@angular/material/progress-bar";
-import {MatRadioModule} from '@angular/material/radio';
+import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
+import { MatProgressBarModule } from '@angular/material/progress-bar';
+import { MatRadioModule } from '@angular/material/radio';
import { MatSelectModule } from '@angular/material/select';
import { MatSidenavModule } from '@angular/material/sidenav';
-import { MatSlideToggleModule } from "@angular/material/slide-toggle";
+import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import { MatSortModule } from '@angular/material/sort';
import { MatStepperModule } from '@angular/material/stepper';
import { MatTableModule } from '@angular/material/table';
-import { MatTabsModule } from "@angular/material/tabs";
+import { MatTabsModule } from '@angular/material/tabs';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatTooltipModule } from '@angular/material/tooltip';
import { MatTreeModule } from '@angular/material/tree';
-import { MomentModule } from "ngx-moment";
-import { NgModule } from "@angular/core";
-import { PipeModule } from "../pipes/pipe.module";
-import { RoleModule } from "./role-directive/role.module";
-import { SidebarModule } from "primeng/sidebar";
-import { TranslateModule } from "@ngx-translate/core";
-import { TruncateModule } from "@yellowspot/ng-truncate";
-import { WatchProvidersSelectComponent } from "./components/watch-providers-select/watch-providers-select.component";
+import { NgModule } from '@angular/core';
+import { PipeModule } from '../pipes/pipe.module';
+import { RoleModule } from './role-directive/role.module';
+import { SidebarModule } from 'primeng/sidebar';
+import { TranslateModule } from '@ngx-translate/core';
+import { TruncateModule } from '@yellowspot/ng-truncate';
+import { WatchProvidersSelectComponent } from './components/watch-providers-select/watch-providers-select.component';
+import { DateFnsModule } from 'ngx-date-fns';
@NgModule({
- declarations: [
- IssuesReportComponent,
- EpisodeRequestComponent,
- DetailsGroupComponent,
- AdminRequestDialogComponent,
- AdvancedSearchDialogComponent,
- KeywordSearchComponent,
- GenreSelectComponent,
- WatchProvidersSelectComponent,
- ],
- imports: [
- RoleModule,
- SidebarModule,
- ReactiveFormsModule,
- FormsModule,
- CommonModule,
- InputSwitchModule,
- TruncateModule,
- MomentModule,
- MatCardModule,
- MatProgressSpinnerModule,
- MatProgressBarModule,
- MatAutocompleteModule,
- MatInputModule,
- MatTabsModule,
- MatRadioModule,
- MatButtonModule,
- MatNativeDateModule,
- MatChipsModule,
- MatIconModule,
- MatMenuModule,
- MatSidenavModule,
- MatListModule,
- MatToolbarModule,
- MatCheckboxModule,
- TranslateModule,
- MatExpansionModule,
- MatDialogModule,
- MatTooltipModule,
- MatSelectModule,
- MatPaginatorModule,
- MatSortModule,
- MatTreeModule,
- MatStepperModule,
- MatSnackBarModule,
- PipeModule,
- ],
- exports: [
- RoleModule,
- TranslateModule,
- CommonModule,
- FormsModule,
- TranslateModule,
- SidebarModule,
- MatProgressSpinnerModule,
- MatProgressBarModule,
- IssuesReportComponent,
- EpisodeRequestComponent,
- AdminRequestDialogComponent,
- AdvancedSearchDialogComponent,
- GenreSelectComponent,
- KeywordSearchComponent,
- WatchProvidersSelectComponent,
- DetailsGroupComponent,
- TruncateModule,
- InputSwitchModule,
- MatTreeModule,
- MomentModule,MatCardModule,
- MatInputModule,
- MatTabsModule,
- MatChipsModule,
- MatButtonModule,
- MatNativeDateModule,
- MatIconModule,
- MatMenuModule,
- MatSnackBarModule,
- MatSidenavModule,
- MatSelectModule,
- MatListModule,
- MatToolbarModule,
- MatTooltipModule,
- MatAutocompleteModule,
- MatCheckboxModule,
- MatExpansionModule,
- MatDialogModule,
- MatTableModule,
- MatPaginatorModule,
- MatSortModule,
- MatStepperModule,
- MatSlideToggleModule,
- ],
+ declarations: [
+ IssuesReportComponent,
+ EpisodeRequestComponent,
+ DetailsGroupComponent,
+ AdminRequestDialogComponent,
+ AdvancedSearchDialogComponent,
+ KeywordSearchComponent,
+ GenreSelectComponent,
+ WatchProvidersSelectComponent,
+ ],
+ imports: [
+ RoleModule,
+ SidebarModule,
+ ReactiveFormsModule,
+ FormsModule,
+ CommonModule,
+ InputSwitchModule,
+ TruncateModule,
+ MatCardModule,
+ MatProgressSpinnerModule,
+ MatProgressBarModule,
+ MatAutocompleteModule,
+ MatInputModule,
+ MatTabsModule,
+ MatRadioModule,
+ MatButtonModule,
+ MatNativeDateModule,
+ MatChipsModule,
+ MatIconModule,
+ MatMenuModule,
+ MatSidenavModule,
+ MatListModule,
+ MatToolbarModule,
+ MatCheckboxModule,
+ TranslateModule,
+ MatExpansionModule,
+ MatDialogModule,
+ MatTooltipModule,
+ MatSelectModule,
+ MatPaginatorModule,
+ MatSortModule,
+ MatTreeModule,
+ MatStepperModule,
+ MatSnackBarModule,
+ PipeModule,
+ ],
+ exports: [
+ RoleModule,
+ TranslateModule,
+ CommonModule,
+ FormsModule,
+ TranslateModule,
+ SidebarModule,
+ MatProgressSpinnerModule,
+ MatProgressBarModule,
+ IssuesReportComponent,
+ EpisodeRequestComponent,
+ AdminRequestDialogComponent,
+ AdvancedSearchDialogComponent,
+ GenreSelectComponent,
+ KeywordSearchComponent,
+ WatchProvidersSelectComponent,
+ DetailsGroupComponent,
+ TruncateModule,
+ InputSwitchModule,
+ MatTreeModule,
+ MatCardModule,
+ MatInputModule,
+ MatTabsModule,
+ MatChipsModule,
+ MatButtonModule,
+ MatNativeDateModule,
+ MatIconModule,
+ MatMenuModule,
+ MatSnackBarModule,
+ MatSidenavModule,
+ MatSelectModule,
+ MatListModule,
+ MatToolbarModule,
+ MatTooltipModule,
+ MatAutocompleteModule,
+ MatCheckboxModule,
+ MatExpansionModule,
+ MatDialogModule,
+ MatTableModule,
+ MatPaginatorModule,
+ MatSortModule,
+ MatStepperModule,
+ MatSlideToggleModule,
+ DateFnsModule,
+ ],
})
export class SharedModule {}
diff --git a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.html b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.html
index 0d5171741..ae3d05537 100644
--- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.html
+++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.component.html
@@ -1,191 +1,201 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Username
- {{element.userName}}
-
-
-
- Alias
- {{element.alias}}
-
-
-
- Email
- {{element.emailAddress}}
-
-
-
- Requests Remaining
-
-
- {{'UserManagment.MovieRemaining' | translate: {remaining: u.movieRequestQuota.remaining, total: u.movieRequestLimit} }}
-
-
- {{'UserManagment.TvRemaining' | translate: {remaining: u.episodeRequestQuota.remaining, total: u.episodeRequestLimit} }}
-
-
- {{'UserManagment.MusicRemaining' | translate: {remaining: u.musicRequestQuota.remaining, total: u.musicRequestLimit} }}
-
-
-
-
-
- Next Request Due
-
-
- {{'UserManagment.MovieDue' | translate: {date: (u.movieRequestQuota.nextRequest | amLocal | amUserLocale | amDateFormat: 'l')} }}
-
-
- {{'UserManagment.TvDue' | translate: {date: (u.episodeRequestQuota.nextRequest | amLocal | amUserLocale | amDateFormat: 'l')} }}
-
-
- {{'UserManagment.MusicDue' | translate: {date: (u.musicRequestQuota.nextRequest | amLocal | amUserLocale | amDateFormat: 'l')} }}
-
-
-
-
- Last Logged In
-
-
- {{u.lastLoggedIn | amFromUtc | amLocal | amUserLocale | amDateFormat: 'l LT'}}
-
-
- Not logged in yet!
-
-
-
-
- User Type
-
- Local User
- Plex User
- Emby User
- Emby Connect User
- Jellyfin User
-
-
-
-
- Roles
-
-
- {{claim.value}}
-
-
-
-
-
-
-
- Edit
- Welcome
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Movie Request Limit
-
-
-
- Movie Request Limit Type
-
-
- {{RequestLimitType[value]}}
-
-
-
-
-
-
- Episode Request Limit
-
-
-
-
- Episode Request Limit Type
-
-
- {{RequestLimitType[value]}}
-
-
-
-
-
-
-
- Music Request Limit
-
-
-
-
- Music Request Limit Type
-
-
- {{RequestLimitType[value]}}
-
-
-
-
-
-
-
-
- {{value}}
-
-
-
-
-
-Update Users
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Username
+ {{ element.userName }}
+
+
+
+ Alias
+ {{ element.alias }}
+
+
+
+ Email
+ {{ element.emailAddress }}
+
+
+
+ Requests Remaining
+
+
+ {{ 'UserManagment.MovieRemaining' | translate: { remaining: u.movieRequestQuota.remaining, total: u.movieRequestLimit } }}
+
+
+ {{ 'UserManagment.TvRemaining' | translate: { remaining: u.episodeRequestQuota.remaining, total: u.episodeRequestLimit } }}
+
+
+ {{ 'UserManagment.MusicRemaining' | translate: { remaining: u.musicRequestQuota.remaining, total: u.musicRequestLimit } }}
+
+
+
+
+
+ Next Request Due
+
+
+ {{ 'UserManagment.MovieDue' | translate: { date: (u.movieRequestQuota.nextRequest | dfnsFormat: 'P') } }}
+
+
+ {{ 'UserManagment.TvDue' | translate: { date: (u.episodeRequestQuota.nextRequest | dfnsFormat: 'P') } }}
+
+
+ {{ 'UserManagment.MusicDue' | translate: { date: (u.musicRequestQuota.nextRequest | dfnsFormat: 'P') } }}
+
+
+
+
+ Last Logged In
+
+
+ {{ u.lastLoggedIn | dfnsFormat: 'Ppp' }}
+
+ Not logged in yet!
+
+
+
+
+ User Type
+
+ Local User
+ Plex User
+ Emby User
+ Emby Connect User
+ Jellyfin User
+
+
+
+
+ Roles
+
+
+ {{ claim.value }}
+
+
+
+
+
+
+
+ Edit
+
+ Welcome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Movie Request Limit
+
+
+
+
+ Movie Request Limit Type
+
+
+ {{ RequestLimitType[value] }}
+
+
+
+
+
+
+
+ Episode Request Limit
+
+
+
+
+ Episode Request Limit Type
+
+
+ {{ RequestLimitType[value] }}
+
+
+
+
+
+
+
+ Music Request Limit
+
+
+
+
+ Music Request Limit Type
+
+
+ {{ RequestLimitType[value] }}
+
+
+
+
+
+
+
+
+ {{ value }}
+
+
+
+
+ Update Users
+
+
diff --git a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts
index a55702101..e87daab16 100644
--- a/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts
+++ b/src/Ombi/ClientApp/src/app/usermanagement/usermanagement.module.ts
@@ -1,53 +1,40 @@
-import { FormsModule, ReactiveFormsModule } from "@angular/forms";
-import { IdentityService, PlexService, RadarrService, SonarrService } from "../services";
-import { RouterModule, Routes } from "@angular/router";
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { IdentityService, PlexService, RadarrService, SonarrService } from '../services';
+import { RouterModule, Routes } from '@angular/router';
-import { AuthGuard } from "../auth/auth.guard";
-import { CommonModule } from "@angular/common";
-import { ConfirmDialogModule } from "primeng/confirmdialog";
-import { MultiSelectModule } from "primeng/multiselect";
-import { NgModule } from "@angular/core";
-import { OrderModule } from "ngx-order-pipe";
-import { PipeModule } from "../pipes/pipe.module";
-import { SharedModule } from "../shared/shared.module";
-import { SidebarModule } from "primeng/sidebar";
-import { TooltipModule } from "primeng/tooltip";
-import { UserManagementComponent } from "./usermanagement.component";
-import { UserManagementUserComponent } from "./usermanagement-user.component";
+import { AuthGuard } from '../auth/auth.guard';
+import { CommonModule } from '@angular/common';
+import { ConfirmDialogModule } from 'primeng/confirmdialog';
+import { MultiSelectModule } from 'primeng/multiselect';
+import { NgModule } from '@angular/core';
+import { PipeModule } from '../pipes/pipe.module';
+import { SharedModule } from '../shared/shared.module';
+import { SidebarModule } from 'primeng/sidebar';
+import { TooltipModule } from 'primeng/tooltip';
+import { UserManagementComponent } from './usermanagement.component';
+import { UserManagementUserComponent } from './usermanagement-user.component';
const routes: Routes = [
- { path: "", component: UserManagementComponent, canActivate: [AuthGuard] },
- { path: "user", component: UserManagementUserComponent, canActivate: [AuthGuard] },
- { path: "user/:id", component: UserManagementUserComponent, canActivate: [AuthGuard] },
+ { path: '', component: UserManagementComponent, canActivate: [AuthGuard] },
+ { path: 'user', component: UserManagementUserComponent, canActivate: [AuthGuard] },
+ { path: 'user/:id', component: UserManagementUserComponent, canActivate: [AuthGuard] },
];
@NgModule({
- imports: [
- CommonModule,
- FormsModule,
- ReactiveFormsModule,
- RouterModule.forChild(routes),
- MultiSelectModule,
- PipeModule,
- ConfirmDialogModule,
- TooltipModule,
- OrderModule,
- SidebarModule,
- SharedModule,
- ],
- declarations: [
- UserManagementComponent,
- UserManagementUserComponent,
- ],
- exports: [
- RouterModule,
- ],
- providers: [
- IdentityService,
- PlexService,
- RadarrService,
- SonarrService,
- ],
-
+ imports: [
+ CommonModule,
+ FormsModule,
+ ReactiveFormsModule,
+ RouterModule.forChild(routes),
+ MultiSelectModule,
+ PipeModule,
+ ConfirmDialogModule,
+ TooltipModule,
+ SidebarModule,
+ SharedModule,
+ ],
+ declarations: [UserManagementComponent, UserManagementUserComponent],
+ exports: [RouterModule],
+ providers: [IdentityService, PlexService, RadarrService, SonarrService],
})
-export class UserManagementModule { }
+export class UserManagementModule {}
diff --git a/src/Ombi/ClientApp/src/app/vote/vote.module.ts b/src/Ombi/ClientApp/src/app/vote/vote.module.ts
index 30727b41a..d3d722f7b 100644
--- a/src/Ombi/ClientApp/src/app/vote/vote.module.ts
+++ b/src/Ombi/ClientApp/src/app/vote/vote.module.ts
@@ -1,39 +1,23 @@
-import { NgModule } from "@angular/core";
-import { RouterModule, Routes } from "@angular/router";
+import { NgModule } from '@angular/core';
+import { RouterModule, Routes } from '@angular/router';
-import { OrderModule } from "ngx-order-pipe";
-import { OverlayPanelModule } from "primeng/overlaypanel";
-import { TabViewModule } from "primeng/tabview";
+import { OverlayPanelModule } from 'primeng/overlaypanel';
+import { TabViewModule } from 'primeng/tabview';
-import { VoteService } from "../services";
+import { VoteService } from '../services';
-import { AuthGuard } from "../auth/auth.guard";
+import { AuthGuard } from '../auth/auth.guard';
-import { SharedModule as OmbiShared } from "../shared/shared.module";
+import { SharedModule as OmbiShared } from '../shared/shared.module';
-import { VoteComponent } from "./vote.component";
+import { VoteComponent } from './vote.component';
-const routes: Routes = [
- { path: "", component: VoteComponent, canActivate: [AuthGuard] },
-];
+const routes: Routes = [{ path: '', component: VoteComponent, canActivate: [AuthGuard] }];
@NgModule({
- imports: [
- RouterModule.forChild(routes),
- OrderModule,
- OmbiShared,
- TabViewModule,
- OverlayPanelModule,
- ],
- declarations: [
- VoteComponent,
- ],
- exports: [
- RouterModule,
- ],
- providers: [
- VoteService,
- ],
-
+ imports: [RouterModule.forChild(routes), OmbiShared, TabViewModule, OverlayPanelModule],
+ declarations: [VoteComponent],
+ exports: [RouterModule],
+ providers: [VoteService],
})
-export class VoteModule { }
+export class VoteModule {}
diff --git a/src/Ombi/ClientApp/tsconfig.json b/src/Ombi/ClientApp/tsconfig.json
index 87b7c2447..4d5338547 100644
--- a/src/Ombi/ClientApp/tsconfig.json
+++ b/src/Ombi/ClientApp/tsconfig.json
@@ -14,7 +14,6 @@
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
- "moduleResolution": "node",
"importHelpers": true,
"useDefineForClassFields": false,
"target": "ES2022",
@@ -24,6 +23,9 @@
"dom"
]
},
+ "types": [
+ "node"
+ ],
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
diff --git a/src/Ombi/ClientApp/yarn.lock b/src/Ombi/ClientApp/yarn.lock
index 48c6c207f..354e26529 100644
--- a/src/Ombi/ClientApp/yarn.lock
+++ b/src/Ombi/ClientApp/yarn.lock
@@ -1844,6 +1844,13 @@
dependencies:
regenerator-runtime "^0.14.0"
+"@babel/runtime@^7.21.0":
+ version "7.23.9"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7"
+ integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==
+ dependencies:
+ regenerator-runtime "^0.14.0"
+
"@babel/template@7.22.5":
version "7.22.5"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec"
@@ -2551,11 +2558,6 @@
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
-"@scarf/scarf@^1.1.0":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@scarf/scarf/-/scarf-1.3.0.tgz#f8c75560d0dace4452dee1e31995e6396e61f3ee"
- integrity sha512-lHKK8M5CTcpFj2hZDB3wIjb0KAbEOgDmiJGDv1WBRfQgRm/a8/XMEkG/N1iM01xgbUDsPQwi42D+dFo1XPAKew==
-
"@schematics/angular@16.2.12":
version "16.2.12"
resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-16.2.12.tgz#13e00e7390903cfc00eb8d5c2e74986262aff6ec"
@@ -3397,6 +3399,13 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.62.tgz#5b80d7a800f86842c5fadc066a63d6312208805c"
integrity sha512-/zbPnIBkef8sT+6vw6BxdvU3dCxRI0v6rBu/6IvXnRNtOPILucigqhUBPYxtQ/8JdAna0JLTAcNTCDmQ77QYkQ==
+"@types/node@^20.11.17":
+ version "20.11.17"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292"
+ integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==
+ dependencies:
+ undici-types "~5.26.4"
+
"@types/normalize-package-data@^2.4.0":
version "2.4.4"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901"
@@ -3434,13 +3443,6 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5"
integrity sha512-qYi3YV9inU/REEfxwVcGZzbS3KG/Xs90lv0Pr+lDtuVjBPGd1A+eciXzVSaRvLify132BfcvhvEjeVahrUl0Ug==
-"@types/qrcode@1.5.0":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@types/qrcode/-/qrcode-1.5.0.tgz#6a98fe9a9a7b2a9a3167b6dde17eff999eabe40b"
- integrity sha512-x5ilHXRxUPIMfjtM+1vf/GPTRWZ81nqscursm5gMznJeK9M0YnZ1c3bEvRLQ0zSSgedLx1J6MGL231ObQGGhaA==
- dependencies:
- "@types/node" "*"
-
"@types/qs@*", "@types/qs@^6.9.5":
version "6.9.10"
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.10.tgz#0af26845b5067e1c9a622658a51f60a3934d51e8"
@@ -4077,13 +4079,12 @@ amdefine@>=0.0.4:
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==
-angularx-qrcode@^15.0.0:
- version "15.0.1"
- resolved "https://registry.yarnpkg.com/angularx-qrcode/-/angularx-qrcode-15.0.1.tgz#349b558715c99d933cb62b264ff1bd7b269b334d"
- integrity sha512-CirpL2rhhYX/QZ1OSaJ/fusABjDlwl1oYBqaLRqmyie0xTbscWqTBW0DEoht2yCNGN8Wt+JmZwTLxYG6tLuWeQ==
+angularx-qrcode@^16.0.0:
+ version "16.0.2"
+ resolved "https://registry.yarnpkg.com/angularx-qrcode/-/angularx-qrcode-16.0.2.tgz#86af924191546394cb93f9fb8d0c42edd0132894"
+ integrity sha512-FztOM7vjNu88sGxUU5jG2I+A9TxZBXXYBWINjpwIBbTL+COMgrtzXnScG7TyQeNknv5w3WFJWn59PcngRRYVXA==
dependencies:
- "@types/qrcode" "1.5.0"
- qrcode "1.5.1"
+ qrcode "1.5.3"
tslib "^2.3.0"
ansi-align@^3.0.0:
@@ -5969,6 +5970,13 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0"
+date-fns@2.30.0:
+ version "2.30.0"
+ resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0"
+ integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==
+ dependencies:
+ "@babel/runtime" "^7.21.0"
+
debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -9299,6 +9307,11 @@ locate-path@^7.1.0:
dependencies:
p-locate "^6.0.0"
+lodash-es@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
+ integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -9893,11 +9906,6 @@ mkdirp@^2.1.6:
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.6.tgz#964fbcb12b2d8c5d6fbc62a963ac95a273e2cc19"
integrity sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==
-moment@^2.29.1:
- version "2.29.4"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
- integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
-
morgan@^1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
@@ -10020,43 +10028,35 @@ ng2-cookies@^1.0.12:
resolved "https://registry.yarnpkg.com/ng2-cookies/-/ng2-cookies-1.0.12.tgz#3f3e613e0137b0649b705c678074b4bd08149ccc"
integrity sha512-oWRcKAAX81VrVb6ZVzLCf7mmaFM18eebsPOSxQG+bC3AtEm3LNT9zULfOE2Xwsddf5UM2STGcAocEKWNw84vSg==
-ngx-clipboard@^12.1.0:
- version "12.3.1"
- resolved "https://registry.yarnpkg.com/ngx-clipboard/-/ngx-clipboard-12.3.1.tgz#565d73b946b10719242e532e748ad912cf8bc97a"
- integrity sha512-qrUmkfYXEBQZQ4wNKno8yw5eOSxtdkzCPFFPil/XVVc93MNIKUme8aLbS3TEMB4PGsxopjbuTAzV7fptiSOIww==
+ngx-clipboard@^16.0.0:
+ version "16.0.0"
+ resolved "https://registry.yarnpkg.com/ngx-clipboard/-/ngx-clipboard-16.0.0.tgz#bb97584d33e8009420b8d7f83b185f68ca06869f"
+ integrity sha512-rZ/Eo1PqiKMiyF8tdjhmUkoUu68f7OzBJ7YH1YFeh2RAaNrerTaW8XfFOzppSckjFQqA1fwGSYuTTJlDhDag5w==
dependencies:
- ngx-window-token "^2.0.0"
- tslib "^1.9.0"
+ ngx-window-token ">=7.0.0"
+ tslib "^2.0.0"
-ngx-infinite-scroll@^9.0.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/ngx-infinite-scroll/-/ngx-infinite-scroll-9.1.0.tgz#6716a47613ff59f236b85c3ce291b2fd57106824"
- integrity sha512-ZulbahgFsoPmP8cz7qPGDeFX9nKiSm74aav8vXNSI1ZoPiGYY5FQd8AK+yXqygY7tyCJRyt8Wp3DIg7zgP5dPA==
+ngx-date-fns@^11.0.0:
+ version "11.0.0"
+ resolved "https://registry.yarnpkg.com/ngx-date-fns/-/ngx-date-fns-11.0.0.tgz#5413e78868596097d7652e1f9bb871eb07debe92"
+ integrity sha512-lpWjWL4yQDvhvqynrUtvft81NkVbBDfSl97UoaHWKFwfScnmplR3XsEnguNZQte4S/RIOxV4TZ+eM6gFlAN2SQ==
dependencies:
- "@scarf/scarf" "^1.1.0"
- opencollective-postinstall "^2.0.2"
+ tslib "^2.3.0"
-ngx-moment@^3.0.1:
- version "3.5.0"
- resolved "https://registry.yarnpkg.com/ngx-moment/-/ngx-moment-3.5.0.tgz#97a4575a05d038612229b9fe09c4910353020613"
- integrity sha512-QC/5XNC0BW6WkJkwZT4r2A29j/8sJAmhuQJrEnEdpW35GvkemccuxEUAwo/PwkzPB/CHaquR00E6P2HVEQ1iEg==
+ngx-infinite-scroll@^17.0.0:
+ version "17.0.0"
+ resolved "https://registry.yarnpkg.com/ngx-infinite-scroll/-/ngx-infinite-scroll-17.0.0.tgz#15726104d5b4e248a6eb96b03149959b20233ae8"
+ integrity sha512-pQXLuRiuhRuDKD3nmgyW1V08JVNBepmk6nb8qjHc5hgsWNts01+R/p33rYcRDzcut6/PWqGyrZ9o9i8swzMYMA==
dependencies:
- tslib "^1.9.0"
+ tslib "^2.3.0"
-ngx-order-pipe@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/ngx-order-pipe/-/ngx-order-pipe-2.2.0.tgz#14ab50dfe0a679e5216138ff9a0820a83173a4fe"
- integrity sha512-fym4A3j0XMqETskCm0tHUHQWCgB1p1MrIstFA3jCClJqNU9KjtQh/AE4C7srUkz9U3HIBIAN9D3ty2L9l/jvmA==
+ngx-window-token@>=7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/ngx-window-token/-/ngx-window-token-7.0.0.tgz#2e1bc76846411a388188b802154e4841d3e27856"
+ integrity sha512-5+XfRVSY7Dciu8xyCNMkOlH2UfwR9W2P1Pirz7caaZgOZDjFbL8aEO2stjfJJm2FFf1D6dlVHNzhLWGk9HGkqA==
dependencies:
tslib "^2.0.0"
-ngx-window-token@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ngx-window-token/-/ngx-window-token-2.0.1.tgz#8f91221af4116aa9f49bb3f7a6f1111639884fba"
- integrity sha512-rvqdqJEfnWXQFU5fyfYt06E10tR/UtFOYdF3QebfcOh5VIJhnTKiprX8e4B9OrX7WEVFm9BT8uV72xXcEgsaKA==
- dependencies:
- tslib "^1.9.0"
-
nice-napi@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/nice-napi/-/nice-napi-1.0.2.tgz#dc0ab5a1eac20ce548802fc5686eaa6bc654927b"
@@ -10493,7 +10493,7 @@ open@^7.0.3:
is-docker "^2.0.0"
is-wsl "^2.1.1"
-opencollective-postinstall@^2.0.2, opencollective-postinstall@^2.0.3:
+opencollective-postinstall@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
@@ -11433,10 +11433,10 @@ q@^1.4.1:
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
-qrcode@1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.1.tgz#0103f97317409f7bc91772ef30793a54cd59f0cb"
- integrity sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==
+qrcode@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170"
+ integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==
dependencies:
dijkstrajs "^1.0.1"
encode-utf8 "^1.0.3"
@@ -13522,16 +13522,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-typescript@^5.0.4:
+typescript@5.2.2, typescript@^5.0.4:
version "5.2.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
-typescript@~5.1.6:
- version "5.1.6"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274"
- integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==
-
uglify-js@^3.1.4:
version "3.17.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"