Example #1
0
def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    
    config = Configurator(settings=settings, root_factory='.resources.Root')
    
    # Configuramos la autenticación/authorización del sistema
    config.set_authorization_policy(ACLAuthorizationPolicy())
    config.include('.tokenPolicy')
    config.set_token_authentication_policy('c3cr3t0', http_header='www-authorization')
    
    # Rutas 
    
    # Rutas para logueo del sistema
    config.add_route('logueo', '/auth/login', request_method='POST')
    config.add_route('logueo_options', '/auth/login', request_method="OPTIONS")
    config.add_route('logueo_crear_token', '/auth/tokenizador', request_method='POST')
    # Rutas para objeto ''computadoras''
    config.add_route('computadoras_listado', '/computadoras', request_method='GET')
    config.add_route('computadoras_listado_options', '/computadoras', request_method='OPTIONS')
    # Rutas para objeto ''grupos''
    config.add_route('grupos_creacion', '/grupos', request_method='POST')
    config.add_route('grupos_listado', '/grupos', request_method='GET')
    config.add_route('grupos_listado_options', '/grupos', request_method='OPTIONS')
    config.add_route('grupos_detalle', '/grupos/{grupo}', request_method='GET')
    config.add_route('grupos_borrado', '/grupos/{grupo}', request_method='DELETE')
    # Rutas para objeto ''usuarios''
    config.add_route('usuarios_creacion', '/usuarios', request_method='POST')
    config.add_route('usuarios_listado', '/usuarios', request_method='GET')
    config.add_route('usuarios_listado_options', '/usuarios', request_method='OPTIONS')
    config.add_route('usuarios_existente', '/usuarios/{usuario}', request_method='HEAD')
    config.add_route('usuarios_detalle', '/usuarios/{usuario}', request_method='GET')
    config.add_route('usuarios_actualizacion', '/usuarios/{usuario}', request_method='PUT')
    config.add_route('usuarios_actualizacion_options', '/usuarios/{usuario}', request_method='OPTIONS')
    config.add_route('usuarios_modificacion', '/usuarios/{usuario}', request_method='PATCH')
    config.add_route('usuarios_borrado', '/usuarios/{usuario}', request_method='DELETE')
    config.scan()
    config.set_request_factory(request_factory)
    return config.make_wsgi_app()