def put_user(self, user_id): client = self._get_datastore_client() result = util._validate_json(flask.request) if result is not True: return result json = flask.request.get_json() json = util._escape_json(json) result = self._validate_create_user(user_id, json) if result is not True: return result result = self._validate_fields(json) if result is not True: return result with client.transaction(): try: if users.check_if_user_exists(client, user_id): return self.Response('User exists', status=409) entity = users.get_empty_user_entity(client, user_id) util._update_entity(json, ALL_MUTABLE_FIELDS, entity) users.create_or_update_user(client, entity) roles.create_user_role(client, user_id) except Exception as e: logging.error("Datastore put operation failed: %s" % str(e)) self.Response('Internal server error', status=500) return self.Response('OK', status=200)
def update_user(self, user_id): client = self._get_datastore_client() result = util._validate_json(flask.request) if result is not True: return result json = flask.request.get_json() json = util._escape_json(json) result = self._validate_update_user(user_id, json) if result is not True: return result result = self._validate_fields(json) if result is not True: return result with client.transaction(): try: entity = users.get_user(client, user_id) if entity is None: return flask.Response('User does not exist', status=404) util._update_entity(json, ALL_MUTABLE_FIELDS, entity) users.create_or_update_user(client, entity) except Exception as e: logging.error("Datastore update operation failed: %s" % str(e)) flask.Response('Internal server error', status=500) return flask.Response('OK', status=200)
def _setup_user(self, userid_hash): json = {"email": "*****@*****.**"} key = self.datastore_client.key("User", userid_hash) entity = datastore.Entity(key=key) util._update_entity(json, {'email'}, entity) self.datastore_client.put(entity)