Tusker/Tusker/API/DeleteFilterService.swift

30 lines
779 B
Swift

//
// DeleteFilterService.swift
// Tusker
//
// Created by Shadowfacts on 12/3/22.
// Copyright © 2022 Shadowfacts. All rights reserved.
//
import Foundation
import Pachyderm
@MainActor
class DeleteFilterService {
private let filter: FilterMO
private let mastodonController: MastodonController
init(filter: FilterMO, mastodonController: MastodonController) {
self.filter = filter
self.mastodonController = mastodonController
}
func run() async throws {
let req = FilterV1.delete(filter.id)
_ = try await mastodonController.run(req)
let context = mastodonController.persistentContainer.viewContext
context.delete(filter)
mastodonController.persistentContainer.save(context: context)
}
}