npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@codice-progressio/easy-permissions

v0.2.1

Published

Permisos fáciles de crear y administrar.

Downloads

12

Readme

easy-permissions

Gestión rápida y fácil de permisos en express.

Crea un fichero segudirad/permisos.seguridad.js y registra en el todos los permisos que se definan en la apliación con la función $()

Instalacion

npm i @codice-progressio/easy-permissions

Uso

// Importa la libreria
const easyPermissions = require("@codice-progressio/easy-permissions")
// Setea los parametros básicos de configuración
easyPermissions.config({
  modoProduccion: false,
  generarPermisos: true,
})

Llamamos la función $ desde cada archivo de rutas que queramos asegurar.

const $ = require("@codice-progressio/easy-permissions").$

app.get("/", $("nuevo-permiso", "cam"), (req, res, next) => {
  res.send("ok")
})

Recuperar permiso faltante.

Es posible recuperar el permiso faltante en caso de que express-jwt-permissions detecte que no existe dentro del token desencriptado.

//El middleware de captura de errores.
app.use((err, req, res, next)=>{
  let nombreParametroRequest = easyPermissions.configuraciones.nombreParametroRequest

  if(req[nombreParametroRequest]){
    let leyenda = "No tienes permiso: " + req[nombreParametroRequest]
    return res.status(401).send(leyenda)
  }
})

Registrar solo texto

Por defecto $ devuelve un callback que funciona como medio para ejecutar la comprobación de seguridad de la ruta con express-jwt-permissions, pero es posible solo registrar el permiso seteando las opcion {esMiddleware:false}.

const MiMenu = [
  {
    titulo: "Menu que requiere permisos",
    permissions: [
      // Retorna solo "menus:menus-con-permisos"
      $(
        "menus:menus-con-permisos",
        "Este menú requiere este permisos para visualizarze",
        { esMiddleware: false }
      ),
    ],
  },
]

Configuraciones disponibles y valores por defecto.

| Opción | Valor por defecto | Descripción | | ---------------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | path | "./" | El path del fichero en el cual se van a estar agregando los permisos. | | nombreArchivoPermisos | "permisos.seguridad.js" | El nombre del archivo que se buscara. | | nombreCarpetaPermisos | "seguridad" | El nombre de la carpeta | | modoProduccion | true | Generalmente recibe process.env.NODE_ENV | | nombreParametroRequest | "permisoSolicitado" | Parametro que se adjunta al request y contiene el permiso definido el middleware. Su mejor función en cuando hay un error de permisos y se quiere saber cual fue el permiso solicitado. | | generarPermisos | false | Por defecto detiene la generación del archivo. Mantenerlo por defecto en false impide que se registre cada tecla nueva dentro del permiso como una nueva linea en caso de usar auto-guardado. |