1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-04 12:38:31 -04:00

core: migrate to dankgo shared go modules, embed quickshell in DMS

binary to mount at runtime, -c or DMS_SHELL_DIR overrides required to
explicitly override embedded configuration
This commit is contained in:
bbedward
2026-07-18 14:51:09 -04:00
parent 2114ece0df
commit 0cdb065739
114 changed files with 1009 additions and 3024 deletions
+1 -2
View File
@@ -2,12 +2,11 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleRequest(conn net.Conn, req models.Request) {
func HandleRequest(conn *models.Conn, req models.Request) {
switch req.Method {
case "plugins.list":
HandleList(conn, req)
+21 -14
View File
@@ -12,8 +12,9 @@ import (
)
func TestHandleList(t *testing.T) {
conn := net.NewMockConn(t)
conn.EXPECT().Write(mock.Anything).Return(0, nil).Maybe()
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
mc.EXPECT().Write(mock.Anything).Return(0, nil).Maybe()
req := models.Request{
ID: 123,
@@ -25,8 +26,9 @@ func TestHandleList(t *testing.T) {
}
func TestHandleListInstalled(t *testing.T) {
conn := net.NewMockConn(t)
conn.EXPECT().Write(mock.Anything).Return(0, nil).Maybe()
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
mc.EXPECT().Write(mock.Anything).Return(0, nil).Maybe()
req := models.Request{
ID: 123,
@@ -38,9 +40,10 @@ func TestHandleListInstalled(t *testing.T) {
}
func TestHandleInstallMissingName(t *testing.T) {
conn := net.NewMockConn(t)
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
var written []byte
conn.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
mc.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
written = b
return len(b), nil
}).Maybe()
@@ -61,9 +64,10 @@ func TestHandleInstallMissingName(t *testing.T) {
}
func TestHandleInstallInvalidName(t *testing.T) {
conn := net.NewMockConn(t)
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
var written []byte
conn.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
mc.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
written = b
return len(b), nil
}).Maybe()
@@ -85,9 +89,10 @@ func TestHandleInstallInvalidName(t *testing.T) {
}
func TestHandleUninstallMissingName(t *testing.T) {
conn := net.NewMockConn(t)
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
var written []byte
conn.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
mc.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
written = b
return len(b), nil
}).Maybe()
@@ -107,9 +112,10 @@ func TestHandleUninstallMissingName(t *testing.T) {
}
func TestHandleUpdateMissingName(t *testing.T) {
conn := net.NewMockConn(t)
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
var written []byte
conn.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
mc.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
written = b
return len(b), nil
}).Maybe()
@@ -129,9 +135,10 @@ func TestHandleUpdateMissingName(t *testing.T) {
}
func TestHandleSearchMissingQuery(t *testing.T) {
conn := net.NewMockConn(t)
mc := net.NewMockConn(t)
conn := models.NewConn(mc)
var written []byte
conn.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
mc.EXPECT().Write(mock.Anything).RunAndReturn(func(b []byte) (int, error) {
written = b
return len(b), nil
}).Maybe()
+1 -2
View File
@@ -2,13 +2,12 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/plugins"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleInstall(conn net.Conn, req models.Request) {
func HandleInstall(conn *models.Conn, req models.Request) {
idOrName, ok := models.Get[string](req, "name")
if !ok {
models.RespondError(conn, req.ID, "missing or invalid 'name' parameter")
+1 -2
View File
@@ -2,13 +2,12 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/plugins"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleList(conn net.Conn, req models.Request) {
func HandleList(conn *models.Conn, req models.Request) {
registry, err := plugins.NewRegistry()
if err != nil {
models.RespondError(conn, req.ID, fmt.Sprintf("failed to create registry: %v", err))
@@ -2,13 +2,12 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/plugins"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleListInstalled(conn net.Conn, req models.Request) {
func HandleListInstalled(conn *models.Conn, req models.Request) {
manager, err := plugins.NewManager()
if err != nil {
models.RespondError(conn, req.ID, fmt.Sprintf("failed to create manager: %v", err))
+1 -2
View File
@@ -2,13 +2,12 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/plugins"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleSearch(conn net.Conn, req models.Request) {
func HandleSearch(conn *models.Conn, req models.Request) {
query, ok := models.Get[string](req, "query")
if !ok {
models.RespondError(conn, req.ID, "missing or invalid 'query' parameter")
+1 -2
View File
@@ -2,13 +2,12 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/plugins"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleUninstall(conn net.Conn, req models.Request) {
func HandleUninstall(conn *models.Conn, req models.Request) {
name, ok := models.Get[string](req, "name")
if !ok {
models.RespondError(conn, req.ID, "missing or invalid 'name' parameter")
+1 -2
View File
@@ -2,13 +2,12 @@ package plugins
import (
"fmt"
"net"
"github.com/AvengeMedia/DankMaterialShell/core/internal/plugins"
"github.com/AvengeMedia/DankMaterialShell/core/internal/server/models"
)
func HandleUpdate(conn net.Conn, req models.Request) {
func HandleUpdate(conn *models.Conn, req models.Request) {
name, ok := models.Get[string](req, "name")
if !ok {
models.RespondError(conn, req.ID, "missing or invalid 'name' parameter")