mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2026-03-26 22:20:06 +01: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) {
|
@objc func isolateSite(sender: PhpMenuItem) {
|
||||||
let command = "sudo \(Paths.valet) isolate php@\(sender.version) --site '\(self.selectedSite!.name)' && exit;"
|
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() {
|
@objc func removeIsolatedSite() {
|
||||||
self.performAction(command: "sudo \(Paths.valet) unisolate --site '\(self.selectedSite!.name)' && exit;") {
|
self.performAction(command: "sudo \(Paths.valet) unisolate --site '\(self.selectedSite!.name)' && exit;") {
|
||||||
self.selectedSite!.isolatedPhpVersion = nil
|
self.selectedSite!.isolatedPhpVersion = nil
|
||||||
@@ -153,7 +155,7 @@ extension DomainListVC {
|
|||||||
style: .critical,
|
style: .critical,
|
||||||
onFirstButtonPressed: {
|
onFirstButtonPressed: {
|
||||||
self.waitAndExecute {
|
self.waitAndExecute {
|
||||||
Task { await Shell.quiet("valet unlink '\(site.name)'") }
|
Task { await site.unlink() }
|
||||||
} completion: {
|
} completion: {
|
||||||
Task { await self.reloadDomains() }
|
Task { await self.reloadDomains() }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ struct ValetInteractionError: Error {
|
|||||||
var command: String
|
var command: String
|
||||||
}
|
}
|
||||||
|
|
||||||
#warning("ValetInteractor needs to be implemented and used")
|
|
||||||
class ValetInteractor {
|
class ValetInteractor {
|
||||||
static var shared = ValetInteractor()
|
static var shared = ValetInteractor()
|
||||||
|
|
||||||
@@ -75,7 +74,7 @@ class ValetInteractor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public func unlink(site: ValetSite) async throws {
|
public func unlink(site: ValetSite) async throws {
|
||||||
// TODO
|
await Shell.quiet("valet unlink '\(site.name)'")
|
||||||
}
|
}
|
||||||
|
|
||||||
public func remove(proxy: ValetProxy) async throws {
|
public func remove(proxy: ValetProxy) async throws {
|
||||||
@@ -92,7 +91,13 @@ class FakeValetInteractor: ValetInteractor {
|
|||||||
site.secured = !site.secured
|
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 {
|
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 {
|
class FakeSiteScanner: SiteScanner {
|
||||||
let fakes = [
|
var fakes = [
|
||||||
FakeValetSite(fakeWithName: "laravel", tld: "test", secure: true,
|
FakeValetSite(fakeWithName: "laravel", tld: "test", secure: true,
|
||||||
path: "~/Code/laravel/framework", linked: true),
|
path: "~/Code/laravel/framework", linked: true),
|
||||||
|
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ class ValetSite: ValetListable {
|
|||||||
try await ValetInteractor.shared.isolate(site: self, version: version)
|
try await ValetInteractor.shared.isolate(site: self, version: version)
|
||||||
}
|
}
|
||||||
|
|
||||||
func unlink() async throws {
|
func unlink() async {
|
||||||
try await ValetInteractor.shared.unlink(site: self)
|
try! await ValetInteractor.shared.unlink(site: self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user