Sponsor A feature? Join based permissions

Hello, I’m very impressed with Corteza and can see how powerful it is. I have a feature that I’d like to sponsor into the project - is that something that can be done?

It may end up as a number of bits, but the use case I’m trying to solve is managing permissions via joins as follows:
Create a user (in core DB) and an associated contact record (in connection DB) - easy
Link the contact to another resource by a many to many in the connection DB. Cohort (easy)
Ensure that a user can only “see” (list/view/edit) contacts in the cohort they are a member.

I understand that you can do this by using Workflows to publish out the required userIDs onto the relevant records and do a simple filter, but fairly quickly this becomes impractical when the joins could be 5,6 or 7 tables across and the solutions I am looking at will need that.

My feeling is that we could incorporate some “Join” capabilities into some of the existing features.

I was thinking that some capabilities might be:

  1. Read/List Hooks. Have a hook before the reading of lists or records and individual records that trigger a workflow that must return a record or records based on the output from workflow. This could then apply a highly flexible rule set as required.

2.Augment the existing pre-filter expressions to enable SQL like joins like for a Cohort pre-filter “join CohortContact on recordID=CohortContact.cohortID join Contact on Contact.recordID=Contact.recordID WHERE Contact.userID=userID.” (with left/right joins too!)
3. Have a workflow function step that does a search with an additional join expression of the type in suggestion 2.

I envisage that all the joins would be in the same DB and that any addition indexing would be set up separately.
I know a few programme languages myself, but unfortunately Go is not one of them. I would build and donate myself if I could, but it is beyond me.

Anyway let me know what is possible.

Hi Murray,

Many thanks for reaching out and for your kind offer to sponsor a feature.

Our apologies for taking a week to get back to you. Your request didn’t come in on time to get into last week’s product backlog review.

Though we can see its uses, unfortunately, this is not a feature that we intend to implement any time in the near future.