UserAccessService
Source: UserAccessService.js:51
Service for managing user access relationships. Handles CRUD operations for owner-child access permissions. A child can have access to multiple owners.
Constructor
new UserAccessService(): UserAccessServiceInstance Methods
isAccessSharingEnabled(): Promise.<boolean>
Check if the ACCESS_SHARING feature flag is enabled.
Returns
Promise.<boolean>— True if access sharing is enabled.
findByOwnerAndChild(
ownerId: UUID,
childId: UUID,
): Promise.<(UserAccess|null)>
Find a user access relationship by owner and child IDs.
Parameters
Returns
Promise.<(UserAccess|null)>— The user access object or null if not found.
getChildren(ownerId: UUID): Promise.<Array>
Get all children for an owner.
Parameters
ownerId(UUID) — The owner's user ID.
Returns
Promise.<Array>— Array of user access objects.
getOwners(childId: UUID): Promise.<Array>
Get all owners for a child.
Parameters
childId(UUID) — The child's user ID.
Returns
Promise.<Array>— Array of user access objects.
create(
ownerId: UUID,
childId: UUID,
role: AccessRole,
enabled: boolean,
): Promise.<UserAccess>
Create a new user access relationship.
Parameters
ownerId(UUID) — The owner's user ID.childId(UUID) — The child's user ID.role(AccessRole) — The access role.enabled(boolean, default: true) — Whether the access is enabled.
Returns
Promise.<UserAccess>— The created user access object.
update(
id: UUID,
data: object,
ownerId: UUID,
): Promise.<UserAccess>
Update an existing user access relationship.
Parameters
id(UUID) — The user access ID.data(object) — The data to update (role, enabled).ownerId(UUID) — The owner's user ID (for authorization).
Returns
Promise.<UserAccess>— The updated user access object.
remove(id: UUID, ownerId: UUID): Promise.<void>
Remove a user access relationship.
Parameters
Returns
Promise.<void>
accept(id: UUID, childId: UUID): Promise.<UserAccess>
Accept an access invitation.
Parameters
Returns
Promise.<UserAccess>— The updated user access object.
decline(id: UUID, childId: UUID): Promise.<UserAccess>
Decline an access invitation.
Parameters
Returns
Promise.<UserAccess>— The deleted user access object.
findByUsername(username: string): Promise.<(User|null)>
Find a user by username.
Parameters
username(string) — The username to search for.
Returns
Promise.<(User|null)>— The user object or null if not found.
hasAccess(ownerId: UUID, childId: UUID): Promise.<boolean>
Check if a user has access to another user's data.
Parameters
Returns
Promise.<boolean>— Whether the child has access.
getRole(ownerId, childId): Promise.<(AccessRole|null)>
Get the role for a child accessing owner's data.
Parameters
ownerId— The owner's user ID.childId— The child's user ID.
Returns
Promise.<(AccessRole|null)>— The role or null if no access.