router.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package main
  2. import (
  3. "github.com/go-martini/martini"
  4. "github.com/xyproto/permissionsql"
  5. )
  6. // martini router
  7. func route(m *martini.ClassicMartini, perm *permissionsql.Permissions) {
  8. // jwt handler
  9. // handler := New(Config{
  10. // ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
  11. // return []byte(SignedString), nil
  12. // },
  13. // SigningMethod: jwt.SigningMethodHS256,
  14. // })
  15. // find a device by key
  16. m.Get("/application/v1/device/info", GetDeviceInfoByKey)
  17. // find a device by identifier
  18. m.Get("/application/v1/devices/:identifier/info", ApplicationAuthOnDeviceIdentifer, GetDeviceInfoByIdentifier)
  19. // get devie current status
  20. m.Get("/application/v1/devices/:identifier/status/current",
  21. ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
  22. GetDeviceCurrentStatus)
  23. // get devie latest status
  24. m.Get("/application/v1/devices/:identifier/status/latest",
  25. ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
  26. GetDeviceLatestStatus)
  27. // set device status
  28. m.Put("/application/v1/devices/:identifier/status",
  29. ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
  30. SetDeviceStatus)
  31. // send a command to device
  32. m.Post("/application/v1/devices/:identifier/commands",
  33. ApplicationAuthOnDeviceIdentifer, CheckDeviceOnline, CheckProductConfig,
  34. SendCommandToDevice)
  35. // and a rule to device
  36. m.Post("/application/v1/devices/:identifier/rules",
  37. ApplicationAuthOnDeviceIdentifer, CheckDeviceIdentifier,
  38. AddRule)
  39. // // user login
  40. // m.Post("/api/v1/login", binding.Bind(models.LoginRequest{}),
  41. // UserLogin)
  42. // // user register
  43. // m.Post("/api/v1/reg", binding.Bind(models.Reqrequest{}),
  44. // UserRegister)
  45. // // user api group
  46. // // jwt check and pass UserToken
  47. // m.Group("/api/v1/user", func(r martini.Router) {
  48. // // user modify password api
  49. // r.Post("/modifypass", ModifyPassword)
  50. // // user add a product
  51. // r.Post("/product", binding.Bind(models.Product{}), SaveProduct)
  52. // // delete a product
  53. // r.Delete("/product", binding.Bind(models.Product{}), DeleteProduct)
  54. // // get products
  55. // r.Get("/product", GetProducts)
  56. // }, handler.Serve)
  57. }