{{ 'adminUsers.title' | translate }}

@if (facade.loading()) {
@for (i of [1,2,3]; track i) { } {{ 'common.loading' | translate }}
} @else if (facade.users().length === 0) { } @else { {{ 'adminUsers.name' | translate }} {{ 'adminUsers.scope' | translate }} {{ 'adminUsers.role' | translate }} {{ 'backoffice.status' | translate }} {{ 'adminUsers.lastLogin' | translate }} {{ 'adminProducts.actions' | translate }} @for (user of facade.users(); track user.id) { {{ user.name }}
{{ user.telegramUsername }} {{ ('adminUsers.scopeValue.' + user.scope) | translate }} {{ ('adminUsers.statusValue.' + user.status) | translate }} {{ user.lastLoginAt ? (user.lastLoginAt | date:'short') : '—' }} {{ (user.status === 'suspended' ? 'adminUsers.reactivate' : 'adminUsers.suspend') | translate }} {{ 'adminUsers.sessions' | translate }} {{ 'adminTransactions.audit' | translate }} }
}

{{ 'adminUsers.invite' | translate }}

{{ 'adminUsers.passwordlessHint' | translate }}

{{ 'adminUsers.sendInvite' | translate }}
@if (facade.invitations().length > 0) { {{ 'adminUsers.email' | translate }} {{ 'adminUsers.role' | translate }} {{ 'backoffice.status' | translate }} {{ 'adminProducts.actions' | translate }} @for (invite of facade.invitations(); track invite.id) { {{ invite.email }} {{ facade.roleName(invite.roleId) }} {{ ('adminUsers.invitationStatus.' + invite.status) | translate }} @if (invite.status === 'pending') { {{ 'adminUsers.revoke' | translate }} } } } @else { }

{{ 'adminUsers.roles' | translate }}

@for (role of facade.roles(); track role.id) {

{{ role.name }} — {{ role.permissions.join(', ') }}

}
@for (session of facade.sessions(); track session.id) {

{{ session.device }} — {{ session.ip }} — {{ session.lastActiveAt | date:'short' }} @if (session.current) { {{ 'adminUsers.currentSession' | translate }} } @else { {{ 'adminUsers.revoke' | translate }} }

}
@for (entry of facade.audit(); track $index) {

{{ entry.timestamp | date:'short' }} — {{ entry.actor }} — {{ entry.action }}

}