Exemple #1
0
	def create(self, payload):
		response = ResponseBuilder()
		orderverification_query = db.session.query(OrderVerification).filter_by(order_id=payload['order_id'])
		orderverification = orderverification_query.first()
		payment_proof = self.save_file(payload['payment_proof']) if payload['payment_proof'] is not None else None
		if orderverification:
			if orderverification.payment_proof is not None:
				Helper().silent_remove(current_app.config['STATIC_DEST'] + orderverification.payment_proof)
			orderverification_query.update({
				'payment_proof': payment_proof,
				'updated_at': datetime.datetime.now()
			})
		else:
			orderverification = OrderVerification()
			order = db.session.query(Order).filter_by(id=payload['order_id']).first()
			orderverification.user_id = order.user_id
			orderverification.order_id = payload['order_id']
			orderverification.payment_proof = payment_proof
			db.session.add(orderverification)
		try:
			db.session.commit()
			result = orderverification.as_dict()
			result['payment_proof'] = Helper().url_helper(result['payment_proof'], current_app.config['GET_DEST'])
			return response.set_data(result).set_message('Data created succesfully').build()
		except SQLAlchemyError as e:
			data = e.orig.args
			return response.set_data(data).set_error(True).build()
 def resend_certificate(self, payloads):
     response = ResponseBuilder()
     emailservice = EmailService()
     mail_template = EmailHackaton("devsummit-hackathon-certificate.html")
     checked_in = db.session.query(UserTicket.user_id).join(CheckIn).all()
     checkins = [i[0] for i in checked_in]
     print(checkins)
     user = db.session.query(User).filter(
         or_(User.id == payloads['user_id'],
             User.email == payloads['user_id'])).first()
     if user is None:
         return response.set_data(None).set_message(
             'user not found.').set_error(True).build()
     if user.id not in checkins:
         return response.set_data(None).set_message(
             'user found but did not check in.').set_error(True).build()
     extra = "<br/><br/><br/>Link to your downloadable certificate: <a href='https://api.devsummit.io/certificate-%s.pdf'>here</a>" % user.id
     template = mail_template.build(user.first_name + ' ' + user.last_name,
                                    extra)
     email = emailservice.set_recipient(user.email).set_subject(
         'Indonesia Developer Summit 2017').set_sender(
             '*****@*****.**').set_html(template).build()
     mail.send(email)
     return response.set_data(None).set_message('email has been sent to: ' +
                                                user.email).build()
    def add_booth(self, payloads):
        response = ResponseBuilder()
        booth_exists = db.session.query(
            db.exists().where(Booth.user_id == payloads['user_id'])).scalar()

        if booth_exists:
            return response.set_data(payloads).build()

        self.booth = Booth()
        self.booth.name = payloads['booth_name']
        self.booth.user_id = payloads['user_id']
        self.booth.stage_id = payloads['stage_id']
        self.booth.points = payloads['points']
        self.booth.summary = payloads['summary']
        db.session.add(self.booth)
        try:
            db.session.commit()
            data = self.booth.as_dict()

            user_booth = UserBooth()
            user_booth.user_id = data['user_id']
            user_booth.booth_id = data['id']
            db.session.add(user_booth)
            db.session.commit()

            return response.set_data(data).build()
        except SQLAlchemyError as e:
            data = e.orig.args
            return response.set_data(data).set_error(True).build()
 def create(self, payloads):
     response = ResponseBuilder()
     feed = Feed()
     sponsor = db.session.query(Sponsor).filter_by(
         id=payloads['sponsor_id']).first()
     attachment = self.save_file(
         payloads['attachment']
     ) if payloads['attachment'] is not None else None
     feed.message = payloads['message']
     feed.attachment = attachment
     feed.user_id = payloads['user_id']
     feed.type = payloads['type']
     feed.redirect_url = payloads['redirect_url']
     feed.sponsor_id = payloads['sponsor_id']
     db.session.add(feed)
     try:
         db.session.commit()
         user = feed.user.include_photos().as_dict()
         del user['fcmtoken']
         data = feed.as_dict()
         data['attachment'] = Helper().url_helper(
             data['attachment'], current_app.config['GET_DEST']
         ) if data['attachment'] is not None else None
         if 'user' in payloads['type']:
             data['user'] = user
         elif 'sponsor' in payloads['type']:
             data['user'] = sponsor.as_dict()
         return response.set_data(data).build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
