Created
September 8, 2014 01:10
-
-
Save zachmullen/fc6b153aba796fbad22f to your computer and use it in GitHub Desktop.
girder_folder_update_rest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@loadmodel(map={'id': 'folder'}, model='folder', level=AccessType.WRITE) | |
def updateFolder(self, folder, params): | |
user = self.getCurrentUser() | |
folder['name'] = params.get('name', folder['name']).strip() | |
folder['description'] = params.get( | |
'description', folder['description']).strip() | |
folder = self.model('folder').updateFolder(folder) | |
if 'parentType' in params and 'parentId' in params: | |
parentType = params['parentType'].lower() | |
if parentType not in ('user', 'collection', 'folder'): | |
raise RestException('Invalid parentType.') | |
parent = self.model(parentType).load( | |
params['parentId'], level=AccessType.WRITE, user=user, exc=True) | |
folder = self.model('folder').move(folder, parent, parentType) | |
return self.model('folder').filter(folder, user) | |
updateFolder.description = ( | |
Description('Update a folder or move it into a new parent.') | |
.responseClass('Folder') | |
.param('id', 'The ID of the folder.', paramType='path') | |
.param('name', 'Name of the folder.', required=False) | |
.param('description', 'Description for the folder.', required=False) | |
.param('parentType', 'Parent type for the new parent of this folder.', | |
required=False) | |
.param('parentId', 'Parent ID for the new parent of this folder.', | |
required=False) | |
.errorResponse('ID was invalid.') | |
.errorResponse('Write access was denied for the folder or its new ' | |
'parent object.', 403)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment