def put(self, service_id): args = self.parser.parse_args() only_admins_authorized(args['Authorization']) s = Service().query.get_or_404(service_id) if args['owner_id'] is not None: u = User.query.get(args['owner_id']) s.owner = u elif args['owner_login'] is not None: u = User.query.filter_by(login=args['owner_login']).first() s.owner = u else: return 'You are not updating anything', 400 s.insert() return {'service': marshal(s, service_fields)}, 201
def post(self): args = self.parser.parse_args() bots_are_not_authorized(args['Authorization']) s = Service().query.filter_by(name=args['name']).first() if s is not None: abort(400, message="Service already exists") else: if is_user(args['Authorization']): u = User.query.filter_by(token=args['Authorization']).first() else: u = User.query.filter_by(login=args['owner_login']).first() s = Service(name=args['name'], region=args['region'], size=args['size'], image=args['image'], ssh_keys=args['ssh_keys'], backups=args['backups'], ipv6=args['ipv6'], user_data=args['user_data'], private_networking=args['private_networking'], volumes=args['volumes'], owner=u) s.insert() return {'service': marshal(s, service_fields)}, 201