Exemple #5
0
 def shows(self, user, speaker_id):
     response = ResponseBuilder()
     speaker = db.session.query(Speaker).filter_by(id=speaker_id).first()
     if user['role_id'] is ROLE['user']:
         speaker_document = db.session.query(SpeakerDocument).filter_by(
             speaker_id=speaker_id,
             is_used=1).order_by(SpeakerDocument.created_at.desc()).all()
     elif user['role_id'] is ROLE['speaker']:
         speaker_document = db.session.query(SpeakerDocument).filter_by(
             speaker_id=speaker_id).order_by(
                 SpeakerDocument.created_at.desc()).all()
     _results = []
     if speaker_document is not None:
         speaker_document = BaseModel.as_list(speaker_document)
         for _speaker_document in speaker_document:
             _speaker_document['material'] = Helper().url_helper(
                 _speaker_document['material'],
                 app.config['GET_SPEAKER_DOC_DEST'])
             _speaker_document['user'] = speaker.user.include_photos(
             ).as_dict()
             _results.append(_speaker_document)
         return response.set_data(_results).build()
     else:
         data = 'data not found'
         return response.set_data(None).set_message(data).build()
    def transfer_points(self, receiver_id, sender_id, points):
        response = ResponseBuilder()
        # query users
        booth = db.session.query(Booth).filter_by(user_id=sender_id).first()
        user = db.session.query(User).filter_by(id=receiver_id).first()
        # check booth points first
        if booth.points < points:
            return response.set_error(True).set_data(
                'You don\'t have enough point to grant').build()
        # transfer point
        booth.points = booth.points - points
        if user.points:
            user.points = user.points + points
        else:
            user.points = points
        try:
            db.session.commit()
            # log transfer
            transaction_log = PointTransactionLog()
            transaction_log.booth_id = booth.id
            transaction_log.user_id = user.id
            transaction_log.amount = points

            db.session.add(transaction_log)
            db.session.commit()
            # return value
            return response.set_data('Point transfered succesfully').build()
        except SQLAlchemyError as e:
            data = e.orig.args
            return response.set_data(data).set_error(True).build()
 def reward_point(self, payloads, user):
     response = ResponseBuilder()
     beacon = db.session.query(Beacon).filter(
         Beacon.major == payloads['major'],
         Beacon.minor == payloads['minor']).first()
     if beacon is None:
         return response.set_data(None).set_message(
             'beacon not found').set_error(True).build()
     if beacon.point is None:
         return response.set_data(None).set_message(
             'no point assigned to this beacon').set_error(True).build()
     user_query = db.session.query(User).filter(User.id == user.id)
     curr_point = user.points if user.points else 0
     user_query.update({
         'points': curr_point + beacon.point,
         'updated_at': datetime.datetime.now()
     })
     try:
         db.session.commit()
         return response.set_data({
             'points': user.points,
             'rewarded': beacon.point
         }).set_message('point gained').build()
     except SQLAlchemyError as e:
         return response.set_error(True).set_data(None).set_message(
             'sql_error').build()
Exemple #8
0
 def create(self, payload):
     response = ResponseBuilder()
     invoice = Invoice()
     invoice.payload = payload[
         'description'] if 'description' in payload else ''
     invoice.total = payload['total'] if 'total' in payload else None
     invoice.address = payload['address'] if 'address' in payload else ''
     invoice.description = payload[
         'description'] if 'description' in payload else ''
     invoice.invoiceable_type = payload[
         'invoiceable_type'] if 'invoiceable_type' in payload else ''
     invoice.invoiceable_id = payload[
         'invoiceable_id'] if 'invoiceable_id' in payload else ''
     if invoice.total is None:
         return response.set_data(None).set_error(True).build()
     else:
         db.session.add(invoice)
         try:
             db.session.commit()
             return response.set_data(
                 invoice.as_dict()).set_message('invoice created').build()
         except SQLAlchemyError as e:
             data = e.orig.args
             return response.set_data(None).set_message(data).set_error(
                 True).build()
