예제 #1
0
    def post(self, user_id):
        user_id = str(user_id)
        if user_id != current_identity._get_current_object().id:
            abort(401)

        args = self.reqparse.parse_args()
        logging.debug('Current args are ... ' + str(args))
        token_inserted = args.get('tokenData')
        # if there is a problem with the inserted job format
        if not token_inserted:
            logging.debug('"tokenData" key missing in inserted token.')
            abort(401)
        logging.debug("Token inserted is " + str(token_inserted))
        if not len(
            [i for i in token_inserted.keys() if i in ['user_id', 'fcmtoken']
             ]) == 2:
            logging.debug('tokenData missing a few parameters ...')
            abort(401)
        if not self.tokenDAO.find_user(user_id):
            logging.debug('User not found, adding new token')
            insertion_successful = self.tokenDAO.insert_token(
                user_id, token_inserted['fcmtoken'])
            if not insertion_successful:
                abort(401)
            return Token(user_id, token_inserted['fcmtoken']).as_dict()
        else:
            # update token for existing user
            logging.debug('Updating token for existing user : '******'fcmtoken'])
            if not update_successful:
                abort(401)
            return Token(user_id, token_inserted['fcmtoken']).as_dict()
        abort(405)
 def validar_login(self,request):
     header_controller=HeaderController()
     login_model=LoginModel()
         
     estado_header,codigo_header=header_controller.validar_header(request.headers)
     if(estado_header == True):
         token=request.headers['Authorization']
         verificartoken=Token()
         estado_token,codigo_token=verificartoken.validar_token_fb(token)
         if estado_token == True:
             validaciones=Validaciones();
             estado_json,codigo_json=validaciones.validar_json(request)
             if estado_json:
                 rules = {
                 "uid_cliente": [Required],
                 "tipo_cliente": [Required,In(["ADMIN", "GERENTE", "ADMIN_TIENDAS", "CLIENTES"])],
                 }
                 respuesta=validate(rules, request.json)
                 if(respuesta[0]):
                     estado_vacio,codigo_vacio=validaciones.validar_campos_vacios(request.json)
                     if estado_vacio:
                         uid_cliente=request.json['uid_cliente']
                         tipo_cliente=request.json['tipo_cliente']
                         estado_login,codigo_model=login_model.validarlogin(uid_cliente,tipo_cliente)
                         if estado_login:
                             if tipo_cliente == 'ADMIN_TIENDAS':
                                  return {'estado':True,'mensaje':'login exitoso','uid_tienda':codigo_model}
                             else:
                                  return {'estado':True,'mensaje':'login exitoso'}
                         else:
                             return {'estado':False,'codigo':codigo_model}
                     else:
                         return {'estado':False,'codigo':codigo_vacio}
                     
                     
                 else:
                     codigo = generador.validarGuardarInformacionError("000","validar si trae los parametros necesario- no se enviaron los parametros- login_controller","post",'')
                     return {'estado':False,'codigo':codigo}
             else:
                 return {'estado':False,'codigo':codigo_json}
         else:
             return {'estado':False,'codigo':codigo_token}
     else:
         return {'estado':False,'codigo':codigo_header}
from clases.validaciones import Validaciones
from validator import Required, Equals, validate, In, Pattern
from model.token_model import Token
from ficheros.codigo import Generador
from controller.header_controller import HeaderController
from model.asignar_model import AsignarModel
header_controller = HeaderController()
verificartoken = Token()
validaciones = Validaciones()
generador = Generador()


class AsignarController:
    def asignar_tienda(self, request):
        estado_header, codigo_header = header_controller.validar_header(
            request.headers)
        if estado_header:
            token = request.headers['Authorization']
            estado_token, codigo_token = verificartoken.validar_token_fb(token)
            if estado_token:
                estado_json, codigo_json = validaciones.validar_json(request)
                if estado_json:
                    rules = {
                        "uid_usuario": [Required],
                        "uid_admin_tienda": [Required],
                        "uid_tienda": [Required]
                    }
                    respuesta = validate(rules, request.json)
                    if (respuesta[0]):
                        estado_vacio, codigo_vacio = validaciones.validar_campos_vacios(
                            request.json)