Has anyone created a SaaS app with the current versions of Slash or Dgraph and have any insights on how you approached setting up authorization and accounts/tenants/workspaces and their users/members?
I’ve searched for info about multi-tenancy and creating SaaS apps with Dgraph and it looks like a) there may be future multi-tenancy support at the db namespace level possibly in the works (and possibly Enterprise edition only?) and b) that there may be little or no info and docs about using current Slash and Dgraph tools for roll-your-own SaaS account/workspace management? Is that true?
I’d assume when going the roll-your-own route, the schema (before @auth filters) might look something like this?:
type Tenant {
id: ID!
name: String! @search(by:[fulltext])
members: [User!]
nodeX: NodeX @hasInverse(field:tenant)
nodeX: NodeY @hasInverse(field:tenant)
nodeZ: NodeZ @hasInverse(field:tenant)
}
type User {
id: ID!
username: String! @search(by:[hash]) @id
name: String @search(by:[exact])
tenants: [Tenant!] @hasInverse(field:members)
}
type NodeX {
id: ID!
name: String @search(by:[fulltext])
tenant: Tenant! @hasInverse(field:nodeX)
}
type NodeY {
id: ID!
name: String @search(by:[fulltext])
tenant: Tenant! @hasInverse(field:nodeY)
}
etc...
And regarding the current state of Dgraph, in your opinion, is it a good choice or is it a “just not ready yet” choice for building SaaS apps?