Exemple #9
0
	def redeemreferal(self, payloads, id):
		response = ResponseBuilder()
		user = db.session.query(User).filter_by(id=id)
		user_referal = user.first().referal
		if user_referal in payloads['referal']:
			return response.set_data(None).set_message('dont redeem your own code').set_error(True).build()
		user_have_refered = user.first().have_refered
		if user_have_refered is 1:
			return response.set_data(None).set_message('you cant redeem referal again').set_error(True).build()
		referal = db.session.query(User).filter_by(referal=payloads['referal'])
		referal_count = referal.first().referal_count
		if referal_count is not 10:
			referal_count += 1
			referal.update({
				'referal_count': referal_count
			})
			user_referal_count = user.first().referal_count
			user_referal_count += 1
			user.update({
				'referal_count': user_referal_count,
				'have_refered': 1
			})
			db.session.commit()
			result = db.session.query(User).filter_by(id=id).first()
			return response.set_data(result.as_dict()).build()
		else:
			return response.set_data(None).set_message('this referal code has exceeded its limit').set_error(True).build()
Exemple #10
0
    def show(self, id):
        # get the booth id
        response = ResponseBuilder()
        booth = db.session.query(Booth).filter_by(id=id).first()
        if booth is None:
            data = {'user_exist': True}
            return response.set_data(data).set_error(True).set_message(
                'booth not found').build()
        data = booth.as_dict()
        data['user'] = booth.user.include_photos().as_dict()
        if data['logo_url']:
            data['logo_url'] = Helper().url_helper(
                data['logo_url'], current_app.config['GET_DEST'])

        user_booth = db.session.query(UserBooth).filter_by(booth_id=id).all()

        data['members'] = []

        for user in user_booth:
            user_id = user.as_dict()['user_id']
            user = db.session.query(User).filter_by(id=user_id).first()
            data['members'].append(user.include_photos().as_dict())

        data['stage'] = booth.stage.as_dict() if booth.stage else None
        return response.set_data(data).build()
Exemple #11
0
 def show(self, id):
     response = ResponseBuilder()
     beacon = db.session.query(Beacon).filter(Beacon.id == id).first()
     if beacon:
         return response.set_data(beacon.as_dict()).set_message(
             'beacon retrieved succesfully').build()
     return response.set_data(None).set_error(True).set_message(
         'beacon not found').build()
Exemple #12
0
	def verify(self, id):
		response = ResponseBuilder()
		orderverification_query = db.session.query(OrderVerification).filter_by(id=id)
		orderverification = orderverification_query.first()
		if orderverification.is_used is not 1:
			user_query = db.session.query(User).filter_by(id=orderverification.user_id)
			user = user_query.first()
			items = db.session.query(OrderDetails).filter_by(order_id=orderverification.order_id).all()
			if items[0].ticket.type == TICKET_TYPES['exhibitor']:
				payload = {}
				payload['user_id'] = user.id
				payload['ticket_id'] = items[0].ticket_id
				UserTicketService().create(payload)
				self.create_booth(user)
				user_query.update({
					'role_id': ROLE['booth']
				})
				redeem_payload = {}
				redeem_payload['ticket_id'] = items[0].ticket_id
				redeem_payload['codeable_id'] = user.id
				RedeemCodeService().purchase_user_redeems(redeem_payload)
			elif items[0].ticket.type == TICKET_TYPES['hackaton']:
				payload = {}
				payload['user_id'] = user.id
				payload['ticket_id'] = items[0].ticket_id
				UserTicketService().create(payload)
				hackerteam_id = self.create_hackaton(user)
				user_query.update({
					'role_id': ROLE['hackaton']
				})
				redeem_payload = {}
				redeem_payload['codeable_type'] = TICKET_TYPES['hackaton']
				redeem_payload['codeable_id'] = hackerteam_id
				redeem_payload['count'] = items[0].ticket.quota
				RedeemCodeService().create(redeem_payload)
			else:
				for item in items:
					for i in range(0, item.count):
						payload = {}
						payload['user_id'] = user.id
						payload['ticket_id'] = item.ticket_id
						UserTicketService().create(payload)
			orderverification_query.update({
				'is_used': 1
			})
			payment_query = db.session.query(Payment).filter_by(order_id=orderverification.order_id)
			payment_query.update({
				'transaction_status': 'capture'
			})
			completed_order = db.session.query(Order).filter_by(id=orderverification.order_id)
			completed_order.update({
				'status': 'paid'
			})
			db.session.commit()
			return response.set_data(None).set_message('ticket purchased').build()
		else:
			return response.set_data(None).set_message('This payment has already verified').build()
