38 lines
768 B
Swift
38 lines
768 B
Swift
//
|
|
// RepositoriesViewModel.swift
|
|
// Piper ~ App
|
|
//
|
|
// Created by Javier Cicchelli on 21/10/2024.
|
|
// Copyright © 2024 Röck+Cöde. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import Observation
|
|
import SwiftData
|
|
|
|
@Observable
|
|
final class RepositoriesViewModel {
|
|
|
|
// MARK: Properties
|
|
|
|
var fileImporterOpened: Bool = false
|
|
var rowsSelected: Set<Repository.ID> = []
|
|
|
|
// MARK: Functions
|
|
|
|
func addRepository(
|
|
_ result: Result<URL, any Error>,
|
|
into context: ModelContext
|
|
) {
|
|
do {
|
|
let url = try result.get()
|
|
let repository = Repository(url)
|
|
|
|
context.insert(repository)
|
|
} catch {
|
|
// TODO: Handle this error gracefully.
|
|
}
|
|
}
|
|
|
|
}
|