Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
oyaji / oyaji / users / repositories.py
Size: Mime:
# -*- coding: utf-8 -*-

# Third
from mongoengine.errors import NotUniqueError, ValidationError

from oyaji.messages import Messages
from oyaji.responses import Response
from oyaji.core.utils import generate_password


class UserRepo:
    def __init__(self, resource, Model):
        self.resource = resource
        self.response = Response(self.resource)
        self.model = Model

    def change_password(self, password):
        try:
            self.model.password = generate_password(password).decode("utf-8")
            self.model.save()

        except NotUniqueError:
            return self.response.already_exists(self.resource)

        except ValidationError as e:
            return self.response.exception(
                msg=Messages.INVALID_DATA.value, description=e.__str__()
            )

        except Exception as e:
            return self.response.exception(description=e.__str__())