class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracoesSerializer(many=True)
    endereco = EnderecoSerializer()
    comentarios = ComentarioSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True)
    descricao_completa_01 = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = (
            'id',
            'nome',
            'descricao',
            'aprovado',
            'atracoes',
            'comentarios',
            'avaliacoes',
            'endereco',
            'foto',
            'descricao_completa_01',
            'descricao_completa_02',
        )

    def get_descricao_completa_01(self, obj):
        return '{0} - {1}'.format(obj.nome, obj.descricao)
Example #2
0
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    endereco = EnderecoSerializer(read_only=True)
    comentarios = ComentarioSerializer(many=True, read_only=True)
    avaliacoes = AvaliacaoSerializer(many=True, read_only=True)
    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao', 'aprovado', 'foto', 'atracoes',
                  'comentarios', 'avaliacoes', 'endereco',
                  'descricao_completa', 'teste')
        ready_only_fields = {'comentarios', 'avaliacoes'}

    def cia_atracoes(self, atracoes, ponto):
        for atracao in atracoes:
            at = Atracao.objects.create(**atracao)
            ponto.atracoes.add(at)
        return

    def create(self, validated_data):
        atracoes = validated_data['atracoes']
        del validated_data['atracoes']
        ponto = PontoTuristico.opbjects.create(**validated_data)
        self.cia_atracoes(atracoes, ponto)
        return ponto

    def get_descricao_completa(self, obj):

        return '%s - %s ' % (obj.nome, obj.descricao)
Example #3
0
class PontoTuristicoSerializer(ModelSerializer):
    Avaliacoes = AvaliacaoSerializer(many=True)
    Comentarios = ComentarioSerializer(many=True)
    atracoes = AtracaoSerializer(many=True)
    Endereco = EnderecoSerializer()
    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = [
            'id',
            'nome',
            'descricao',
            'aprovado',
            'foto',
            # Foreign Keys/ManyToMany
            'atracoes',
            'Comentarios',
            'Avaliacoes',
            'Endereco',
            # Incluido do SerializerMethodField
            'descricao_completa',
        ]

    def get_descricao_completa(self, obj):
        return '%s - %s' % (obj.nome, obj.descricao)
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    comentarios = ComentarioSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True)
    enderecos = EnderecoSerializer()
    doc_identificacao = DocIdentificacaoSerializer()
    descricao_completa = SerializerMethodField(read_only=True)
    criado_em = DateTimeField(read_only=True, format="%d/%m/%Y %H:%M:%S")

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao', 'aprovado', 'foto', 'atracoes',
                  'comentarios', 'avaliacoes', 'enderecos',
                  'doc_identificacao', 'descricao_completa', 'criado_em')

    def cria_atracoes(self, atracoes, ponto):
        for atracao in atracoes:
            at = Atracao.objects.create(**atracao)
            ponto.atracoes.add(at)

    def cria_comentarios(self, comentarios, ponto):
        for comentario in comentarios:
            co = Comentario.objects.create(**comentario)
            ponto.comentarios.add(co)

    def cria_avaliacoes(self, avaliacoes, ponto):
        for avaliacao in avaliacoes:
            av = Avaliacao.objects.create(**avaliacao)
            ponto.avaliacoes.add(av)

    def create(self, validated_data):
        atracoes = validated_data['atracoes']
        enderecos = validated_data['enderecos']
        comentarios = validated_data['comentarios']
        avaliacoes = validated_data['avaliacoes']
        doc = validated_data['doc_identificacao']
        del validated_data['atracoes']
        del validated_data['enderecos']
        del validated_data['comentarios']
        del validated_data['avaliacoes']
        del validated_data['doc_identificacao']

        ponto = PontoTuristico.objects.create(**validated_data)

        self.cria_atracoes(atracoes, ponto)
        self.cria_comentarios(comentarios, ponto)
        self.cria_avaliacoes(avaliacoes, ponto)

        end = Endereco.objects.create(**enderecos)
        ponto.enderecos = end

        doci = DocIdentificacao.objects.create(**doc)
        ponto.doc_identificacao = doci

        ponto.save()
        return ponto

    def get_descricao_completa(self, obj):
        return '%s - %s' % (obj.nome, obj.descricao)
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    comentarios = ComentarioSerializer(many=True)
    avaliacao = AvaliacaoSerializer(many=True)
    endereco = EnderecoSerializer(many=False)

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao',
                  'aprovado', 'foto',
                  'atracoes', 'comentarios',
                  'avaliacao', 'endereco',) 
