Skip to content

Support list type on facets #4493

@raxosiris

Description

@raxosiris

Experience Report

Facets are a useful way to add properties to an edge instead of a node. We'd like to make full use of them but turns out only a limited set of types are supported which hinders our use case.

What you wanted to do

We wanted to contain the permission scopes (for example, for a particular slack channel) inside the user's relationship (edge) to that channel.

What you actually did

For now, we are storing permissions as a jsonstring formatted list. E.g. instead of ["channel:write:user", "channel:read"], we are storing ""channel:write:user","channel:read""

Why that wasn't great, with examples

Making workarounds to store a more complex facet means that we have to manually parse the string into list format to send to our frontend.

Any external references to support your case

Slack has a similar use case where they assign permission scopes per channel/per workspace.
https://api.slack.com/scopes

Ours is a bit more complex, involving payment scopes, task scopes etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stalearea/facetsIssues related to face handling, querying, etc.kind/featureSomething completely new we should consider.status/acceptedWe accept to investigate/work on it.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions