Adding in the delete api and the delete and create UI.

This commit is contained in:
Charlton Austin 2016-10-11 15:09:38 -04:00
parent 43063272bb
commit 97d644d95d
12 changed files with 277 additions and 12 deletions

View file

@ -820,12 +820,10 @@ class SuperUserServiceKeyApproval(ApiResource):
abort(403)
@resource('/v1/messages')
@show_if(features.SUPER_USERS)
class SuperUserMessages(ApiResource):
""" Resource for getting a list of super user messages """
schemas = {
'GetMessage': {
'id': 'GetMessage',
@ -838,8 +836,8 @@ class SuperUserMessages(ApiResource):
'itemType': {
'type': 'object',
'properties': {
'id': {
'type': 'integer',
'uuid': {
'type': 'string',
'description': 'The message id',
},
'content': {
@ -877,6 +875,7 @@ class SuperUserMessages(ApiResource):
'messages': [message_view(m) for m in model.message.get_messages()],
}
@require_fresh_login
@verify_not_prod
@nickname('createMessages')
@validate_json_request('CreateMessage')
@ -886,8 +885,29 @@ class SuperUserMessages(ApiResource):
if SuperUserPermission().can():
model.message.create([request.get_json()['message']])
return make_response('', 201)
abort(403)
@resource('/v1/message/<uuid>')
@show_if(features.SUPER_USERS)
class SuperUserMessage(ApiResource):
""" Resource for managing individual messages """
@require_fresh_login
@verify_not_prod
@nickname('deleteGlobalMessage')
@require_scope(scopes.SUPERUSER)
def delete(self, uuid):
""" Delete a message """
if SuperUserPermission().can():
model.message.delete_message([uuid])
return make_response('', 204)
abort(403)
def message_view(message):
return {'id': message.id, 'content': message.content}
return {
'uuid': message.uuid,
'content': message.content,
}