Skip to content

ine8181/PandAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PandAPI

---- operations

AddObject(payload:any, principalObjectId?, groupId[], userId)

  • AddGroup(groupName)

  • AddUser(userName)

  • GetObjectsForGroup (groupId)

GetObjectsForUser (userId) { GetGroupsForUser(userId).Select(g => GetObjectsForGroup(g)).UnionAll(); }

GetGroupsForUser (userId)

  • GetUsersForGroup (groupId)

---- data model User { userId: groups: [groupIds] // computed. }

Group { groupId isPrivate: // true by default users: [] // computed. Perhaps store in a separate table if it's going to be big. }

UserMembership { // source of the truth UserId: // indexed GroupId: // indexed

}

StorageObjectGroupMembership { // source of the truth ObjectId GroupId }

StorageObject { objectId parentObjectId?: //only if this object is owned by some other object. Recursive. Immutable. groupIds: [] // every object is owned by at least a group.

}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages