module RESTng.Resources.UserCRUD where import RESTng.Resources.User import RESTng.System.WebResource import RESTng.System.Annotation import RESTng.System.Permission (onlyAdminCan) import RESTng.System.CRUD import RESTng.System.FormFields instance WebResource User where userFieldValues u = [showField $ username u, showField $ passwd u, showField $ roles u] -- userFieldValuesParser :: SystemFields -> AssocListValidator a userFieldValuesParser (k, _) = do name <- parseNotEmpty "username" pass <- parseNotEmpty "passwd" rls <- parseField "roles" return (User k name pass rls) instance InGridResource User instance AnnotatedResource User instance CRUDable User where canGetCreationForm = onlyAdminCan canCreate = onlyAdminCan canRetrieve = onlyAdminCan canUpdate = onlyAdminCan canDelete = onlyAdminCan