En primer lugar, lo siento si estoy volviendo a publicar, pero no pude encontrar nada relacionado.
Estoy trabajando en una aplicación que maneja datos muy confidenciales. Quiero filtrar estos datos por rol de usuario.
Hice esto (en otro trabajo) usando Doctrine Filters , pero no puedo encontrar ninguna información sobre cómo hacerlo usando Sequelize (sobre PostgreSQL).
P.ej:
sensitive_information: | user_id | sensible_value | +---------+----------------+ | 1 | something | | 2 | something_else |Necesito este:
SELECT * FROM sensitive_information WHERE user_id = 1; /** I need this to be added automatically in all queries to sensitive_information */Entonces, el usuario 1 nunca verá información de otro usuario. Ese es el objetivo.
¿Es posible? Estoy abierto a sugerencias.
Gracias por adelantado.
Esto se puede abordar mediante el uso de ámbitos de Sequelize .
Dado que los ámbitos pueden ser funciones:
Los ámbitos se definen en la definición del modelo y pueden ser objetos de búsqueda o funciones que devuelven objetos de búsqueda.
es fácil definir un ámbito que filtre la información según el usuario que haya iniciado sesión.
Todavía no he implementado este alcance exactamente, pero tengo una buena idea sobre cómo abordarlo si alguien necesita ayuda.