Exemple #13
0
 def delete(self, id):
     response = ResponseBuilder()
     self.model_redeem_code = db.session.query(RedeemCode).filter_by(id=id)
     if self.model_redeem_code.first() is not None:
         # delete row
         self.model_redeem_code.delete()
         db.session.commit()
         return response.set_data(None).set_message('redeem code delete successfully').set_error(False).build()
     else:
         return response.set_data(None).set_message('data not found').set_error(True).build()
Exemple #14
0
 def delete(self, id):
     response = ResponseBuilder()
     self.events_model = db.session.query(Event).filter_by(id=id)
     if self.events_model.first() is not None:
         # delete row
         self.events_model.delete()
         db.session.commit()
         return response.set_data(None).build()
     else:
         return response.set_data(None).set_error(True).build()
 def booth_gallery(self, booth_id):
     response = ResponseBuilder()
     booth_galleries = db.session.query(BoothGallery).filter_by(booth_id=booth_id).all()
     if booth_galleries is not None:
         for booth_gallery in booth_galleries:
             booth_gallery = booth_gallery
             booth_gallery['url'] = Helper().url_helper(booth_gallery['url'], current_app.config['GET_DEST'])
             
         return response.set_data(booth_galleries).set_message('data retrieved sucessfully').build()
     else:
         return response.set_data(None).set_message('data not found').set_error(True).build()
Exemple #16
0
 def broadcast_notification(self, title, message, sender_id):
     response = ResponseBuilder()
     if not self.save_notification(title, message, None, sender_id):
         return response.set_error(True).set_message(
             'failed to save notification').set_data(None).build()
     result = self.broadcast_message(title, message)
     if 'message_id' in result.json():
         return response.set_data(
             result.json()).set_message('notification broadcasted').build()
     return response.set_data(None).set_message(
         'an error occured').set_error(True).build()
 def create(self, payload):
     response = ResponseBuilder()
     orderverification_query = db.session.query(
         OrderVerification).filter_by(order_id=payload['order_id'])
     orderverification = orderverification_query.first()
     payment_proof = self.save_file(
         payload['payment_proof']
     ) if payload['payment_proof'] is not None else None
     if orderverification:
         if orderverification.payment_proof is not None:
             Helper().silent_remove(current_app.config['STATIC_DEST'] +
                                    orderverification.payment_proof)
         orderverification_query.update({
             'payment_proof':
             payment_proof,
             'updated_at':
             datetime.datetime.now()
         })
         order = orderverification.order
     else:
         orderverification = OrderVerification()
         order_query = db.session.query(Order).filter_by(
             id=payload['order_id'])
         payment_query = db.session.query(Payment).filter_by(
             order_id=payload['order_id'])
         order = order_query.first()
         orderverification.user_id = order.user_id
         orderverification.order_id = payload['order_id']
         orderverification.payment_proof = payment_proof
         order_query.update({
             'status': 'in progress',
             'updated_at': datetime.datetime.now()
         })
         payment_query.update({
             'transaction_status': 'in progress',
             'updated_at': datetime.datetime.now()
         })
         db.session.add(orderverification)
     try:
         db.session.commit()
         result = orderverification.as_dict()
         result['payment_proof'] = Helper().url_helper(
             result['payment_proof'], current_app.config['GET_DEST'])
         if orderverification:
             send_notification = FCMService().send_single_notification(
                 'Payment Status',
                 'Payment proof have been uploaded, your payment is being processed',
                 order.user_id, ROLE['admin'])
         return response.set_data(result).set_message(
             'Data created succesfully').build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
 def delete(self, id):
     response = ResponseBuilder()
     self.model_referal = db.session.query(Referal).filter_by(id=id)
     if self.model_referal.first() is not None:
         # delete row
         self.model_referal.delete()
         db.session.commit()
         return response.set_data(None).set_message(
             'referal deleted successfully').build()
     else:
         return response.set_data(None).set_error(True).set_message(
             'deletion failed').build()
	def send_to_midtrans_api(self, payloads):
		response = ResponseBuilder()
		endpoint = url + 'charge'
		result = requests.post(
				endpoint,
				headers=self.headers,
				json=payloads
		)
		payload = result.json()
		if(str(payload['status_code']) in ['400', '202']):

			if 'validation_messages' in payload and payload['validation_messages'][0]:
				messages = payload['validation_messages'][0] 
			elif 'status_message' in payload:
				messages = payload['status_message']
			else:
				messages = 'unknown error occured'

			return response.set_error(True).set_status_code(payload['status_code']).set_message(messages).build()
		else:
			if 'bank' in payloads and payloads['payment_type'] != 'credit_card':
				payload['bank'] = payloads['bank']
			elif payloads['payment_type'] == 'echannel':
				payload['bank'] = 'mandiri_bill'
				payload['va_number'] = self.get_midtrans_va_number(payload)
			
			else:
				if 'bank_transfer' in payloads:
					payload['bank'] = payloads['bank_transfer']['bank']
					payload['va_number'] = self.get_midtrans_va_number(payload)
				else:
					payload['bank'] = None

			if payloads['payment_type'] in ['bca_klikbca', 'bca_klikpay', 'cimb_clicks', 'danamon_online', 'bri_epay']:
				payload['va_number'] = payload['redirect_url']

			if 'status_code' in payload and payload['status_code'] == '406':
				return response.set_data(payload).set_error(True).set_message('Duplicate order ID. Order ID has already been utilized previously').build()

			# handle indomaret payment
			if payloads['payment_type'] == 'cstore':
				payload['bank'] = 'indomaret'
				payload['fraud_status'] = payload['payment_code']

			if ('status_code' in payload and str(payload['status_code']) in ['201', '200']):
				self.save_payload(payload, payloads)

			# if  not fraud and captured save ticket to user_ticket table
			if('fraud_status' in payload and payload['fraud_status'] == 'accept' and payload['transaction_status'] == 'capture'):
				order = db.session.query(Order).filter_by(id=payload['order_id']).first()
				self.save_paid_ticket(order.as_dict())
		message = payload['status_message'] if 'status_message' in payload else 'No message from payload' 
		return response.set_data(payload).set_message(message).build()
	def password_reset(self, payloads):
		response = ResponseBuilder()
		user = User().verify_auth_token(payloads['token'])
		if user is not None:
			self.model_user = db.session.query(User).filter_by(id=user.id)
			self.model_user.update({
				'password': generate_password_hash(payloads['new_password'])
			})
			db.session.commit()
			return response.set_data(user.as_dict()).set_message('Reset Password success, You can logged in with new password').build()
		else:
			return response.set_data(None).set_message('Reset Password failed or token expired').build()
