def create_instance(self, body_data): """ 重载修改后: *.将password字段加密 :param body_data: 创建对象时的传入数据 :return: instance: 创建操作后的对象 """ password = generate_password_hash(body_data["password"], method="pbkdf2:sha256") body_data["password"] = password body_data["creator_id"] = g.login_user.id if "img_url" not in body_data: body_data[ "img_url"] = "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png" # 判断该模型是否支持所有输入属性 for item in body_data: if not hasattr(self.model, item): del body_data[item] # 创建对象 user = self.model(**body_data) db.session.add(user) db.session.commit() # 创建空间 space_data = { "name": user.username + "'s private space", "space_type": "private", "own_user_id": user.id } space = Space(**space_data) db.session.add(space) db.session.commit() # 创建桶 bucket_data = { "name": space.name + "'s 1st bucket", "space_id": space.id } bucket = Bucket(**bucket_data) db.session.add(bucket) db.session.commit() # 创建空间根目录 bucket_data = { "object_name": space.name + "'s root", "object_type": "folder", "object_size": 0, "creator_id": user.id, "bucket_id": bucket.id } folder_root = File(**bucket_data) db.session.add(folder_root) db.session.commit() # 关联空间与根目录 space.root_folder = folder_root db.session.commit() return user
def create_instance(self, body_data): """ 重载修改后: *.将password字段加密 :param body_data: 创建对象时的传入数据 :return: instance: 创建操作后的对象 """ body_data["creator_id"] = g.login_user.id # 判断该模型是否支持所有输入属性 for item in body_data: if not hasattr(self.model, item): del body_data[item] # 创建对象 group = self.model(**body_data) group.users = [g.login_user, ] db.session.add(group) db.session.commit() # 创建空间 space_data = { "name": group.name + "'s private space", "space_type": "group", "own_group_id": group.id } space = Space(**space_data) db.session.add(space) db.session.commit() # 创建桶 bucket_data = { "name": space.name + "'s 1st bucket", "space_id": space.id } bucket = Bucket(**bucket_data) db.session.add(bucket) db.session.commit() # 创建空间根目录 bucket_data = { "object_name": space.name + "'s root", "object_type": "folder", "object_size": 0, "creator_id": g.login_user.id, "bucket_id": bucket.id } folder_root = File(**bucket_data) db.session.add(folder_root) db.session.commit() # 关联空间与根目录 space.root_folder = folder_root db.session.commit() return group
def on_post(self, req, resp): # TODO validate json paylaod data = req.json try: space = Space(office_id=data['office_id'], basic_units=json.dumps(data['basic_units']), owner_name=data.get('owner_name'), owner_id=data.get('owner_id'), team=data.get('team'), space_type=data.get('space_type'), project=data.get('project')) req.db.save(space) resp.json = self._space_to_json(space) resp.status = falcon.HTTP_CREATED except (TypeError, JSONDecodeError) as e: raise falcon.HTTPBadRequest(e)
def newspace(): user = User.query.filter_by(userId=get_jwt_identity()).first() if not user.role.has_permission(Permission.SELL): return jsonify( {'error': 'You don\'t have permission to perform such action'}), 401 data = request.get_json(force=True) new_space = Space(store_name=data['storeName'], description=data['description'], telephone=data['storeTel'], email=data['storeEmail'], farm_address=data['farmAddress'], logo=data['logoUrl']) db.session.add(new_space) try: new_space.farmer = user db.session.flush() db.session.commit() except IntegrityError: db.session.rollback() return jsonify({'error': 'Store Name is already taken'}), 401 return jsonify({'msg': 'New store created successfully!'}), 200
def dispatch(request): print 'in dispatch' s = Space(tok_session_id=TokBox.generate_session_id(), url_id=uuid.uuid4()) s.save() return redirect('/space/%s/' % str(s.url_id))