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:
@ -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() }
|
||||
}
|
||||
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
//
|
||||
|
||||
class FakeSiteScanner: SiteScanner {
|
||||
let fakes = [
|
||||
var fakes = [
|
||||
FakeValetSite(fakeWithName: "laravel", tld: "test", secure: true,
|
||||
path: "~/Code/laravel/framework", linked: true),
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user