Exemple #1
0
    def post(self):
        if self.request.get('_put'):
            self.put()
            return

        name = self.request.get('name')
        email = self.request.get('email')
        push_token = self.request.get('token')
        device_type = self.request.get('type')

        if not push_token or not device_type:
            api.write_error(self.response, 400, 'Missing required parameter, token or type')
            return

        user = User(uuid=str(uuid.uuid4()), auth=str(uuid.uuid4()))
        if name:
            user.name = name
            update_gender(user)
        if email:
            user.devices.append(Device(device_type='EMAIL', data=email))
        user.devices.append(Device(device_type=device_type.upper(), data=push_token))
        user.put()
        update_user_cards(user)
        api.search.update_public_index(user)

        api.write_message(self.response, 'success',
                          extra={'users' : [get_user_json(user, public=False)]})