def create_folder(self): """ https://developers.box.com/docs/#folders-create-a-new-folder """ params = json.load(request.body) name = params.get('name') if name is None: abort(400, 'Missing parameter: name') parent = params.get('parent') if parent is None or 'id' not in parent: abort(400, 'Missing parameter: parent(id)') parent_id = parent['id'] try: parent_folder = self._db_session.query(FolderModel).filter_by(folder_id=parent_id).one() except NoResultFound: abort(404) owner = get_user_from_header(self._db_session) name_in_use = self._db_session.query(FolderModel).filter_by(name=name).count() if name_in_use: abort(409, 'An item with that name already exists.') folder = FolderModel(name=name, parent_id=parent_folder.id, owned_by=owner, created_by=owner) self._db_session.add(folder) self._db_session.commit() self._db_session.add(EventModel(event_type='ITEM_CREATE', source_id=folder.folder_id, source_type='folder')) self._db_session.commit() return json.dumps(folder)
def create_folder(self): """ https://developers.box.com/docs/#folders-create-a-new-folder """ params = json.load(request.body) name = params.get("name") if name is None: abort(400, "Missing parameter: name") parent = params.get("parent") if parent is None or "id" not in parent: abort(400, "Missing parameter: parent(id)") parent_id = parent["id"] try: parent_folder = self._db_session.query(FolderModel).filter_by(folder_id=parent_id).one() except NoResultFound: abort(404) owner = get_user_from_header(self._db_session) name_in_use = self._db_session.query(FolderModel).filter_by(name=name).count() if name_in_use: abort(409, "An item with that name already exists.") folder = FolderModel(name=name, parent_id=parent_folder.id, owned_by=owner, created_by=owner) self._db_session.add(folder) self._db_session.commit() self._db_session.add(EventModel(event_type="ITEM_CREATE", source_id=folder.folder_id, source_type="folder")) self._db_session.commit() return json.dumps(folder)
def upload_file(self): """ https://developers.box.com/docs/#files-upload-a-file """ attributes = request.forms.get('attributes') or request.forms.get( 'metadata') if not attributes: abort(400, 'Missing parameter: attributes') attributes = json.loads(attributes) parent = attributes.get('parent') if parent is None or 'id' not in parent: abort(400, 'Missing parameter: parent(id)') parent_id = parent['id'] folder = get_folder_by_id(self._db_session, parent_id) content = request.files.file.file.read() file_hash = sha1() file_hash.update(content) owner = get_user_from_header(self._db_session) file_object = FileModel( content=content, name=attributes.get('name', request.files.file.name), parent_id=folder.id, sha1=file_hash.hexdigest(), size=len(content), owned_by=owner, created_by=owner, ) self._db_session.add(file_object) self._db_session.commit() self._db_session.add( EventModel(event_type='ITEM_UPLOAD', source_id=file_object.file_id, source_type='file')) self._db_session.commit() return json.dumps({'entries': [file_object]})
def upload_file(self): """ https://developers.box.com/docs/#files-upload-a-file """ attributes = request.forms.get('attributes') or request.forms.get('metadata') if not attributes: abort(400, 'Missing parameter: attributes') attributes = json.loads(attributes) parent = attributes.get('parent') if parent is None or 'id' not in parent: abort(400, 'Missing parameter: parent(id)') parent_id = parent['id'] folder = get_folder_by_id(self._db_session, parent_id) content = request.files.file.file.read() file_hash = sha1() file_hash.update(content) owner = get_user_from_header(self._db_session) file_object = FileModel( content=content, name=attributes.get('name', request.files.file.name), parent_id=folder.id, sha1=file_hash.hexdigest(), size=len(content), owned_by=owner, created_by=owner, ) self._db_session.add(file_object) self._db_session.commit() self._db_session.add(EventModel(event_type='ITEM_UPLOAD', source_id=file_object.file_id, source_type='file')) self._db_session.commit() return json.dumps({'entries': [file_object]})
def get_user_info(self, user_id): if user_id == 'me': user_id = get_user_from_header(self._db_session).user_id else: user_id = int(user_id) user = self._get_user_by_id(user_id) return { 'type': 'user', 'login': user.login, 'enterprise': None, 'id': user.user_id, 'name': user.name, }
def get_user_info(self, user_id): if user_id == 'me': user_id = get_user_from_header(self._db_session).user_id else: user_id = int(user_id) user = self._get_user_by_id(user_id) return { 'type': 'user', 'login': user.login, 'enterprise': None, 'id': user.user_id, 'name': user.name, }