1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-07 03:50:08 +02:00

Add unlinking sites for fake links

This commit is contained in:
2022-12-13 23:32:11 +01:00
parent 912d9e7423
commit 837392d606
4 changed files with 14 additions and 7 deletions

View File

@ -108,6 +108,7 @@ extension DomainListVC {
}
}
#warning("ValetInteractor needs to be used here instead of directly issuing commands to valet")
@objc func isolateSite(sender: PhpMenuItem) {
let command = "sudo \(Paths.valet) isolate php@\(sender.version) --site '\(self.selectedSite!.name)' && exit;"
@ -128,6 +129,7 @@ extension DomainListVC {
}
}
#warning("ValetInteractor needs to be used here instead of directly issuing commands to valet")
@objc func removeIsolatedSite() {
self.performAction(command: "sudo \(Paths.valet) unisolate --site '\(self.selectedSite!.name)' && exit;") {
self.selectedSite!.isolatedPhpVersion = nil
@ -153,7 +155,7 @@ extension DomainListVC {
style: .critical,
onFirstButtonPressed: {
self.waitAndExecute {
Task { await Shell.quiet("valet unlink '\(site.name)'") }
Task { await site.unlink() }
} completion: {
Task { await self.reloadDomains() }
}

View File

@ -13,7 +13,6 @@ struct ValetInteractionError: Error {
var command: String
}
#warning("ValetInteractor needs to be implemented and used")
class ValetInteractor {
static var shared = ValetInteractor()
@ -75,7 +74,7 @@ class ValetInteractor {
}
public func unlink(site: ValetSite) async throws {
// TODO
await Shell.quiet("valet unlink '\(site.name)'")
}
public func remove(proxy: ValetProxy) async throws {
@ -92,7 +91,13 @@ class FakeValetInteractor: ValetInteractor {
site.secured = !site.secured
}
override func unlink(site: ValetSite) async throws {
if let scanner = ValetScanners.siteScanner as? FakeSiteScanner {
scanner.fakes.removeAll { $0 === site }
}
}
override func remove(proxy: ValetProxy) async throws {
fatalError("This should remove the proxy")
#warning("A fake proxy scanner needs to be added")
}
}

View File

@ -7,7 +7,7 @@
//
class FakeSiteScanner: SiteScanner {
let fakes = [
var fakes = [
FakeValetSite(fakeWithName: "laravel", tld: "test", secure: true,
path: "~/Code/laravel/framework", linked: true),

View File

@ -273,7 +273,7 @@ class ValetSite: ValetListable {
try await ValetInteractor.shared.isolate(site: self, version: version)
}
func unlink() async throws {
try await ValetInteractor.shared.unlink(site: self)
func unlink() async {
try! await ValetInteractor.shared.unlink(site: self)
}
}