Example #6
0
class PontoTuristicuSerializer(ModelSerializer):
    endereco = EnderecoSerializer()
    atracoes = AtracaoSerializer()
    comentarios = ComentarioSerializer()
    avaliacao = AvaliacaoSerializer(many=True)

    class Meta:
        model = PontosTuristicus
        fields = [
            'id', 'nome', 'descricao', 'avaliacao', 'atracoes', 'comentarios',
            'avaliacao', 'endereco', 'foto'
        ]
Example #7
0
class LugarSerializer(serializers.ModelSerializer):
    tag = TagsSerializer(many=True)
    comentario = ComentarioSerializer(many=True)

    class Meta:
        model = Lugar
        fields = [
            'id', 'nombre', 'descripcion', 'foto', 'calificacion', 'tag',
            'email', 'sitio_web', 'telefono', 'redes', 'comentario',
            'direccion', 'hora_abierto', 'hora_cerrado', 'dias_servicio',
            'latitud', 'longitud', 'municipio', 'categoria', 'propietario',
            'fecha_creacion', 'departamento', 'municipio'
        ]
Example #8
0
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    endereco = EnderecoSerializer()
    comentario = ComentarioSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True)
    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao', 'aprovado', 'foto', 'atracoes',
                  'comentario', 'avaliacoes', 'endereco', 'descricao_completa',
                  'descricao_completa2')

    def get_descricao_completa(selfs, obj):
        return '%s - %s' % (obj.nome, obj.descricao)
Example #9
0
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True, read_only=True)
    comentarios = ComentarioSerializer(many=True, read_only=True)

    class Meta:
        model = PontoTuristico
        fields = (
            "ponto_turistico_id",
            "nome",
            "descricao",
            "aprovado",
            "foto",
            "atracoes",
            "comentarios",
        )
Example #10
0
class PontoTuristicoSerializer(serializers.ModelSerializer):
    atracoes = RecursoSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True)
    comentarios = ComentarioSerializer(many=True)
    endereco = EnderecoSerializer()
    descricao_completa = SerializerMethodField()


    class Meta:
        model = PontoTuristico
        fields = '__all__'
        extra_fields = ['descricao_completa',]

    def get_descricao_completa(self, obj):
        return '%s -> %s' % (obj.nome, obj.descricao)
Example #11
0
class PontosSerializer(ModelSerializer):
    atracoes = AtracoesSerializer(
        many=True)  #many = True usa quando for relação m2m
    comentario = ComentarioSerializer(many=True)
    avaliacao = AvaliacaoSerializer(many=True)
    des_completa = SerializerMethodField(
    )  #preciso criar isso aqui para criar o metodo dentro do serialzier

    class Meta:
        model = Pontos
        fields = ('id', 'nome', 'descricao', 'status', 'foto', 'atracoes',
                  'comentario', 'avaliacao', 'des_completa', 'des_completa2')

    def get_des_completa(self, obj):  #objeto é o proprio serializer
        return '%s - %s' % (obj.nome, obj.descricao)
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True, read_only=True)
    endereco = EnderecoSerializer()
    comentarios = ComentarioSerializer(many=True)
    doc_identificacao = DocIdentificacaoSerializer()

    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao', 'aprovado', 'foto', 'atracoes',
                  'comentarios', 'avaliacoes', 'endereco',
                  'descricao_completa', 'descricao_completa2',
                  'doc_identificacao')
        read_only_fields = ['avaliacoes']

    def cria_comentarios(self, comentarios, ponto):
        for comentario in comentarios:
            comment = Comentario.objects.create(**comentario)
            ponto.comentarios.add(comment)

    def create(self, validated_data):
        comentarios = validated_data['comentarios']
        del validated_data['comentarios']

        endereco = validated_data['endereco']
        del validated_data['endereco']

        doc = validated_data['doc_identificacao']
        del validated_data['doc_identificacao']
        doci = DocIdentificacao.objects.create(**doc)

        ponto = PontoTuristico.objects.create(**validated_data)
        self.cria_comentarios(comentarios, ponto)

        end = Endereco.objects.create(**endereco)

        ponto.endereco = end
        ponto.doc_identificacao = doci
        ponto.save()

        return ponto

    def get_descricao_completa(self, obj):
        return '%s - %s' % (obj.nome, obj.descricao)