Exemple #21
0
    def update(self, code, user):
        response = ResponseBuilder()
        _result = {}
        _result['user'] = user
        token = db.session.query(AccessToken).filter_by(
            user_id=user['id']).first().as_dict()
        raw_user = db.session.query(User).filter_by(id=user['id'])
        raw_redeem_code = db.session.query(RedeemCode).filter_by(code=code)
        if raw_redeem_code.first() is None:
            return response.set_data(None).set_error(True).set_message(
                'code not found').build()
        redeem_code = raw_redeem_code.first().as_dict()
        if raw_user.first() is None:
            return response.set_data(None).set_error(True).set_message(
                'user not found').build()
        if redeem_code['used'] == 1:
            return response.set_data(None).set_error(True).set_message(
                'code already used').build()

        try:
            if redeem_code['codeable_type'] in ['partner', 'user']:
                # become attendee
                userticket = UserTicket()
                userticket.user_id = user['id']
                userticket.ticket_id = 1
                db.session.add(userticket)
                db.session.commit()
            elif redeem_code['codeable_type'] == 'booth':
                # get booth of the code
                booth = db.session.query(Booth).filter_by(
                    id=redeem_code['codeable_id']).first().as_dict()
                # become member of booth
                user_booth = UserBooth()
                user_booth.user_id = user['id']
                user_booth.booth_id = booth['id']
                db.session.add(user_booth)
                user['role_id'] = 3
                db.session.commit()
                _result['user']['booth'] = booth
            raw_redeem_code.update({'used': True})
            raw_user.update({'role_id': user['role_id']})
            db.session.commit()
            token_payload = {
                'access_token': token['access_token'],
                'refresh_token': token['refresh_token']
            }
            return response.set_data(token_payload).set_included(
                _result['user']).set_message('Redeem code updated successfully'
                                             ).set_error(False).build()
        except SQLAlchemyError as e:
            return response.set_data(
                e.orig.args).set_message('SQL error').set_error(True).build()
