Documentation
¶
Index ¶
- Constants
- Variables
- func AddUserToGroup(c echo.Context) error
- func CreateGroup(c echo.Context) error
- func CreateUser(c echo.Context) error
- func DeleteGroup(c echo.Context) error
- func DeleteUser(c echo.Context) error
- func GetAllGroups(c echo.Context) error
- func GetAllUsers(c echo.Context) error
- func GetGroup(c echo.Context) error
- func GetGroupsForUser(c echo.Context) error
- func GetUser(c echo.Context) error
- func GetUserByFilter(c echo.Context) error
- func GetUsersInGroup(c echo.Context) error
- func GroupHasUser(c echo.Context) error
- func LoginREST(c echo.Context) error
- func RemoveUserFromGroup(c echo.Context) error
- func SetupRestRoutes(e *echo.Echo)
- func StartRESTService(e *echo.Echo, hostname string, port string)
- func UpdateGroup(c echo.Context) error
- func UpdateUser(c echo.Context) error
- type GroupUser
- type Route
Constants ¶
const ReqBodyLimit int64 = 1048576 //1024*1024
ReqBodyLimit - Req Body Size limit in bytes
const RestAPIBasePath = "/flixcultapi"
RestAPIBasePath - ..
Variables ¶
var DefaultMWFuncs = []echo.MiddlewareFunc{ middleware.Logger(), middleware.BasicAuth(middleware.DefaultBasicAuthConfig), }
DefaultMWFuncs - Commonly used middlewarefunc
var Routes = []Route{ Route{ Methods: []string{"POST"}, Path: "/login", HandlerFunc: LoginREST, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "/users", HandlerFunc: GetAllUsers, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "/users/:name", HandlerFunc: GetUser, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "/users/filtersearch", HandlerFunc: GetUserByFilter, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"POST"}, Path: "/users/:name", HandlerFunc: CreateUser, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"PUT"}, Path: "/users/:name", HandlerFunc: UpdateUser, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"DELETE"}, Path: "/users/:name", HandlerFunc: DeleteUser, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "/groups", HandlerFunc: GetAllGroups, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "/groups/:groupID", HandlerFunc: GetGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"POST"}, Path: "/groups/:groupID", HandlerFunc: CreateGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"PUT"}, Path: "/groups/:groupID", HandlerFunc: UpdateGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"DELETE"}, Path: "/groups/:groupID", HandlerFunc: DeleteGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"PUT"}, Path: "/groups/:groupID/users/add", HandlerFunc: AddUserToGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"PUT"}, Path: "/groups/:groupID/users/remove", HandlerFunc: RemoveUserFromGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "groups/:groupID/users", HandlerFunc: GetUsersInGroup, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "groups/:groupID/users/filtersearch", HandlerFunc: GroupHasUser, MiddlewareFuncs: DefaultMWFuncs, }, Route{ Methods: []string{"GET"}, Path: "users/:name/groups", HandlerFunc: GetGroupsForUser, MiddlewareFuncs: DefaultMWFuncs, }, }
Routes - Stores all routes(each of type Route)
Functions ¶
func AddUserToGroup ¶
AddUserToGroup - Add a user to group
func DeleteGroup ¶
DeleteGroup - Delete Group based on groupID
func GetAllUsers ¶
GetAllUsers - Get list of users- Implemented with Echo JSON Streaming to support large JSON objects
func GetGroupsForUser ¶
GetGroupsForUser - Get list of groups that a user is a part of
func GetUserByFilter ¶
GetUserByFilter - Get user based on attributes apart from name Valid inputs - email
func GetUsersInGroup ¶
GetUsersInGroup - Get list of users in a group
func GroupHasUser ¶
GroupHasUser - Check if user exists in a group. User can be searched by name or email
func RemoveUserFromGroup ¶
RemoveUserFromGroup - Delete User from Group based on username, groupID
func SetupRestRoutes ¶
SetupRestRoutes - Set up all the routes based on Routes var
func StartRESTService ¶
StartRESTService - Starts up a new REST API service
Types ¶
type Route ¶
type Route struct { Methods []string Path string HandlerFunc echo.HandlerFunc MiddlewareFuncs []echo.MiddlewareFunc }
TODO : Versioning Route - Attributes of a route to be registered with router