Example #13
0
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    endereco = EnderecoSerializer()
    comentario = ComentarioSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True)
    documento = DocumentoSerializer()

    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao', 'aprovado', 'foto', 'atracoes',
                  'comentario', 'avaliacoes', 'endereco', 'descricao_completa',
                  'descricao_completa2', 'documento')
        read_only_fileds = ('comentarios', 'avaliacoes')

    def cria_atracoes(self, atracoes, ponto):
        for atracao in atracoes:
            at = Atracao.objects.create(**atracao)
            ponto.atracoes.add(at)

    def create(self, validated_data):
        atracoes = validated_data['atracoes']
        del validated_data['atracoes']

        endereco = validated_data['endereco']
        del validated_data['endereco']

        ponto = PontoTuristico.objects.create(**validated_data)
        self.cria_atracoes(atracoes, ponto)

        end = Endereco.objects.create(**endereco)
        ponto.endereco = end

        doc = validated_data['documento']
        del validated_data['documento']
        doci = Documento.objects.create(**doc)
        ponto.documento = doci

        ponto.save()

        return ponto

    def get_descricao_completa(self, obj):
        return '%s - %s' % (obj.nome, obj.descricao)
Example #14
0
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True, read_only=True)
    comentarios = ComentarioSerializer(many=True, read_only=True)
    endereco = EnderecoSerializer(many=False)

    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = ('id', 'nome', 'descricao', 'aprovado', 'foto',
                  'atracoes', 'comentarios', 'avaliacoes', 'endereco',
                  'descricao_completa')
        # ready_only_fields = ('comentarios', 'avaliacoes', 'atracoes')

    def create_endereco(self, endereco, ponto):
        novo_endereco = Endereco.objects.create(**endereco)
        ponto.endereco = novo_endereco

    def create_atracoes(self, atracoes, ponto):
        for atracao in atracoes:
            at = Atracao.objects.create(**atracao)
            ponto.atracoes.add(at)

    def create(self, validated_data):
        atracoes = validated_data['atracoes']
        del validated_data['atracoes']

        endereco = validated_data['endereco']
        del validated_data['endereco']
        
        ponto = PontoTuristico.objects.create(**validated_data)

        self.create_atracoes(atracoes, ponto)
        self.create_endereco(endereco, ponto)

        return ponto

    def get_descricao_completa(self, obj):
        return '{}: {}'.format(obj.nome, obj.descricao)
