Moving the messages endpoint to something more generic, and making the get visible all the time.
This commit is contained in:
parent
42ed8522fd
commit
8e5dc8d3db
7 changed files with 120 additions and 105 deletions
|
@ -819,95 +819,3 @@ class SuperUserServiceKeyApproval(ApiResource):
|
|||
return make_response('', 201)
|
||||
|
||||
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',
|
||||
'type': 'object',
|
||||
'description': 'Messages that a super user has saved in the past',
|
||||
'properties': {
|
||||
'message': {
|
||||
'type': 'array',
|
||||
'description': 'A list of messages',
|
||||
'itemType': {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
'uuid': {
|
||||
'type': 'string',
|
||||
'description': 'The message id',
|
||||
},
|
||||
'content': {
|
||||
'type': 'string',
|
||||
'description': 'The actual message',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
'CreateMessage': {
|
||||
'id': 'CreateMessage',
|
||||
'type': 'object',
|
||||
'description': 'Create a new message',
|
||||
'properties': {
|
||||
'message': {
|
||||
'type': 'object',
|
||||
'description': 'A single message',
|
||||
'properties': {
|
||||
'content': {
|
||||
'type': 'string',
|
||||
'description': 'The actual message',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@nickname('getMessages')
|
||||
def get(self):
|
||||
""" Return a super users messages """
|
||||
return {
|
||||
'messages': [message_view(m) for m in model.message.get_messages()],
|
||||
}
|
||||
|
||||
@require_fresh_login
|
||||
@verify_not_prod
|
||||
@nickname('createMessages')
|
||||
@validate_json_request('CreateMessage')
|
||||
@require_scope(scopes.SUPERUSER)
|
||||
def post(self):
|
||||
""" Create a message """
|
||||
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 {
|
||||
'uuid': message.uuid,
|
||||
'content': message.content,
|
||||
}
|
||||
|
|
Reference in a new issue