Merge pull request #249 from OktopUSP/dev
frontend compose fixes + adapter fixer
This commit is contained in:
commit
1a9294a677
|
|
@ -5,6 +5,9 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/OktopUSP/oktopus/backend/services/mtp/adapter/internal/db"
|
"github.com/OktopUSP/oktopus/backend/services/mtp/adapter/internal/db"
|
||||||
|
"github.com/OktopUSP/oktopus/backend/services/mtp/adapter/internal/usp"
|
||||||
|
"github.com/OktopUSP/oktopus/backend/services/mtp/adapter/internal/usp/usp_msg"
|
||||||
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (h *Handler) HandleDeviceStatus(device, subject string, data []byte, mtp string, ack func()) {
|
func (h *Handler) HandleDeviceStatus(device, subject string, data []byte, mtp string, ack func()) {
|
||||||
|
|
@ -15,6 +18,8 @@ func (h *Handler) HandleDeviceStatus(device, subject string, data []byte, mtp st
|
||||||
}
|
}
|
||||||
|
|
||||||
switch payload {
|
switch payload {
|
||||||
|
case ONLINE:
|
||||||
|
h.deviceOnline(device, mtp)
|
||||||
case OFFLINE:
|
case OFFLINE:
|
||||||
h.deviceOffline(device, mtp)
|
h.deviceOffline(device, mtp)
|
||||||
default:
|
default:
|
||||||
|
|
@ -22,6 +27,35 @@ func (h *Handler) HandleDeviceStatus(device, subject string, data []byte, mtp st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (h *Handler) deviceOnline(device, mtp string) {
|
||||||
|
|
||||||
|
log.Printf("Device %s is online", device)
|
||||||
|
|
||||||
|
msg := usp.NewGetMsg(usp_msg.Get{
|
||||||
|
ParamPaths: []string{
|
||||||
|
"Device.DeviceInfo.Manufacturer",
|
||||||
|
"Device.DeviceInfo.ModelName",
|
||||||
|
"Device.DeviceInfo.SoftwareVersion",
|
||||||
|
"Device.DeviceInfo.SerialNumber",
|
||||||
|
"Device.DeviceInfo.ProductClass",
|
||||||
|
},
|
||||||
|
MaxDepth: 1,
|
||||||
|
})
|
||||||
|
|
||||||
|
payload, _ := proto.Marshal(&msg)
|
||||||
|
record := usp.NewUspRecord(payload, device, h.cid)
|
||||||
|
|
||||||
|
tr369Message, err := proto.Marshal(&record)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln("Failed to encode tr369 record:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = h.nc.Publish(mtp+"-adapter.usp.v1."+device+".info", tr369Message)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Failed to publish online device message: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (h *Handler) deviceOffline(device, mtp string) {
|
func (h *Handler) deviceOffline(device, mtp string) {
|
||||||
log.Printf("Device %s is offline", device)
|
log.Printf("Device %s is offline", device)
|
||||||
|
|
||||||
|
|
|
||||||
1
deploy/compose/.env.acs
Normal file
1
deploy/compose/.env.acs
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
NATS_URL=nats://msg_broker:4222
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# ----------------------------- Local Environment ---------------------------- #
|
# ----------------------------- Local Environment ---------------------------- #
|
||||||
|
|
||||||
NEXT_PUBLIC_REST_ENPOINT="http://localhost:8000/api"
|
NEXT_PUBLIC_REST_ENDPOINT="http://localhost:8000/api"
|
||||||
NEXT_PUBLIC_WS_ENPOINT="http://localhost:5000/"
|
NEXT_PUBLIC_WS_ENPDOINT="http://localhost:5000/"
|
||||||
# ---------------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------------- #
|
||||||
|
|
||||||
# -------------------------- Production Environment -------------------------- #
|
# -------------------------- Production Environment -------------------------- #
|
||||||
|
|
|
||||||
|
|
@ -176,6 +176,17 @@ services:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- ./portainer_data:/data
|
- ./portainer_data:/data
|
||||||
|
|
||||||
|
acs:
|
||||||
|
image: oktopusp/acs
|
||||||
|
container_name: acs
|
||||||
|
ports:
|
||||||
|
- 9292:9292
|
||||||
|
env_file:
|
||||||
|
- .env.acs
|
||||||
|
networks:
|
||||||
|
usp_network:
|
||||||
|
ipv4_address: 172.16.235.16
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
usp_network:
|
usp_network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ export const AuthProvider = (props) => {
|
||||||
redirect: 'follow'
|
redirect: 'follow'
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await fetch(process.env.NEXT_PUBLIC_REST_ENPOINT+"/auth/login", requestOptions)
|
let result = await fetch(process.env.NEXT_PUBLIC_REST_ENDPOINT+"/auth/login", requestOptions)
|
||||||
|
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
throw new Error('Please check your email and password');
|
throw new Error('Please check your email and password');
|
||||||
|
|
@ -195,7 +195,7 @@ export const AuthProvider = (props) => {
|
||||||
redirect: 'follow'
|
redirect: 'follow'
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await fetch(process.env.NEXT_PUBLIC_REST_ENPOINT+"/auth/admin/register", requestOptions)
|
let result = await fetch(process.env.NEXT_PUBLIC_REST_ENDPOINT+"/auth/admin/register", requestOptions)
|
||||||
|
|
||||||
if (result.status == 200) {
|
if (result.status == 200) {
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ export const WsProvider = (props) => {
|
||||||
const userVideo = useRef();
|
const userVideo = useRef();
|
||||||
const connectionRef = useRef();
|
const connectionRef = useRef();
|
||||||
const auth = useAuth()
|
const auth = useAuth()
|
||||||
const socket = io(process.env.NEXT_PUBLIC_WS_ENPOINT)
|
const socket = io(process.env.NEXT_PUBLIC_WS_ENDPOINT)
|
||||||
|
|
||||||
const initialize = async () => {
|
const initialize = async () => {
|
||||||
// Prevent from calling twice in development mode with React.StrictMode enable
|
// Prevent from calling twice in development mode with React.StrictMode enable
|
||||||
|
|
|
||||||
|
|
@ -83,7 +83,7 @@ const Page = () => {
|
||||||
redirect: 'follow',
|
redirect: 'follow',
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/auth/admin/exists`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/auth/admin/exists`, requestOptions))
|
||||||
let content = await result.json()
|
let content = await result.json()
|
||||||
console.log("content: ", content)
|
console.log("content: ", content)
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ const Page = () => {
|
||||||
redirect: 'follow'
|
redirect: 'follow'
|
||||||
};
|
};
|
||||||
|
|
||||||
fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/users`,requestOptions)
|
fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/users`,requestOptions)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(result => {
|
.then(result => {
|
||||||
// let teste = JSON.stringify(JSON.parse(result), null, 2)
|
// let teste = JSON.stringify(JSON.parse(result), null, 2)
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ const Page = () => {
|
||||||
redirect: 'follow'
|
redirect: 'follow'
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch(process.env.NEXT_PUBLIC_REST_ENPOINT+'/device', requestOptions)
|
fetch(process.env.NEXT_PUBLIC_REST_ENDPOINT+'/device', requestOptions)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.status === 401)
|
if (response.status === 401)
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -86,7 +86,7 @@ const Page = () => {
|
||||||
p = p - 1
|
p = p - 1
|
||||||
p = p.toString()
|
p = p.toString()
|
||||||
|
|
||||||
fetch(process.env.NEXT_PUBLIC_REST_ENPOINT+'/device?page_number='+p, requestOptions)
|
fetch(process.env.NEXT_PUBLIC_REST_ENDPOINT+'/device?page_number='+p, requestOptions)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.status === 401)
|
if (response.status === 401)
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -115,7 +115,7 @@ const Page = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (id == ""){
|
if (id == ""){
|
||||||
return fetch(process.env.NEXT_PUBLIC_REST_ENPOINT+'/device', requestOptions)
|
return fetch(process.env.NEXT_PUBLIC_REST_ENDPOINT+'/device', requestOptions)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.status === 401)
|
if (response.status === 401)
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -133,7 +133,7 @@ const Page = () => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
let response = await fetch(process.env.NEXT_PUBLIC_REST_ENPOINT+'/device?id='+id, requestOptions)
|
let response = await fetch(process.env.NEXT_PUBLIC_REST_ENDPOINT+'/device?id='+id, requestOptions)
|
||||||
if (response.status === 401)
|
if (response.status === 401)
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
let json = await response.json()
|
let json = await response.json()
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ const Page = () => {
|
||||||
redirect: 'follow',
|
redirect: 'follow',
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/info/general`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/info/general`, requestOptions))
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
}else if (result.status != 200){
|
}else if (result.status != 200){
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ const addDeviceObj = async(obj, setShowLoading, router, updateDeviceParameters)
|
||||||
body: raw
|
body: raw
|
||||||
};
|
};
|
||||||
setShowLoading(true)
|
setShowLoading(true)
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/add`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/add`, requestOptions))
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -131,7 +131,7 @@ const deleteDeviceObj = async(obj, setShowLoading, router, updateDeviceParameter
|
||||||
body: raw
|
body: raw
|
||||||
};
|
};
|
||||||
setShowLoading(true)
|
setShowLoading(true)
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/del`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/del`, requestOptions))
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -481,7 +481,7 @@ const getDeviceParameters = async (raw) =>{
|
||||||
body: raw
|
body: raw
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/parameters`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/parameters`, requestOptions))
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -505,7 +505,7 @@ const getDeviceParameterInstances = async (raw) =>{
|
||||||
body: raw
|
body: raw
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/instances`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/instances`, requestOptions))
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
throw new Error('Please check your email and password');
|
throw new Error('Please check your email and password');
|
||||||
}else if (result.status === 401){
|
}else if (result.status === 401){
|
||||||
|
|
@ -778,7 +778,7 @@ const getDeviceParameterInstances = async (raw) =>{
|
||||||
body: raw
|
body: raw
|
||||||
};
|
};
|
||||||
|
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/get`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/get`, requestOptions))
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -1028,7 +1028,7 @@ const getDeviceParameterInstances = async (raw) =>{
|
||||||
|
|
||||||
setOpen(false)
|
setOpen(false)
|
||||||
setShowLoading(true)
|
setShowLoading(true)
|
||||||
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/set`, requestOptions))
|
let result = await (await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/set`, requestOptions))
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
router.push("/auth/login")
|
router.push("/auth/login")
|
||||||
|
|
@ -1171,7 +1171,7 @@ const getDeviceParameterInstances = async (raw) =>{
|
||||||
body: raw
|
body: raw
|
||||||
};
|
};
|
||||||
setShowLoading(true)
|
setShowLoading(true)
|
||||||
let result = await fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/operate`, requestOptions)
|
let result = await fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/operate`, requestOptions)
|
||||||
let content = await result.json()
|
let content = await result.json()
|
||||||
if (result.status != 200) {
|
if (result.status != 200) {
|
||||||
setShowLoading(false)
|
setShowLoading(false)
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ const handleOpen = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fetch(`${process.env.NEXT_PUBLIC_REST_ENPOINT}/device/${router.query.id[0]}/any/${method}`, requestOptions)
|
fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/any/${method}`, requestOptions)
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(result => {
|
.then(result => {
|
||||||
if (result.status === 401){
|
if (result.status === 401){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user