Users

An user identifies a physical person that interacts with accsyn, and access is role based with three major roles/clearance levels:

  • Administrator; Have full access to everything, this include transfer files and administrate accsyn.

  • Employee; Have full access to transfer files, and view configuration.

  • User; (Standard) Have access to download file packages sent to them, and to shares given explicit access through ACLs (Access Control Lists).

Query

To list all users:

all_users = session.find('User')

List only employees:

all_users = session.find('User where role=employee')

Create

To invite a new user:

user = session.create("User",{
    "code":"lisa@user.com",
})

A dict will be returned containing user attributes:

{
    "id": "61bf395c46ed6081a2b2afc0",
    "code": "lisa@user.com",
    "name": "",
    "role": "user",
    "description": "",
    "logged_in": "1970-01-01T01:00:00",
    "phase": "joined",
    "queue": "",
    "status": "enabled",
    "metadata": {},
    "created": "2021-12-19T14:53:31",
    "modified": "2022-01-19T18:56:16",
    "modifier": "61bf395c46ed6081a2b2afc0",
}

Explanation of the returned attributes:

  • id: The internal accsyn user id, use this when modifying the user later on.

  • code: The unique email user Email address.

  • role: The role user has.

  • name: The name that user entered during registration phase.

  • description: Description of user.

  • status: The status of user, can be “enabled” or “disabled” - cannot login and all jobs put on hold.

  • logged_in: The last time user login.

  • phase: “activating”: user has received an activation email and response is awaiting, “joining”: user has requested to join, awaiting administrator to accept or deny request, “joined”: Normal active status.

  • creator: The user that created the user.

  • metadata: Job metadata dict.

  • created: Date of creation.

  • modified: Date of last modification.

  • modifier: The user that most recently modified the user.

Modify

To disable a user:

session.update('User', '61bf395c46ed6081a2b2afc0', {'status':"disabled"})

To change user clearance/role:

session.update('User', '61bf395c46ed6081a2b2afc0', {'role':"disabled"})

Offline

An user can be put offline, which means it will be removed from accsyn but still eglible for restore if you again create a user with the same identification (code):

session.offline_one('User', '61bf395c46ed6081a2b2afc0')

Note

  • Offlining a user also causes user home share to be put offline together with ACLs.

  • No jobs that involves the user can be active.

Delete

To delete a user:

session.delete_one('User', '61bf38d22650852bc50d5869')

Note

  • If you delete a user, all associated jobs are aborted.

  • Related user home share will also be deleted.

  • accsyn user account information are still preserved, as user could be member of another accsyn domain.