Exemple #22
0
 def post_log(self, payload, id):
     response = ResponseBuilder()
     log = SponsorInteractionLog()
     log.description = payload['description']
     log.sponsor_id = id
     db.session.add(log)
     try:
         db.session.commit()
         return response.set_data(
             log.as_dict()).set_message('logged').build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
Exemple #23
0
 def delete(self, id):
     response = ResponseBuilder()
     self.model_beacon = db.session.query(Beacon).filter(Beacon.id == id)
     if self.model_beacon.first() is not None:
         # delete row
         self.model_beacon.delete()
         db.session.commit()
         return response.set_data(None).set_message(
             'region row deleted succesfully').build()
     else:
         data = 'data not found'
         return response.set_data(data).set_error(True).set_message(
             'sql error').build()
Exemple #24
0
 def send_single_notification(self, title, message, uid, sender_id):
     response = ResponseBuilder()
     user = db.session.query(User).filter_by(id=uid).first().as_dict()
     if not self.save_notification(title, message, uid, sender_id):
         return response.set_error(True).set_message(
             'failed to save notification').set_data(None).build()
     fcmtoken = user['fcmtoken']
     if fcmtoken is not None:
         result = self.send_message(fcmtoken, title, message)
         if 'success' in result.json() and result.json()['success'] == 1:
             return response.set_data(
                 result.json()).set_message('notification sent').build()
     return response.set_data(None).set_message('notification sent').build()
    def update(self, payloads, id):
        response = ResponseBuilder()
        try:
            self.model_grant_role = db.session.query(User).filter_by(id=id)
            self.model_grant_role.update({'role_id': payloads['role_id']})
            db.session.commit()
            data = self.model_grant_role.first().as_dict()
            return response.set_data(data).set_message(
                'User updated successfully').set_error(False).build()

        except SQLAlchemyError as e:
            return response.set_data(
                e.orig.args).set_message('SQL error').set_error(True).build()
 def add_attendee(self, payloads):
     response = ResponseBuilder()
     self.attendee = Attendee()
     self.attendee.user_id = payloads['user_id']
     self.attendee.points = payloads['points']
     db.session.add(self.attendee)
     try:
         db.session.commit()
         data = self.attendee.as_dict()
         return response.set_data(data).build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
 def add_ambassador(self, payloads):
     response = ResponseBuilder()
     self.ambassador = Ambassador()
     self.ambassador.user_id = payloads['user_id']
     self.ambassador.informations = payloads['infrormation']
     self.ambassador.institution = payloads['institution']
     db.session.add(self.ambassador)
     try:
         db.session.commit()
         data = self.ambassador.as_dict()
         return response.set_data(data).build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
 def create(self, payloads):
     response = ResponseBuilder()
     package_managements = PackageManagement()
     package_managements.name = payloads['name']
     package_managements.price = payloads['price']
     package_managements.quota = payloads['quota']
     db.session.add(package_managements)
     try:
         db.session.commit()
         data = package_managements.as_dict()
         return response.set_data(data).build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
Exemple #29
0
 def create(self, payloads):
     response = ResponseBuilder()
     source = Source()
     source.account_number = payloads['account_number']
     source.bank = payloads['bank']
     source.alias = payloads['alias']
     db.session.add(source)
     try:
         db.session.commit()
         data = source.as_dict()
         return response.set_data(data).build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).build()
Exemple #30
0
 def create(self, payloads):
     response = ResponseBuilder()
     userfeedback = UserFeedback()
     userfeedback.user_id = payloads['user_id']
     userfeedback.content = payloads['content']
     db.session.add(userfeedback)
     try:
         db.session.commit()
         data = userfeedback.as_dict()
         return response.set_data(data).set_message(
             'Feedback created').set_error(False).build()
     except SQLAlchemyError as e:
         data = e.orig.args
         return response.set_data(data).set_error(True).set_message(
             'Some error occured, please try again later').build()