Example #15
0
class PontoTuristicosSerializer(serializers.ModelSerializer):
    atracoes = AtracaoSerializer(many=True)
    comentarios = ComentarioSerializer(many=True)
    avaliacoes = AvaliacaoSerializer(many=True)
    endereco = EnderecoSerializer(many=False)
    doc_identificacao = DocIdentificacaoSerializer(many=False)
    type1 = serializers.PrimaryKeyRelatedField(
        queryset=TypeTest.objects.filter(type='Luis').distinct())
    type2 = serializers.PrimaryKeyRelatedField(
        queryset=TypeTest.objects.filter(type='Jose').distinct())

    class Meta:
        model = PontoTuristicos
        fields = ('id', 'name', 'description', 'aprovado', 'photo', 'atracoes',
                  'type1', 'type2', 'comentarios', 'avaliacoes', 'endereco',
                  'doc_identificacao')
        read_only_fields = ('comentarios', 'avaliacoes', 'endereco')

    def create_relations_many_to_many(self, ponto, *args, **kwargs):
        models = [Atracoes, Comentarios, Avaliacoes]
        campos_pk = [ponto.atracoes, ponto.comentarios, ponto.avaliacoes]

        relations = list(zip(models, campos_pk, args[0]))

        if args.__len__() > 0:
            for rel in relations:
                at = rel[0].objects.create(**rel[2][0])
                rel[1].add(at)

    def create_relations_one_to_one(self, _field_one_to_one, *args, **kwargs):

        _data_one = []

        for one_to_one in _field_one_to_one:
            _data_one.append(args[0][one_to_one])
            del args[0][one_to_one]

        ponto = PontoTuristicos

        models = [Endereco, DocIdentificacao]
        campos_pk = [ponto.endereco, ponto.doc_identificacao]

        relations = list(zip(models, campos_pk, _data_one, _field_one_to_one))
        ponto = PontoTuristicos.objects.create(**args[0])

        if args.__len__() > 0:
            for rel in relations:
                rel_list = list(rel)
                if rel[2] is None:
                    _relation_data = rel_list[0].objects.create()
                    if rel[3] == 'endereco':
                        ponto.endereco = _relation_data

                    elif rel[3] == 'doc_identificacao':
                        ponto.doc_identificacao = _relation_data
                    ponto.save()
                else:
                    _field = rel[2]
                    _relation_data = rel_list[0].objects.create(**_field)

                    if rel[3] == 'endereco':
                        ponto.endereco = _relation_data

                    elif rel[3] == 'doc_identificacao':
                        ponto.doc_identificacao = _relation_data
                    ponto.save()

            return ponto

    def create(self, validated_data):

        _field_many_to_many = ['atracoes', 'comentarios', 'avaliacoes']
        _field_one_to_one = ['endereco', 'doc_identificacao']

        ponto = PontoTuristicos

        _data_many = []
        _data_one = []

        for many_to_many in _field_many_to_many:
            _data_many.append(validated_data[many_to_many])
            del validated_data[many_to_many]

        if _field_one_to_one.__len__() > 1:
            ponto = self.create_relations_one_to_one(_field_one_to_one,
                                                     validated_data)
        else:
            endereco = validated_data[str(_field_one_to_one[0])]
            del validated_data[str(_field_one_to_one[0])]
            one_to_one_model_field = Endereco.objects.create(**endereco)
            ponto = ponto.objects.create(**validated_data)
            ponto.endereco = one_to_one_model_field
            ponto.save()

        self.create_relations_many_to_many(ponto, _data_many)
        return ponto
