Initial scaffold — NASBackup iOS app
Full project scaffold: XcodeGen project.yml, Core models/protocols/errors, SMBService (kishikawakatsumi/SMBClient), SFTPService (Citadel 0.9.2), PhotoLibraryService, LANMonitor, BackupEngine, BackgroundTaskManager, all feature UIs (Login, Connect, Browse, Backup, History, Settings), Shared components and theme. Builds clean with zero errors. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
19
Features/Backup/BackupViewModel.swift
Normal file
19
Features/Backup/BackupViewModel.swift
Normal file
@@ -0,0 +1,19 @@
|
||||
import Foundation
|
||||
import Photos
|
||||
|
||||
@MainActor
|
||||
final class BackupViewModel: ObservableObject {
|
||||
@Published var totalPhotoCount: Int = 0
|
||||
@Published var photosAuthStatus: PHAuthorizationStatus = PHPhotoLibrary.authorizationStatus(for: .readWrite)
|
||||
|
||||
private let photoService = PhotoLibraryService()
|
||||
|
||||
func loadPhotoCount(filter: BackupFilter) {
|
||||
let assets = photoService.fetchAssets(filter: filter)
|
||||
totalPhotoCount = assets.count
|
||||
}
|
||||
|
||||
func requestPhotosAccess() async {
|
||||
photosAuthStatus = await photoService.requestAuthorization()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user