12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package main
- import (
- "sparrow/pkg/models"
- "github.com/go-martini/martini"
- "github.com/martini-contrib/binding"
- )
- // martini router
- func route(m *martini.ClassicMartini) {
- // find a device by key
- m.Get("/application/v1/device/info", GetDeviceInfoByKey)
- // find a device by identifier
- m.Get("/application/v1/devices/:identifier/info", ApplicationAuthOnDeviceIdentifer, GetDeviceInfoByIdentifier)
- // get devie current status
- m.Get("/application/v1/devices/:identifier/status/current",
- ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
- GetDeviceCurrentStatus)
- // get devie latest status
- m.Get("/application/v1/devices/:identifier/status/latest",
- ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
- GetDeviceLatestStatus)
- // set device status
- m.Put("/application/v1/devices/:identifier/status",
- ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
- SetDeviceStatus)
- // send a command to device
- m.Post("/application/v1/devices/:identifier/commands",
- ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
- SendCommandToDevice)
- // and a rule to device
- m.Post("/application/v1/devices/:identifier/rules",
- ApplicationAuthOnDeviceIdentifer, CheckDeviceIdentifier,
- AddRule)
- m.Post("/api/v1/login", binding.Bind(models.LoginRequest{}), UserLogin)
- m.Post("/api/v1/reg", binding.Bind(models.Request))
- }
|