Example #16
0
class PontoTuristicoSerializer(ModelSerializer):

    avaliacoes = AvaliacaoSerializer(many=True)
    identi = IdentificaocaSerializer()
    endereco = EnderecoSerializer()
    atracoes = AtracaoSerializer(many=True)
    comentarios = ComentarioSerializer(many=True)
    descricao_completa = SerializerMethodField()
    # read_only_field = ('avaliacoes', )

    class Meta:
        model = PontoTuristico
        fields = ['id',
                  'nome', 
                  'descricao',
                  'aprovado',
                  'foto',
                  'atracoes',
                  'avaliacoes',
                  'comentarios',
                  'endereco',
                  'descricao_completa',
                  'identi'
                ]


    def cria_avaliacoes(self, avaliacoes, ponto):
        for avaliacao in avaliacoes:
            av = Avaliacao.objects.create(**avaliacao)
            ponto.avaliacoes.add(av)


    def cria_atracoes(self, atracoes, ponto):
        for atracao in atracoes:
            at = Atracao.objects.create(**atracao)
            ponto.atracoes.add(at)

    def create(self, validated_data):
        atracoes = validated_data['atracoes']
        del validated_data['atracoes']

        avaliacoes = validated_data['avaliacoes']
        del validated_data['avaliacoes']

        comentarios = validated_data['comentarios']
        del validated_data['comentarios']

        endereco = validated_data['endereco']
        del validated_data['endereco']

        doc = validated_data['identi']
        del validated_data['identi']

        ponto = PontoTuristico.objects.create(**validated_data)

        self.cria_atracoes(atracoes, ponto)
        self.cria_avaliacoes(avaliacoes, ponto)

        doci = Identificacao.objects.create(**doc)

        end = Endereco.objects.create(**endereco)


        ponto.comentarios.set(comentarios)
        # ponto.avaliacoes.set(avaliacoes)
        ponto.endereco = end
        ponto.identi = doci

        ponto.save()

        return ponto

    def get_descricao_completa(self, obj):
        return '%s -- %s' % (obj.nome, obj.descricao)
class PontoTuristicoSerializer(ModelSerializer):
    atracoes = AtracaoSerializer(many=True, required=False)
    comentarios = ComentarioSerializer(many=True, required=False)
    avaliacaoes = AvaliacaoSerializer(many=True, required=False)
    endereco = EnderecoSerializer(required=False)
    docIdentificacao = DocIdentificacaoSerializer()

    # Para colocar informacoes calculadas ou que não estejam no MODEL usamos
    # SerializerMethodField. É preciso que o método tenha o nome do campo
    # iniciado pelo prefixo get_nome_do_campo(self, obj)
    # Exemplo mostra descricao completa = titulo + descricao
    descricao_completa = SerializerMethodField()

    class Meta:
        model = PontoTuristico
        fields = ("id", "nome", "descricao", "aprovado", "photo", "atracoes",
                  "comentarios", "avaliacaoes", "endereco", "docIdentificacao",
                  "descricao_completa", "exemplo_regra_neg")

    def create(self, validated_data):

        # Armazer as relações em listas separadas, copiadas por valor,
        # Para sem processadas e salvas separadamente
        avalicao_flag = False
        atracao_flag = False
        comentario_flag = False
        endereco_flag = False
        doc_flag = False
        lista_de_atracoes = []
        lista_de_comentarios = []
        lista_de_avalicoes = []
        endereco = ""
        end = ""
        docId = None
        doc = None

        if "endereco" in validated_data:
            endereco = validated_data["endereco"]
            endereco_flag = True
            del validated_data["endereco"]

        if "atracoes" in validated_data:
            lista_de_atracoes = validated_data["atracoes"]
            atracao_flag = True
            del validated_data["atracoes"]

        if "comentarios" in validated_data:
            lista_de_comentarios = validated_data["comentarios"]
            comentario_flag = True
            del validated_data["comentarios"]

        if "avaliacaoes" in validated_data:
            lista_de_avalicoes = validated_data["avaliacaoes"]
            avalicao_flag = True
            del validated_data["avaliacaoes"]

        if "docIdentificacao" in validated_data:
            docId = validated_data["docIdentificacao"]
            doc_flag = True
            del validated_data["docIdentificacao"]

        # Remove as relacoes de dentro do mapa para poder salvar
        # pontos turisticos pelo metodo direto do framework
        # if atracao_flag:
        #     del validated_data["atracoes"]
        # if comentario_flag:
        #     del validated_data["comentarios"]
        # if avalicao_flag:
        #     del validated_data["avaliacaoes"]
        # if endereco_flag:
        #     del validated_data["endereco"]
        #     print("Endereco removido do validated...")

        #salva ponto turistico
        pontoTuristico = PontoTuristico.objects.create(**validated_data)
        if atracao_flag:
            self.cria_atracoes(lista_de_atracoes, pontoTuristico)
        if comentario_flag:
            self.cria_comentarios(lista_de_comentarios, pontoTuristico)
        if avalicao_flag:
            self.cria_avaliacoes(lista_de_avalicoes, pontoTuristico)
        if endereco_flag:
            end = Endereco.objects.create(**endereco)
            pontoTuristico.endereco = end
        if doc_flag:
            doc = DocIdentificacao.objects.create(**docId)
            pontoTuristico.docIdentificacao = doc

        pontoTuristico.save()
        return pontoTuristico

    def cria_atracoes(self, atracoes, pontoTuristico):
        for atracao in atracoes:
            at = Atracao.objects.create(**atracao)
            pontoTuristico.atracoes.add(at)

    def cria_comentarios(self, comentarios, pontoTuristico):
        for comentario in comentarios:
            com = Comentario.objects.create(**comentario)
            pontoTuristico.comentarios.add(com)

    def cria_avaliacoes(self, avaliacoes, pontoTuristico):
        for avaliacao in avaliacoes:
            av = Avaliacao.objects.create(**avaliacao)
            pontoTuristico.avaliacaoes.add(av)

    # obj representa o modelo que está sendo tratado nesse serializer
    def get_descricao_completa(self, obj):
        return "%s - %s" % (obj.nome, obj.descricao)
