From 57ea1b3881ef9789201e938e4bbfa9f35cbdee9a Mon Sep 17 00:00:00 2001 From: destrodxbad Date: Fri, 14 Nov 2025 14:44:08 +0100 Subject: [PATCH] Add proper TypeScript typing for disk space status --- client/src/app/models/disk-space-status.model.ts | 6 ++++++ client/src/app/torrent-table/torrent-table.component.ts | 3 ++- client/src/app/torrent.service.ts | 7 ++++--- 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 client/src/app/models/disk-space-status.model.ts diff --git a/client/src/app/models/disk-space-status.model.ts b/client/src/app/models/disk-space-status.model.ts new file mode 100644 index 0000000..e5822d7 --- /dev/null +++ b/client/src/app/models/disk-space-status.model.ts @@ -0,0 +1,6 @@ +export interface DiskSpaceStatus { + isPaused: boolean; + availableSpaceGB: number; + thresholdGB: number; + lastCheckTime: Date; +} diff --git a/client/src/app/torrent-table/torrent-table.component.ts b/client/src/app/torrent-table/torrent-table.component.ts index 4b15410..1c4799f 100644 --- a/client/src/app/torrent-table/torrent-table.component.ts +++ b/client/src/app/torrent-table/torrent-table.component.ts @@ -1,6 +1,7 @@ import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; import { Torrent } from '../models/torrent.model'; +import { DiskSpaceStatus } from '../models/disk-space-status.model'; import { TorrentService } from '../torrent.service'; import { forkJoin, Observable } from 'rxjs'; import { FormsModule } from '@angular/forms'; @@ -48,7 +49,7 @@ export class TorrentTableComponent implements OnInit { public updateSettingsDeleteOnError: number; public updateSettingsTorrentLifetime: number; - public diskSpaceStatus: any = null; + public diskSpaceStatus: DiskSpaceStatus | null = null; constructor( private router: Router, diff --git a/client/src/app/torrent.service.ts b/client/src/app/torrent.service.ts index b7a063f..268f548 100644 --- a/client/src/app/torrent.service.ts +++ b/client/src/app/torrent.service.ts @@ -3,6 +3,7 @@ import { Inject, Injectable } from '@angular/core'; import * as signalR from '@microsoft/signalr'; import { Observable, Subject } from 'rxjs'; import { Torrent, TorrentFileAvailability } from './models/torrent.model'; +import { DiskSpaceStatus } from './models/disk-space-status.model'; import { APP_BASE_HREF } from '@angular/common'; @Injectable({ @@ -10,7 +11,7 @@ import { APP_BASE_HREF } from '@angular/common'; }) export class TorrentService { public update$: Subject = new Subject(); - public diskSpaceStatus$: Subject = new Subject(); + public diskSpaceStatus$: Subject = new Subject(); private connection: signalR.HubConnection; @@ -49,8 +50,8 @@ export class TorrentService { return this.http.get(`${this.baseHref}Api/Torrents/Get/${torrentId}`); } - public getDiskSpaceStatus(): Observable { - return this.http.get(`${this.baseHref}Api/Torrents/DiskSpaceStatus`); + public getDiskSpaceStatus(): Observable { + return this.http.get(`${this.baseHref}Api/Torrents/DiskSpaceStatus`); } public uploadMagnet(magnetLink: string, torrent: Torrent): Observable {