perms.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package ovpm
  2. import "github.com/cad/ovpm/permset"
  3. // OVPM available permissions.
  4. const (
  5. // User permissions
  6. CreateUserPerm permset.Perm = iota
  7. GetAnyUserPerm
  8. GetSelfPerm
  9. UpdateAnyUserPerm
  10. UpdateSelfPerm
  11. DeleteAnyUserPerm
  12. RenewAnyUserPerm
  13. GenConfigAnyUserPerm
  14. GenConfigSelfPerm
  15. // VPN permissions
  16. GetVPNStatusPerm
  17. InitVPNPerm
  18. UpdateVPNPerm
  19. // Network permissions
  20. ListNetworksPerm
  21. CreateNetworkPerm
  22. DeleteNetworkPerm
  23. GetNetworkTypesPerm
  24. GetNetworkAssociatedUsersPerm
  25. AssociateNetworkUserPerm
  26. DissociateNetworkUserPerm
  27. )
  28. // AdminPerms is a collection of permissions for Admin.
  29. func AdminPerms() []permset.Perm {
  30. return []permset.Perm{
  31. CreateUserPerm,
  32. GetAnyUserPerm,
  33. GetSelfPerm,
  34. UpdateAnyUserPerm,
  35. UpdateSelfPerm,
  36. DeleteAnyUserPerm,
  37. RenewAnyUserPerm,
  38. GenConfigAnyUserPerm,
  39. GenConfigSelfPerm,
  40. GetVPNStatusPerm,
  41. InitVPNPerm,
  42. UpdateVPNPerm,
  43. ListNetworksPerm,
  44. CreateNetworkPerm,
  45. DeleteNetworkPerm,
  46. GetNetworkTypesPerm,
  47. GetNetworkAssociatedUsersPerm,
  48. AssociateNetworkUserPerm,
  49. DissociateNetworkUserPerm,
  50. }
  51. }
  52. // UserPerms is a collection of permissions for User.
  53. func UserPerms() []permset.Perm {
  54. return []permset.Perm{
  55. GetSelfPerm,
  56. UpdateSelfPerm,
  57. GenConfigSelfPerm,
  58. }
  59. }