Esempio n. 1
0
 def remove(self):
     """
     Soft deletes the user
     """
     self.isRemoved = True
     self.removedOn = util.get_current_time()
     self.save()
class BlackListToken(db.Document):
    """
    Document to store blacklisted/invalid auth tokens
    """

    _id = db.ObjectIdField()
    token = db.StringField()
    blacklisted_on = db.StringField(default=util.get_current_time())

    meta = {'collection': app.config.get('BLACKLISTED_TOKEN_COLLECTION')}

    def __init__(self, token, *args, **kwargs):
        super(db.Document, self).__init__(*args, **kwargs)
        self.token = token
        self.blacklisted_on = util.get_current_time()

    def blacklist(self, *args, **kwargs):
        """
        Persist Blacklisted token in the database
        :return:
        """
        super(BlackListToken, self).save(*args, **kwargs)

    @staticmethod
    def check_blacklist(token):
        """
        Check to find out whether a token has already been blacklisted.
        :param token: Authorization token
        :return:
        """
        response = BlackListToken.objects(token=token).first()
        if response:
            return True
        return False
Esempio n. 3
0
    def update_ticket(self, update_obj, current_user):
        """
        Updates an ticket using the update_obj
        """
        if 'firstName' in update_obj.keys():
            self.firstName = update_obj.get('firstName')
        if 'lastName' in update_obj.keys():
            self.lastName = update_obj.get('lastName')
        if 'channel' in update_obj.keys():
            self.channel = update_obj.get('channel')
        if 'status' in update_obj.keys():
            self.status = update_obj.get('status')
        if 'notes' in update_obj.keys():
            self.notes = update_obj.get('notes')
        if 'phone' in update_obj.keys():
            self.phone = update_obj.get('phone')
        if 'email' in update_obj.keys():
            self.email = update_obj.get('email')
        if 'category' in update_obj.keys():
            self.category = update_obj.get('category')

        self.modifiedBy = current_user.email_id
        self.lastModified = util.get_current_time()

        self.save()
Esempio n. 4
0
 def delete_lead(self, current_user):
     """
     Soft deletes the lead
     """
     self.isDeleted = True
     self.deletedOn = util.get_current_time()
     self.deletedBy = current_user.email_id
     self.save()
Esempio n. 5
0
 def delete_appointment(self, current_user):
     """
     Soft deletes the appointment
     """
     self.isCancelled = True
     self.isActive = False
     self.cancelledOn = util.get_current_time()
     self.cancelledBy = current_user.email_id
     self.save()
Esempio n. 6
0
    def update(self, updateObj):
        old_template_obj = self.playgroundMeta['template'].copy()
        for item in updateObj.keys():
            try:
                if item in old_template_obj.keys():
                    old_template_obj[item]['response'] = updateObj[item]
            except:
                pass

        self.lastModified = util.get_current_time()
        self.playgroundMeta['template'] = old_template_obj.copy()
        self.save()
Esempio n. 7
0
def add(current_user, workspaceId, projectId):
    """
        Create Leads
    """
    if request.content_type == 'application/json':
        post_data = request.get_json()
        lead = Lead(
                firstName=post_data.get('firstName'),
                lastName = post_data.get(""),
                address = post_data.get('address'),
                city = post_data.get("city"),
                country = post_data.get("country"),
                notes = post_data.get("notes"),
                phone = post_data.get("phone"),
                email = post_data.get("email"),
                age = post_data.get("age"),
                dateOfBirth = post_data.get("dateOfBirth"),
                sex = post_data.get("sex"),
                channel = post_data.get("channel"),
                lastModified = util.get_current_time(),
                modifiedBy = current_user.email_id,
                # createdOn = post_data.get(None, null=True),
                createdBy = current_user.email_id,
                isDeleted = False,
                projectId=projectId
                )
        lead.create()
        res_payload = {
                'id':lead._id,
                'firstName': lead.firstName,
                'lastName': lead.lastName,
                'country': lead.country,
                'address': lead.address,
                'age': lead.age,
                'dob': lead.dateOfBirth,
                'sex': lead.sex,
                'channel': lead.channel,
                'createdOn': lead.createdOn,
                'city': lead.city,
                'phone': lead.phone,
                'email': lead.email
            }
        
        return response_with_obj('success', 'Lead created successfully', res_payload, 200)
    else:
        return response('failed', 'Content-type must be json', 402)
Esempio n. 8
0
    def publish(self, projectId, current_user, priceContract):
        """
        Publish Bot - Triggers Billing
        TODO
        """
        self.publishedOn = util.get_current_time()

        if not self.isPublished:
            self.isPublished = True
            ##Create a bot service
            serviceMeta = self.playgroundMeta
            serviceMeta["priceContract"] = priceContract
            service = Service(serviceType='bot',
                              serviceMeta=serviceMeta,
                              projectId=projectId,
                              createdBy=current_user.email_id)
            service.create()

            self.publishedServiceId = service._id

            #add to project
            project = Project.get_by_id(projectId)
            project.services.append(service._id)
            project.save()

            self.save()

        else:
            #update service
            service = Service.get_by_id(self.publishedServiceId)
            servicePriceContract = service.serviceMeta.get(
                "priceContract", {})  #get exisitng price contract
            serviceMeta = self.playgroundMeta  #copy new playground meta
            serviceMeta[
                "priceContract"] = servicePriceContract  #add priceContract to service Meta
            service.serviceMeta = serviceMeta  #set new service meta
            service.save()

            self.save()

        return service._id
Esempio n. 9
0
def add(current_user, workspaceId, projectId):
    """
        Create Tickets
    """
    if request.content_type == 'application/json':
        post_data = request.get_json()
        ticket = Ticket(
            firstName=post_data.get('firstName'),
            lastName=post_data.get(""),
            notes=post_data.get("notes"),
            phone=post_data.get("phone"),
            email=post_data.get("email"),
            channel=post_data.get("channel"),
            lastModified=util.get_current_time(),
            modifiedBy=current_user.email_id,
            category=post_data.get("category"),
            status=post_data.get("status"),
            # createdOn = post_data.get(None, null=True),
            createdBy=current_user.email_id,
            isDeleted=False,
            projectId=projectId)
        ticket.create()
        res_payload = {
            'id': ticket._id,
            'firstName': ticket.firstName,
            'lastName': ticket.lastName,
            'channel': ticket.channel,
            'createdOn': ticket.createdOn,
            'status': ticket.status,
            'notes': ticket.notes,
            'category': ticket.category,
            'phone': ticket.phone,
            'email': ticket.email
        }

        return response_with_obj('success', 'Ticket created successfully',
                                 res_payload, 200)
    else:
        return response('failed', 'Content-type must be json', 402)
 def create(self, userObj=None, *args, **kwargs):
     self.isActive = True
     self.createdOn = util.get_current_time()
     self.isRemoved = False
     self.save()
Esempio n. 11
0
 def create(self, userObj=None, *args, **kwargs):
     self.createdOn = util.get_current_time()
     self.save()
 def __init__(self, token, *args, **kwargs):
     super(db.Document, self).__init__(*args, **kwargs)
     self.token = token
     self.blacklisted_on = util.get_current_time()
Esempio n. 13
0
 def create(self, userObj=None, *args, **kwargs):
     self.createdOn = util.get_current_time()
     self.lastModified = util.get_current_time()
     self.isRemoved = False
     self.save()
Esempio n. 14
0
 def sign_up(self, userObj=None, *args, **kwargs):
     self.loginType = 'email'
     self.isActive = True
     self.registeredOn = util.get_current_time()
     self.save()