The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/packages/rocketchat-integrations/server/methods/outgoing/deleteOutgoingIntegration.c...

17 lines
829 B

Meteor.methods
deleteOutgoingIntegration: (integrationId) ->
integration = null
if RocketChat.authz.hasPermission(@userId, 'manage-integrations') or RocketChat.authz.hasPermission(@userId, 'manage-integrations', 'bot')
integration = RocketChat.models.Integrations.findOne(integrationId)
else if RocketChat.authz.hasPermission(@userId, 'manage-own-integrations') or RocketChat.authz.hasPermission(@userId, 'manage-own-integrations', 'bot')
integration = RocketChat.models.Integrations.findOne(integrationId, { fields : {"_createdBy._id": @userId} })
else
throw new Meteor.Error 'not_authorized'
if not integration?
throw new Meteor.Error 'error-invalid-integration', 'Invalid integration', { method: 'deleteOutgoingIntegration' }
RocketChat.models.Integrations.remove _id: integrationId
return true