Security Context with several elements on CubeJS

671 Views Asked by At

Currently working on Cube.JS and I'm building a cube within I want to restrict the data to an user based on his gender. So I end up with :

cube(`Data`, {
    sql: `select * from my_table where ${SECURITY_CONTEXT.user_gender.filter(user_gender)}`,
    ...

as explained here

But now I want to restrict the data to an user based on his gender AND his age, how should I proceed ? I was thinking about something like that...

cube(`Data`, {
    sql: `select * from my_table where ${SECURITY_CONTEXT.user_gender.user_age.filter(user_gender,user_age)}`, //????
    ...

...but it seems weird to put two "attributes" .user_gender.user_age.filter to the SECURITY_CONTEXT

I hope someone has already tried something like that. Thank you!

1

There are 1 best solutions below

1
On BEST ANSWER

You'll need to use SECURITY_CONTEXT twice:

cube(`Data`, {
    sql: `select * from my_table where ${SECURITY_CONTEXT.user_gender.filter(user_gender)} AND ${SECURITY_CONTEXT.user_age.filter(user_age)}`,
    ...