Skip to content

Commit 6936a16

Browse files
committed
start using shared library for my sanity
1 parent c4e4131 commit 6936a16

File tree

12 files changed

+77
-43
lines changed

12 files changed

+77
-43
lines changed

go.mod

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
module github.com/therealpaulgg/ssh-sync-server
22

3-
go 1.24.0
4-
5-
toolchain go1.24.7
3+
go 1.25.0
64

75
require (
86
github.com/go-chi/chi v1.5.4
@@ -15,9 +13,9 @@ require (
1513
github.com/georgysavva/scany/v2 v2.0.0
1614
github.com/gobwas/httphead v0.1.0 // indirect
1715
github.com/gobwas/pool v0.2.1 // indirect
18-
github.com/gobwas/ws v1.1.0
16+
github.com/gobwas/ws v1.4.0
1917
github.com/goccy/go-json v0.10.2 // indirect
20-
github.com/google/uuid v1.3.0
18+
github.com/google/uuid v1.6.0
2119
github.com/jackc/pgpassfile v1.0.0 // indirect
2220
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
2321
github.com/jackc/pgx/v5 v5.5.4
@@ -34,7 +32,6 @@ require (
3432
github.com/samber/do v1.5.1
3533
github.com/samber/lo v1.37.0
3634
github.com/sethvargo/go-diceware v0.3.0
37-
github.com/therealpaulgg/ssh-sync v1.2.2
3835
golang.org/x/crypto v0.35.0 // indirect
3936
golang.org/x/exp v0.0.0-20230111222715-75897c7a292a // indirect
4037
golang.org/x/sync v0.11.0 // indirect
@@ -46,6 +43,8 @@ require (
4643
github.com/stretchr/testify v1.9.0
4744
)
4845

46+
require github.com/therealpaulgg/ssh-sync-common v0.0.1
47+
4948
require (
5049
github.com/cloudflare/circl v1.6.3
5150
github.com/davecgh/go-spew v1.1.1 // indirect
@@ -54,5 +53,3 @@ require (
5453
github.com/segmentio/asm v1.2.0 // indirect
5554
gopkg.in/yaml.v3 v3.0.1 // indirect
5655
)
57-
58-
replace github.com/therealpaulgg/ssh-sync => ../ssh-sync

go.sum

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU
1717
github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM=
1818
github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
1919
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
20-
github.com/gobwas/ws v1.1.0 h1:7RFti/xnNkMJnrK7D1yQ/iCIB5OrrY/54/H930kIbHA=
21-
github.com/gobwas/ws v1.1.0/go.mod h1:nzvNcVha5eUziGrbxFCo6qFIojQHjJV5cLYIbezhfL0=
20+
github.com/gobwas/ws v1.4.0 h1:CTaoG1tojrh4ucGPcoJFiAQUAsEWekEWvLy7GsVNqGs=
21+
github.com/gobwas/ws v1.4.0/go.mod h1:G3gNqMNtPppf5XUz7O4shetPpcZ1VJ7zt18dlUeakrc=
2222
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
2323
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
2424
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
2525
github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
2626
github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
2727
github.com/golang/mock v1.7.0-rc.1 h1:YojYx61/OLFsiv6Rw1Z96LpldJIy31o+UHmwAUMJ6/U=
2828
github.com/golang/mock v1.7.0-rc.1/go.mod h1:s42URUywIqd+OcERslBJvOjepvNymP31m3q8d/GkuRs=
29-
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
30-
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
29+
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
30+
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
3131
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
3232
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
3333
github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
@@ -87,6 +87,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
8787
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
8888
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
8989
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
90+
github.com/therealpaulgg/ssh-sync-common v0.0.1 h1:jGF8W/mS7YE0Le8jny+qfNYUcTayN1pfsp71QXFC9Ys=
91+
github.com/therealpaulgg/ssh-sync-common v0.0.1/go.mod h1:eGg17M5ihJpAIJ7RDXot0UDK6K4wRTHciY1rPJolaDU=
9092
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
9193
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
9294
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
@@ -105,7 +107,6 @@ golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
105107
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
106108
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
107109
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
108-
golang.org/x/sys v0.0.0-20201207223542-d4d67f95c62d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
109110
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
110111
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
111112
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=

go.work

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
go 1.25.0
2+
3+
use (
4+
.
5+
../ssh-sync-common
6+
)

go.work.sum

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
2+
github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8=
3+
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
4+
github.com/charmbracelet/bubbles v0.20.0/go.mod h1:39slydyswPy+uVOHZ5x/GjwVAFkCsV8IIVy+4MhzwwU=
5+
github.com/charmbracelet/bubbletea v1.1.0/go.mod h1:9Ogk0HrdbHolIKHdjfFpyXJmiCzGwy+FesYkZr7hYU4=
6+
github.com/charmbracelet/lipgloss v0.13.1/go.mod h1:zaYVJ2xKSKEnTEEbX6uAHabh2d975RJ+0yfkFpRBz5U=
7+
github.com/charmbracelet/x/ansi v0.3.2/go.mod h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
8+
github.com/charmbracelet/x/term v0.2.0/go.mod h1:GVxgxAbjUrmpvIINHIQnJJKpMlHiZ4cktEQCN6GWyF0=
9+
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
10+
github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo=
11+
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f/go.mod h1:vw97MGsxSvLiUE2X8qFplwetxpGLQrlU1Q9AUEIzCaM=
12+
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
13+
github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
14+
github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88=
15+
github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
16+
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6/go.mod h1:CJlz5H+gyd6CUWT45Oy4q24RdLyn7Md9Vj2/ldJBSIo=
17+
github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
18+
github.com/muesli/termenv v0.15.2/go.mod h1:Epx+iuz8sNs7mNKhxzH4fWXGNpZwUaJKRS1noLXviQ8=
19+
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
20+
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
21+
github.com/sahilm/fuzzy v0.1.1/go.mod h1:VFvziUEIMCrT6A6tw2RFIXPXXmzXbOsSHF0DOI8ZK9Y=
22+
github.com/therealpaulgg/ssh-sync v1.2.2 h1:EzRtkHLF9vvG4HyfnUlRCWtpq2x3IMPhI18nm7jgHFo=
23+
github.com/therealpaulgg/ssh-sync v1.2.2/go.mod h1:lc90qMx77ydUuUw/ezkJb0eRlzeRlCWLWLW/RORbQsI=
24+
github.com/urfave/cli/v2 v2.23.7/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
25+
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
26+
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
27+
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
28+
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
29+
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=

pkg/web/live/main.go

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ import (
1414
"github.com/rs/zerolog/log"
1515
"github.com/samber/do"
1616
"github.com/sethvargo/go-diceware/diceware"
17+
"github.com/therealpaulgg/ssh-sync-common/pkg/dto"
18+
"github.com/therealpaulgg/ssh-sync-common/pkg/wsutils"
1719
pqc "github.com/therealpaulgg/ssh-sync-server/pkg/crypto"
1820
"github.com/therealpaulgg/ssh-sync-server/pkg/database/models"
1921
"github.com/therealpaulgg/ssh-sync-server/pkg/database/repository"
2022
"github.com/therealpaulgg/ssh-sync-server/pkg/web/middleware/context_keys"
21-
"github.com/therealpaulgg/ssh-sync/pkg/dto"
22-
"github.com/therealpaulgg/ssh-sync/pkg/utils"
2323
)
2424

2525
// Computer A creates a live connection.
@@ -38,7 +38,7 @@ type ChallengeResponse struct {
3838
type ChallengeSession struct {
3939
Username string
4040
ChallengeAccepted chan bool
41-
ChallengerChannel chan []byte
41+
ChallengerChannel chan *dto.PublicKeyDto
4242
ResponderChannel chan []byte
4343
}
4444

@@ -85,15 +85,15 @@ func MachineChallengeResponseHandler(i *do.Injector, r *http.Request, w http.Res
8585
log.Warn().Msg("Could not get user from context")
8686
return
8787
}
88-
foo, err := utils.ReadClientMessage[dto.ChallengeResponseDto](&conn)
88+
foo, err := wsutils.ReadClientMessage[dto.ChallengeResponseDto](&conn)
8989
if err != nil {
9090
log.Err(err).Msg("Error reading client message")
9191
return
9292
}
9393
chalChan, ok := ChallengeResponseDict.ReadChallenge(foo.Data.Challenge)
9494
if !ok {
9595
log.Warn().Msg("Could not find challenge in dict")
96-
if err := utils.WriteServerError[dto.ChallengeSuccessEncryptedKeyDto](&conn, "Invalid challenge response."); err != nil {
96+
if err := wsutils.WriteServerError[dto.ChallengeSuccessEncryptedKeyDto](&conn, "Invalid challenge response."); err != nil {
9797
log.Err(err).Msg("Error writing server error")
9898
}
9999
return
@@ -109,19 +109,20 @@ func MachineChallengeResponseHandler(i *do.Injector, r *http.Request, w http.Res
109109
key := <-chalChan.ChallengerChannel
110110
if key == nil {
111111
log.Debug().Msg("Response from challenger channel - key is nil. Exiting.")
112-
if err := utils.WriteServerError[dto.ChallengeSuccessEncryptedKeyDto](&conn, "Error responding to challenge - client abruptly closed connection."); err != nil {
112+
if err := wsutils.WriteServerError[dto.ChallengeSuccessEncryptedKeyDto](&conn, "Error responding to challenge - client abruptly closed connection."); err != nil {
113113
log.Err(err).Msg("Error writing server error")
114114
}
115115
return
116116
}
117117
keys := dto.ChallengeSuccessEncryptedKeyDto{
118-
PublicKey: key,
118+
PublicKey: key.PublicKey,
119+
EncapsulationKey: key.EncapsulationKey,
119120
}
120-
if err := utils.WriteServerMessage(&conn, keys); err != nil {
121+
if err := wsutils.WriteServerMessage(&conn, keys); err != nil {
121122
log.Err(err).Msg("Error writing server message")
122123
return
123124
}
124-
encMasterKeyDto, err := utils.ReadClientMessage[dto.EncryptedMasterKeyDto](&conn)
125+
encMasterKeyDto, err := wsutils.ReadClientMessage[dto.EncryptedMasterKeyDto](&conn)
125126
if err != nil {
126127
log.Err(err).Msg("Error reading client message")
127128
return
@@ -140,17 +141,17 @@ func NewMachineChallenge(i *do.Injector, r *http.Request, w http.ResponseWriter)
140141

141142
func NewMachineChallengeHandler(i *do.Injector, r *http.Request, w http.ResponseWriter, c *net.Conn) {
142143
conn := *c
143-
defer conn.Close()
144+
defer conn.Close()
144145
// first message sent should be JSON payload
145-
userMachine, err := utils.ReadClientMessage[dto.UserMachineDto](&conn)
146+
userMachine, err := wsutils.ReadClientMessage[dto.UserMachineDto](&conn)
146147
if err != nil {
147148
log.Err(err).Msg("Error reading client message")
148149
return
149150
}
150151
userRepo := do.MustInvoke[repository.UserRepository](i)
151152
user, err := userRepo.GetUserByUsername(userMachine.Data.Username)
152153
if errors.Is(err, sql.ErrNoRows) || user == nil {
153-
if err := utils.WriteServerError[dto.MessageDto](&conn, "User not found"); err != nil {
154+
if err := wsutils.WriteServerError[dto.MessageDto](&conn, "User not found"); err != nil {
154155
log.Err(err).Msg("Error writing server error")
155156
}
156157
return
@@ -163,7 +164,7 @@ func NewMachineChallengeHandler(i *do.Injector, r *http.Request, w http.Response
163164
machine, err := machineRepo.GetMachineByNameAndUser(userMachine.Data.MachineName, user.ID)
164165
// if the machine already exists, reject
165166
if err == nil && machine.ID != uuid.Nil {
166-
if err = utils.WriteServerError[dto.MessageDto](&conn, "Machine already exists"); err != nil {
167+
if err = wsutils.WriteServerError[dto.MessageDto](&conn, "Machine already exists"); err != nil {
167168
log.Err(err).Msg("Error writing server error")
168169
}
169170
return
@@ -179,13 +180,13 @@ func NewMachineChallengeHandler(i *do.Injector, r *http.Request, w http.Response
179180
words, err := diceware.GenerateWithWordList(3, diceware.WordListEffLarge())
180181
if err != nil {
181182
log.Err(err).Msg("Error generating diceware")
182-
if err := utils.WriteServerError[dto.MessageDto](&conn, "Error generating diceware"); err != nil {
183+
if err := wsutils.WriteServerError[dto.MessageDto](&conn, "Error generating diceware"); err != nil {
183184
log.Err(err).Msg("Error writing server error")
184185
}
185186
return
186187
}
187188
challengePhrase := strings.Join(words, "-")
188-
if err := utils.WriteServerMessage(&conn, dto.MessageDto{Message: challengePhrase}); err != nil {
189+
if err := wsutils.WriteServerMessage(&conn, dto.MessageDto{Message: challengePhrase}); err != nil {
189190
log.Err(err).Msg("Error writing challenge phrase")
190191
return
191192
}
@@ -199,7 +200,7 @@ func NewMachineChallengeHandler(i *do.Injector, r *http.Request, w http.Response
199200
ChallengeResponseDict.WriteChallenge(challengePhrase, ChallengeSession{
200201
Username: user.Username,
201202
ChallengeAccepted: make(chan bool),
202-
ChallengerChannel: make(chan []byte),
203+
ChallengerChannel: make(chan *dto.PublicKeyDto),
203204
ResponderChannel: make(chan []byte),
204205
})
205206
defer func() {
@@ -253,16 +254,16 @@ func NewMachineChallengeHandler(i *do.Injector, r *http.Request, w http.Response
253254
challengeResult := <-challengeResponse
254255

255256
if !challengeResult {
256-
if err := utils.WriteServerError[dto.MessageDto](&conn, "Challenge timed out"); err != nil {
257+
if err := wsutils.WriteServerError[dto.MessageDto](&conn, "Challenge timed out"); err != nil {
257258
log.Err(err).Msg("Error writing server error")
258259
}
259260
return
260261
}
261-
if err := utils.WriteServerMessage(&conn, dto.MessageDto{Message: "Challenge accepted!"}); err != nil {
262+
if err := wsutils.WriteServerMessage(&conn, dto.MessageDto{Message: "Challenge accepted!"}); err != nil {
262263
log.Err(err).Msg("Error writing challenge accepted")
263264
return
264265
}
265-
pubkey, err := utils.ReadClientMessage[dto.PublicKeyDto](&conn)
266+
pubkey, err := wsutils.ReadClientMessage[dto.PublicKeyDto](&conn)
266267
if err != nil {
267268
log.Err(err).Msg("Error reading client message")
268269
return
@@ -271,23 +272,23 @@ func NewMachineChallengeHandler(i *do.Injector, r *http.Request, w http.Response
271272
// Validate the public key format before storing
272273
if _, err := pqc.ValidatePublicKey(pubkey.Data.PublicKey); err != nil {
273274
log.Err(err).Msg("Invalid public key format in challenge flow")
274-
if err := utils.WriteServerError[dto.MessageDto](&conn, "Invalid public key format"); err != nil {
275+
if err := wsutils.WriteServerError[dto.MessageDto](&conn, "Invalid public key format"); err != nil {
275276
log.Err(err).Msg("Error writing server error")
276277
}
277278
return
278279
}
279-
cha.ChallengerChannel <- pubkey.Data.PublicKey
280+
cha.ChallengerChannel <- &pubkey.Data
280281
encryptedMasterKey := <-cha.ResponderChannel
281282
machine.PublicKey = pubkey.Data.PublicKey
282283
if _, err = machineRepo.CreateMachine(machine); err != nil {
283284
log.Err(err).Msg("Error creating machine")
284285
return
285286
}
286-
if err := utils.WriteServerMessage(&conn, dto.EncryptedMasterKeyDto{EncryptedMasterKey: encryptedMasterKey}); err != nil {
287+
if err := wsutils.WriteServerMessage(&conn, dto.EncryptedMasterKeyDto{EncryptedMasterKey: encryptedMasterKey}); err != nil {
287288
log.Err(err).Msg("Error writing encrypted master key")
288289
return
289290
}
290-
if err := utils.WriteServerMessage(&conn, dto.MessageDto{Message: "Everything is done, you can now use ssh-sync"}); err != nil {
291+
if err := wsutils.WriteServerMessage(&conn, dto.MessageDto{Message: "Everything is done, you can now use ssh-sync"}); err != nil {
291292
log.Err(err).Msg("Error writing final message")
292293
return
293294
}

pkg/web/router/routes/data.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ import (
1313
"github.com/rs/zerolog/log"
1414
"github.com/samber/do"
1515
"github.com/samber/lo"
16+
"github.com/therealpaulgg/ssh-sync-common/pkg/dto"
1617
"github.com/therealpaulgg/ssh-sync-server/pkg/database/models"
1718
"github.com/therealpaulgg/ssh-sync-server/pkg/database/query"
1819
"github.com/therealpaulgg/ssh-sync-server/pkg/database/repository"
1920
"github.com/therealpaulgg/ssh-sync-server/pkg/web/middleware"
2021
"github.com/therealpaulgg/ssh-sync-server/pkg/web/middleware/context_keys"
21-
"github.com/therealpaulgg/ssh-sync/pkg/dto"
2222
)
2323

2424
func getData(i *do.Injector) http.HandlerFunc {

pkg/web/router/routes/data_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ import (
1616
"github.com/google/uuid"
1717
"github.com/samber/do"
1818
"github.com/stretchr/testify/assert"
19+
"github.com/therealpaulgg/ssh-sync-common/pkg/dto"
1920
"github.com/therealpaulgg/ssh-sync-server/pkg/database/models"
2021
"github.com/therealpaulgg/ssh-sync-server/pkg/database/query"
2122
"github.com/therealpaulgg/ssh-sync-server/pkg/database/repository"
2223
"github.com/therealpaulgg/ssh-sync-server/pkg/web/testutils"
2324
"github.com/therealpaulgg/ssh-sync-server/test/pgx"
24-
"github.com/therealpaulgg/ssh-sync/pkg/dto"
2525
)
2626

2727
func TestGetData(t *testing.T) {

pkg/web/router/routes/machine.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ import (
1212
"github.com/rs/zerolog/log"
1313
"github.com/samber/do"
1414
"github.com/samber/lo"
15+
"github.com/therealpaulgg/ssh-sync-common/pkg/dto"
1516
pqc "github.com/therealpaulgg/ssh-sync-server/pkg/crypto"
1617
"github.com/therealpaulgg/ssh-sync-server/pkg/database/models"
1718
"github.com/therealpaulgg/ssh-sync-server/pkg/database/repository"
1819
"github.com/therealpaulgg/ssh-sync-server/pkg/web/middleware"
1920
"github.com/therealpaulgg/ssh-sync-server/pkg/web/middleware/context_keys"
20-
"github.com/therealpaulgg/ssh-sync/pkg/dto"
2121
)
2222

2323
type DeleteRequest struct {

pkg/web/router/routes/machine_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ import (
1414
"github.com/google/uuid"
1515
"github.com/samber/do"
1616
"github.com/stretchr/testify/assert"
17+
"github.com/therealpaulgg/ssh-sync-common/pkg/dto"
1718
"github.com/therealpaulgg/ssh-sync-server/pkg/database/models"
1819
"github.com/therealpaulgg/ssh-sync-server/pkg/database/repository"
1920
"github.com/therealpaulgg/ssh-sync-server/pkg/web/testutils"
20-
"github.com/therealpaulgg/ssh-sync/pkg/dto"
2121
)
2222

2323
func TestGetMachine(t *testing.T) {

pkg/web/router/routes/setup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ import (
99
"github.com/jackc/pgx/v5"
1010
"github.com/rs/zerolog/log"
1111
"github.com/samber/do"
12+
"github.com/therealpaulgg/ssh-sync-common/pkg/dto"
1213
pqc "github.com/therealpaulgg/ssh-sync-server/pkg/crypto"
1314
"github.com/therealpaulgg/ssh-sync-server/pkg/database/models"
1415
"github.com/therealpaulgg/ssh-sync-server/pkg/database/query"
1516
"github.com/therealpaulgg/ssh-sync-server/pkg/database/repository"
1617
"github.com/therealpaulgg/ssh-sync-server/pkg/web/live"
1718
"github.com/therealpaulgg/ssh-sync-server/pkg/web/middleware"
18-
"github.com/therealpaulgg/ssh-sync/pkg/dto"
1919
)
2020

2121
func initialSetup(i *do.Injector) http.HandlerFunc {

0 commit comments

Comments
 (0)