Skip to content

Lookup-entity filter by relations #2249

@Disimasa

Description

@Disimasa

Is your feature request related to a problem? Please describe.
I use Lookup entity to get permitted ids and pass them to sql query for data selection. It works for simple entities, however sometimes I need to pass additional filter by relation or attribure.

Describe the solution you'd like

For example I have such permify schema on my project:

entity member {}
entity team {
  relation member @member
}
entity project {
  relation team @team
  relation member @member @team#member

  action teamMember = team.member
}
entity connection {
  relation project @project
  relation owner @member @team#member

  attribute projectAccess boolean
  attribute teamAccess boolean

  action read = owner or (projectAccess and project.member) or (teamAccess and project.teamMember)
}

I'd like to get a list of connection ids which have read action in current project by current member. However in lookup entity I can pass only subjectId, so I get list of readable connections for member without filtration by projectId. It'd be greate to add a field to request body like that:

{
	entity_type: "connection",
	permission: "read",
	subject: {
	  type: "member",
	  id: "memberId"
	},
	filters: [
	  {
	    type: "project",
	    id: "projectId"
	  }
	]
}

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions