示例#1
0
    def put(self):
        """PUT endpoint that register a new user.
        
        Returns
        dict
            Dictionary containing error or success key.
        int
            Response Code
        """
        token = request.headers.get("authorization-code")
        if token is not None:
            data = request.get_json(force=True)

            id = data.get("user_id", None)
            name = data.get("user_name", None)

            if id is None or name is None:
                return (
                    {
                        "error":
                        "Some body arguments is missing. It needs id, email and name"
                    },
                    463,
                )

            user = User(id=id, name=name, query_id=id)

            auxapi = ContactApi()

            contacts = auxapi._get_list_of_contacts(grouped=False)

            if contacts[1] == 200:
                contacts_statistics = Contact.get_quantity_per_domain(
                    contacts[0])
                contacts_statistics_organization = Contact.get_quantity_per_organization(
                    contacts[0])
                contacts_statistics_jobtitle = Contact.get_quantity_per_job(
                    contacts[0])
                contacts_statistics_city = Contact.get_quantity_per_city(
                    contacts[0])
                contacts_statistics_region = Contact.get_quantity_per_region(
                    contacts[0])

                user.contacts_statistics = {
                    "domain": contacts_statistics["contacts"],
                    "organization":
                    contacts_statistics_organization["contacts"],
                    "jobtitle": contacts_statistics_jobtitle["contacts"],
                    "city": contacts_statistics_city["contacts"],
                    "region": contacts_statistics_region["contacts"],
                }
                user.save()
                return {"success": "User Saved"}, 200

            return contacts

        else:
            return NO_AUTH_CODE
    def create_test_user() -> dict:
        """Create a test fuel supplier user"""
        user = User()

        generated_name = 'test_{0}'.format(str(uuid.uuid4())[8:])
        user.username = generated_name

        user.first_name = 'Test'
        user.last_name = 'User'
        user.display_name = 'Test User'

        user.organization = Organization.objects.get_by_natural_key(
            DataCreationUtilities.create_test_organization()['name'])

        user.save()
        user.refresh_from_db()

        return {'id': user.id, 'username': user.username}
示例#3
0
 def create(self, validated_data):
     password = validated_data.pop('password')
     user = User(**validated_data)
     user.set_password(password)
     user.save()
     return user