Example #18
0
class EventoSerializer(WritableNestedModelSerializer):
    class Meta:
        model = Evento
        fields = [
            'id',
            'nombre',
            'descripcion',
            'lugar',
            'comentario',
            'direccion',
            'foto',
            'calificacion',
            'tipo',
            'fecha_inicio',
            'fecha_fin',
            'hora_inicio',
            'hora_fin',
            'finalizado',
        ]

    comentario = ComentarioSerializer(many=True)

    def create(self, validated_data):
        nombre = validated_data.get('nombre')
        descripcion = validated_data.get('descripcion')
        lugar = validated_data.get('lugar')
        comentario = validated_data.get('comentario')
        direccion = validated_data.get('direccion')
        foto = validated_data.get('foto')
        calificacion = validated_data.get('calificacion')
        tipo = validated_data.get('tipo')
        fecha_inicio = validated_data.get('fecha_inicio')
        fecha_fin = validated_data.get('fecha_fin')
        hora_inicio = validated_data.get('hora_inicio')
        hora_fin = validated_data.get('hora_fin')
        finalizado = validated_data.get('finalizado')
        self.push_notify(nombre_lugar=lugar.nombre,
                         nombre_evento=nombre,
                         id_lugar=lugar.id)
        evento = Evento.objects.create(
            nombre=nombre,
            descripcion=descripcion,
            lugar=lugar,
            direccion=direccion,
            foto=foto,
            calificacion=calificacion,
            tipo=tipo,
            fecha_inicio=fecha_inicio,
            fecha_fin=fecha_fin,
            hora_inicio=hora_inicio,
            hora_fin=hora_fin,
            finalizado=finalizado,
        )
        evento.comentario.set(comentario)
        return evento

    def push_notify(self, nombre_lugar, nombre_evento, id_lugar):
        from pusher_push_notifications import PushNotifications

        pn_client = PushNotifications(
            instance_id='150ee5d4-aa83-42f8-9c65-fe6ab983f0ca',
            secret_key=
            'FA39827AAB5E866F8084A0FD034F5CB59D987D566D35ED66BBEEA1564D561E93',
        )
        message = nombre_lugar + ' ha creado el evento ' + nombre_evento
        interest = str(id_lugar)
        response = pn_client.publish(interests=[interest],
                                     publish_body={
                                         'apns': {
                                             'aps': {
                                                 'alert': 'Hello!'
                                             }
                                         },
                                         'fcm': {
                                             'notification': {
                                                 'title': 'Nuevo Evento',
                                                 'body': message
                                             }
                                         }
                                     })

        print(response['publishId'])