diff --git a/backend/services/acs/build/Dockerfile b/backend/services/acs/build/Dockerfile index 0e8119a..e5e50fc 100644 --- a/backend/services/acs/build/Dockerfile +++ b/backend/services/acs/build/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22.2@sha256:450e3822c7a135e1463cd83e51c8e2eb03b86a02113c89424e6f0f8344bb4168 as builder +FROM golang:1.23 as builder WORKDIR /app COPY ../ . RUN CGO_ENABLED=0 GOOS=linux go build -o acs cmd/acs/main.go diff --git a/backend/services/acs/go.mod b/backend/services/acs/go.mod index e40c2b6..bcd92b4 100644 --- a/backend/services/acs/go.mod +++ b/backend/services/acs/go.mod @@ -1,18 +1,21 @@ module oktopUSP/backend/services/acs -go 1.22.2 +go 1.23.0 + +toolchain go1.23.4 + require ( github.com/google/uuid v1.6.0 github.com/joho/godotenv v1.5.1 github.com/nats-io/nats.go v1.35.0 github.com/oleiade/lane v1.0.1 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.33.0 ) require ( github.com/klauspost/compress v1.17.8 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/text v0.25.0 // indirect ) diff --git a/backend/services/acs/go.sum b/backend/services/acs/go.sum index ed5648a..4b34758 100644 --- a/backend/services/acs/go.sum +++ b/backend/services/acs/go.sum @@ -12,9 +12,9 @@ github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/oleiade/lane v1.0.1 h1:hXofkn7GEOubzTwNpeL9MaNy8WxolCYb9cInAIeqShU= github.com/oleiade/lane v1.0.1/go.mod h1:IyTkraa4maLfjq/GmHR+Dxb4kCMtEGeb+qmhlrQ5Mk4= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= diff --git a/backend/services/controller/internal/api/api.go b/backend/services/controller/internal/api/api.go index 29e5227..2b3f34c 100644 --- a/backend/services/controller/internal/api/api.go +++ b/backend/services/controller/internal/api/api.go @@ -64,7 +64,7 @@ func (a *Api) StartApi() { iot.HandleFunc("/cwmp/{sn}/setParameterValues", a.cwmpSetParameterValuesMsg).Methods("PUT") iot.HandleFunc("/cwmp/{sn}/addObject", a.cwmpAddObjectMsg).Methods("PUT") iot.HandleFunc("/cwmp/{sn}/deleteObject", a.cwmpDeleteObjectMsg).Methods("PUT") - iot.HandleFunc("", a.retrieveDevices).Methods("GET") + iot.HandleFunc("", a.retrieveDevices).Methods("GET", "DELETE") iot.HandleFunc("/filterOptions", a.filterOptions).Methods("GET") iot.HandleFunc("/{sn}/{mtp}/generic", a.deviceGenericMessage).Methods("PUT") iot.HandleFunc("/{sn}/{mtp}/get", a.deviceGetMsg).Methods("PUT") diff --git a/backend/services/mtp/adapter/build/Dockerfile b/backend/services/mtp/adapter/build/Dockerfile index 8c8be7d..835656f 100644 --- a/backend/services/mtp/adapter/build/Dockerfile +++ b/backend/services/mtp/adapter/build/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22@sha256:82e07063a1ac3ee59e6f38b1222e32ce88469e4431ff6496cc40fb9a0fc18229 as builder +FROM golang:1.23 as builder WORKDIR /app COPY ../ . RUN CGO_ENABLED=0 GOOS=linux go build -o adapter cmd/adapter/main.go diff --git a/backend/services/mtp/adapter/go.mod b/backend/services/mtp/adapter/go.mod index f2c28b3..379f637 100644 --- a/backend/services/mtp/adapter/go.mod +++ b/backend/services/mtp/adapter/go.mod @@ -1,6 +1,9 @@ module github.com/OktopUSP/oktopus/backend/services/mtp/adapter -go 1.22.0 +go 1.23.0 + +toolchain go1.23.4 + require ( github.com/google/uuid v1.6.0 github.com/joho/godotenv v1.5.1 @@ -19,8 +22,8 @@ require ( github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20240424034433-3c2c7870ae76 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/sync v0.14.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.25.0 // indirect ) diff --git a/backend/services/mtp/adapter/go.sum b/backend/services/mtp/adapter/go.sum index 5bb2f86..d2d6c12 100644 --- a/backend/services/mtp/adapter/go.sum +++ b/backend/services/mtp/adapter/go.sum @@ -31,31 +31,31 @@ go.mongodb.org/mongo-driver v1.15.0 h1:rJCKC8eEliewXjZGf0ddURtl7tTVy1TK3bfl0gkUS go.mongodb.org/mongo-driver v1.15.0/go.mod h1:Vzb0Mk/pa7e6cWw85R4F/endUC3u0U9jGcNU603k65c= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= diff --git a/backend/services/mtp/mqtt-adapter/go.mod b/backend/services/mtp/mqtt-adapter/go.mod index e1aa8ec..64ac894 100644 --- a/backend/services/mtp/mqtt-adapter/go.mod +++ b/backend/services/mtp/mqtt-adapter/go.mod @@ -2,14 +2,14 @@ module github.com/OktopUSP/oktopus/backend/services/mqtt-adapter go 1.23.0 -toolchain go1.24.1 +toolchain go1.23.4 require ( github.com/eclipse/paho.golang v0.21.0 github.com/google/uuid v1.6.0 github.com/joho/godotenv v1.5.1 github.com/nats-io/nats.go v1.35.0 - golang.org/x/sys v0.30.0 + golang.org/x/sys v0.33.0 ) require ( @@ -17,7 +17,7 @@ require ( github.com/klauspost/compress v1.17.8 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect - golang.org/x/crypto v0.35.0 // indirect - golang.org/x/net v0.36.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/text v0.25.0 // indirect ) diff --git a/backend/services/mtp/mqtt-adapter/go.sum b/backend/services/mtp/mqtt-adapter/go.sum index e5e25e2..1da88a3 100644 --- a/backend/services/mtp/mqtt-adapter/go.sum +++ b/backend/services/mtp/mqtt-adapter/go.sum @@ -24,13 +24,13 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= -golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= -golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/backend/services/mtp/mqtt/build/Dockerfile b/backend/services/mtp/mqtt/build/Dockerfile index 6a912db..a7a51b9 100644 --- a/backend/services/mtp/mqtt/build/Dockerfile +++ b/backend/services/mtp/mqtt/build/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22@sha256:82e07063a1ac3ee59e6f38b1222e32ce88469e4431ff6496cc40fb9a0fc18229 as builder +FROM golang:1.23 as builder WORKDIR /app COPY ../ . RUN CGO_ENABLED=0 GOOS=linux go build -o mqtt cmd/mqtt/main.go diff --git a/backend/services/mtp/mqtt/go.mod b/backend/services/mtp/mqtt/go.mod index 5afa5a9..c6125c6 100644 --- a/backend/services/mtp/mqtt/go.mod +++ b/backend/services/mtp/mqtt/go.mod @@ -1,6 +1,8 @@ module broker -go 1.18 +go 1.23.0 + +toolchain go1.23.4 require ( github.com/go-redis/redis/v8 v8.11.5 @@ -21,8 +23,8 @@ require ( github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/rs/xid v1.4.0 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.25.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/backend/services/mtp/mqtt/go.sum b/backend/services/mtp/mqtt/go.sum index 77f3b4b..0127718 100644 --- a/backend/services/mtp/mqtt/go.sum +++ b/backend/services/mtp/mqtt/go.sum @@ -42,15 +42,24 @@ github.com/rs/zerolog v1.29.1 h1:cO+d60CHkknCbvzEWxP0S9K6KqyTjrCNUy1LdQLCGPc= github.com/rs/zerolog v1.29.1/go.mod h1:Le6ESbR7hc+DP6Lt1THiV8CQSdkkNrd3R0XbEgp3ZBU= github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY= github.com/yuin/gopher-lua v0.0.0-20210529063254-f4c35e4016d9 h1:k/gmLsJDWwWqbLCur2yWnJzwQEKRcAHXo6seXGuSwWw= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= diff --git a/backend/services/mtp/stomp-adapter/build/Dockerfile b/backend/services/mtp/stomp-adapter/build/Dockerfile index 883470a..4ca3852 100644 --- a/backend/services/mtp/stomp-adapter/build/Dockerfile +++ b/backend/services/mtp/stomp-adapter/build/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22@sha256:82e07063a1ac3ee59e6f38b1222e32ce88469e4431ff6496cc40fb9a0fc18229 as builder +FROM golang:1.23 as builder WORKDIR /app COPY ../ . RUN CGO_ENABLED=0 GOOS=linux go build -o stomp-adapter cmd/stomp-adapter/main.go diff --git a/backend/services/mtp/stomp-adapter/go.mod b/backend/services/mtp/stomp-adapter/go.mod index 3ded50d..3c572f7 100644 --- a/backend/services/mtp/stomp-adapter/go.mod +++ b/backend/services/mtp/stomp-adapter/go.mod @@ -1,16 +1,19 @@ module github.com/oktopUSP/oktopus/backend/services/mtp/stomp-adapter -go 1.22.1 +go 1.23.0 + +toolchain go1.23.4 + require ( github.com/joho/godotenv v1.5.1 github.com/nats-io/nats.go v1.35.0 - golang.org/x/sys v0.28.0 + golang.org/x/sys v0.33.0 ) require ( github.com/klauspost/compress v1.17.8 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/text v0.25.0 // indirect ) diff --git a/backend/services/mtp/stomp-adapter/go.sum b/backend/services/mtp/stomp-adapter/go.sum index 57f4895..2e02324 100644 --- a/backend/services/mtp/stomp-adapter/go.sum +++ b/backend/services/mtp/stomp-adapter/go.sum @@ -8,9 +8,9 @@ github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= diff --git a/backend/services/mtp/ws-adapter/build/Dockerfile b/backend/services/mtp/ws-adapter/build/Dockerfile index 104d69e..9c92995 100644 --- a/backend/services/mtp/ws-adapter/build/Dockerfile +++ b/backend/services/mtp/ws-adapter/build/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.24 as builder +FROM golang:1.23 as builder WORKDIR /app COPY ../ . RUN CGO_ENABLED=0 GOOS=linux go build -o ws-adapter cmd/ws-adapter/main.go diff --git a/backend/services/mtp/ws-adapter/go.mod b/backend/services/mtp/ws-adapter/go.mod index f0516b7..3975195 100644 --- a/backend/services/mtp/ws-adapter/go.mod +++ b/backend/services/mtp/ws-adapter/go.mod @@ -2,14 +2,14 @@ module github.com/OktopUSP/oktopus/backend/services/mtp/ws-adapter go 1.23.0 -toolchain go1.24.1 +toolchain go1.23.4 require ( github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.1 github.com/joho/godotenv v1.5.1 github.com/nats-io/nats.go v1.35.0 - golang.org/x/sys v0.30.0 + golang.org/x/sys v0.33.0 google.golang.org/protobuf v1.34.1 ) @@ -17,7 +17,7 @@ require ( github.com/klauspost/compress v1.17.8 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect - golang.org/x/crypto v0.35.0 // indirect - golang.org/x/net v0.36.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/text v0.25.0 // indirect ) diff --git a/backend/services/mtp/ws-adapter/go.sum b/backend/services/mtp/ws-adapter/go.sum index e31dcc1..8372a87 100644 --- a/backend/services/mtp/ws-adapter/go.sum +++ b/backend/services/mtp/ws-adapter/go.sum @@ -14,14 +14,14 @@ github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= -golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= diff --git a/backend/services/mtp/ws/build/Dockerfile b/backend/services/mtp/ws/build/Dockerfile index 3e38515..1b03933 100644 --- a/backend/services/mtp/ws/build/Dockerfile +++ b/backend/services/mtp/ws/build/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.24 as builder +FROM golang:1.23 as builder WORKDIR /app COPY ../ . RUN CGO_ENABLED=0 GOOS=linux go build -o ws cmd/ws/main.go diff --git a/backend/services/mtp/ws/go.mod b/backend/services/mtp/ws/go.mod index f6e9415..b6e6e08 100644 --- a/backend/services/mtp/ws/go.mod +++ b/backend/services/mtp/ws/go.mod @@ -2,7 +2,7 @@ module github.com/OktopUSP/oktopus/ws go 1.23.0 -toolchain go1.24.1 +toolchain go1.23.4 require ( github.com/gorilla/mux v1.8.1 @@ -16,8 +16,8 @@ require ( github.com/klauspost/compress v1.17.8 // indirect github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect - golang.org/x/crypto v0.35.0 // indirect - golang.org/x/net v0.36.0 // indirect - golang.org/x/sys v0.30.0 // indirect - golang.org/x/text v0.22.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/sys v0.33.0 // indirect + golang.org/x/text v0.25.0 // indirect ) diff --git a/backend/services/mtp/ws/go.sum b/backend/services/mtp/ws/go.sum index 30ffe56..4aaa2c4 100644 --- a/backend/services/mtp/ws/go.sum +++ b/backend/services/mtp/ws/go.sum @@ -14,14 +14,14 @@ github.com/nats-io/nkeys v0.4.7 h1:RwNJbbIdYCoClSDNY7QVKZlyb/wfT6ugvFCiKy6vDvI= github.com/nats-io/nkeys v0.4.7/go.mod h1:kqXRgRDPlGy7nGaEDMuYzmiJCIAAWDK0IMBtDmGD0nc= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -golang.org/x/crypto v0.35.0 h1:b15kiHdrGCHrP6LvwaQ3c03kgNhhiMgvlhxHQhmg2Xs= -golang.org/x/crypto v0.35.0/go.mod h1:dy7dXNW32cAb/6/PRuTNsix8T+vJAqvuIy5Bli/x0YQ= -golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA= -golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= diff --git a/frontend/src/layouts/dashboard/config.js b/frontend/src/layouts/dashboard/config.js index 4a836b8..3882d65 100644 --- a/frontend/src/layouts/dashboard/config.js +++ b/frontend/src/layouts/dashboard/config.js @@ -11,6 +11,9 @@ import FolderIcon from '@heroicons/react/24/solid/FolderIcon'; import ShieldCheckIcon from '@heroicons/react/24/solid/ShieldCheckIcon'; import EnvelopeIcon from '@heroicons/react/24/solid/EnvelopeIcon'; import UserIcon from '@heroicons/react/24/solid/UserIcon'; +import BuildingOffice2Icon from '@heroicons/react/24/solid/BuildingOffice2Icon'; +import BookOpenIcon from '@heroicons/react/24/solid/BookOpenIcon'; +import CommandLineIcon from '@heroicons/react/24/solid/CommandLineIcon'; export const items = [ { @@ -38,12 +41,10 @@ export const items = [ ), - tooltip: 'Upgrade to Business Plan', disabled: true, children: [ { title: 'Firmware Update', - tooltip: 'Upgrade to Business Plan', icon: ( @@ -53,7 +54,6 @@ export const items = [ }, { title: 'Message', - tooltip: 'Upgrade to Business Plan', disabled: true, icon: ( @@ -63,6 +63,15 @@ export const items = [ }, ] }, + { + title: 'Scripts', + disabled: true, + icon: ( + + + + ) + }, { title: 'Credentials', path: '/credentials', @@ -75,17 +84,24 @@ export const items = [ { title: 'Access Control', disabled: true, - tooltip: 'Upgrade to Business Plan', icon: ( ), children: [ + { + title: 'Tenants', + disabled: true, + icon: ( + + + + ) + }, { title: 'Roles', disabled: true, - tooltip: 'Upgrade to Business Plan', icon: ( @@ -105,7 +121,6 @@ export const items = [ }, { title: 'File Server', - tooltip: 'Upgrade to Business Plan', disabled: true, icon: ( @@ -122,6 +137,16 @@ export const items = [ ) }, + { + title: 'Docs', + path: 'https://docs.oktopus.app.br', + icon: ( + + + + ), + external: true, + }, ]; /* diff --git a/frontend/src/layouts/dashboard/side-nav-item.js b/frontend/src/layouts/dashboard/side-nav-item.js index e46634c..015f479 100644 --- a/frontend/src/layouts/dashboard/side-nav-item.js +++ b/frontend/src/layouts/dashboard/side-nav-item.js @@ -5,6 +5,7 @@ import { Box, ButtonBase, Collapse, SvgIcon, Tooltip } from '@mui/material'; import ChevronDownIcon from '@heroicons/react/24/outline/ChevronDownIcon'; import ChevronUpIcon from '@heroicons/react/24/outline/ChevronUpIcon'; import { usePathname } from 'next/navigation'; +import ArrowTopRightOnSquareIcon from '@heroicons/react/24/solid/ArrowTopRightOnSquareIcon'; export const SideNavItem = (props) => { const { active = false, disabled, external, icon, path, title, children, padleft, tooltip } = props; @@ -112,7 +113,13 @@ export const SideNavItem = (props) => { }} {...linkProps} > - {title} + {title} { + external && ( + + + + ) + } { children && { - } + } } @@ -158,7 +165,7 @@ export const SideNavItem = (props) => { { direction="row" spacing={2} > - {/* + {/* - */} + */} + + + + + + + + + {/* { const [rowsPerPage, setRowsPerPage] = useState(20); const [showSetDeviceAlias, setShowSetDeviceAlias] = useState(false); + const [showSetDeviceToBeRemoved, setShowSetDeviceToBeRemoved] = useState(false); const [deviceAlias, setDeviceAlias] = useState(null); const [deviceToBeChanged, setDeviceToBeChanged] = useState(null); + const [deviceToBeRemoved, setDeviceToBeRemoved] = useState(null); const [showFilter, setShowFilter] = useState(false); const [selected, setSelected] = useState([]); const [selectAll, setSelectAll] = useState(false); @@ -260,6 +263,38 @@ const Page = () => { }, [auth.user]); + const removeDevice = async (sn) => { + var myHeaders = new Headers(); + myHeaders.append("Content-Type", "application/json"); + myHeaders.append("Authorization", localStorage.getItem("token")); + + var requestOptions = { + method: 'DELETE', + headers: myHeaders, + redirect: 'follow' + }; + + let result = await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT || ""}/api/device?id=${sn}`, requestOptions) + console.log("result:", result) + if (result.status === 401) { + router.push("/auth/login") + } else if (result.status != 200) { + console.log("Status:", result.status) + let content = await result.json() + console.log("Message:", content) + setShowSetDeviceToBeRemoved(false) + setDeviceToBeRemoved(null) + } else { + let content = await result.json() + console.log("remove device result:", content) + setShowSetDeviceToBeRemoved(false) + setDeviceToBeRemoved(null) + devices.splice(deviceToBeRemoved, 1) + setDevices([...devices]) + } + + } + const setNewDeviceAlias = async (alias, sn) => { var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); @@ -663,6 +698,21 @@ const Page = () => { + + + {/* } + {showSetDeviceToBeRemoved && + + + Are you sure you want to remove {devices[deviceToBeRemoved].SN} device? + + + + + + } {/* / : // { justifyContent:'center', }}> - + } iconPosition={"end"} label="Wi-Fi" value={"wifi"} style={{opacity:"0.5", cursor:"default"}}/> - + } iconPosition={"end"} label="Site Survey" value={"site-survey"} style={{opacity:"0.5", cursor:"default"}}/> - + } iconPosition={"end"} @@ -97,42 +97,42 @@ const Page = () => { style={{opacity:"0.5", cursor:"default"}} value={"connected-devices"} /> - + } iconPosition={"end"} label="Diagnostic" value={"diagnostic"} style={{opacity:"0.5", cursor:"default"}}/> - + } iconPosition={"end"} label="Ports" style={{opacity:"0.5", cursor:"default"}} value={"ports"} /> - + } iconPosition={"end"} label="Historic" value={"historic"} style={{opacity:"0.5", cursor:"default"}}/> - + } iconPosition={"end"} label="Actions" style={{opacity:"0.5", cursor:"default"}} value={"actions"} /> - + } iconPosition={"end"} label="Logs" style={{opacity:"0.5", cursor:"default"}} value={"logs"} /> - + } iconPosition={"end"} diff --git a/frontend/src/pages/devices/usp/[...id].js b/frontend/src/pages/devices/usp/[...id].js index a42bd41..6769a1f 100644 --- a/frontend/src/pages/devices/usp/[...id].js +++ b/frontend/src/pages/devices/usp/[...id].js @@ -77,7 +77,7 @@ const Page = () => { justifyContent:'center' }}> - + } iconPosition={"end"} @@ -85,7 +85,7 @@ const Page = () => { style={{cursor:"default", opacity: 0.5}} value={"wifi"}/> - + } iconPosition={"end"} @@ -94,7 +94,7 @@ const Page = () => { value={"site-survey"} /> - + } iconPosition={"end"} @@ -103,42 +103,42 @@ const Page = () => { value={"connected-devices"} /> - + } iconPosition={"end"} label="Diagnostic" style={{cursor:"default", opacity: 0.5}} value={"diagnostic"} /> - + } iconPosition={"end"} label="Ports" style={{cursor:"default", opacity: 0.5}} value={"ports"} /> - + } iconPosition={"end"} label="Historic" style={{cursor:"default", opacity: 0.5}} value={"historic"} /> - + } iconPosition={"end"} label="LCM" style={{cursor:"default", opacity: 0.5}} value={"lcm"} /> - + } iconPosition={"end"} label="Location" style={{cursor:"default", opacity: 0.5}} value={"location"} /> - + } iconPosition={"end"}