+
+ this.columns = [
+ { id: 'username', label: 'Username' },
+ { id: 'email', label: 'Email' },
+ { id: 'quota', label: 'Video quota' },
+ { id: 'role', label: 'Role' },
+ { id: 'createdAt', label: 'Created' }
+ ]
+
+ this.selectedColumns = this.columns.map(c => c.id)
+
+ this.columns.push({ id: 'quotaDaily', label: 'Daily quota' })
+ this.columns.push({ id: 'pluginAuth', label: 'Auth plugin' })
+ this.columns.push({ id: 'lastLoginDate', label: 'Last login' })
+ }
+
+ getIdentifier () {
+ return 'UserListComponent'
+ }
+
+ getRoleClass (role: UserRole) {
+ switch (role) {
+ case UserRole.ADMINISTRATOR:
+ return 'badge-purple'
+ case UserRole.MODERATOR:
+ return 'badge-blue'
+ default:
+ return 'badge-yellow'
+ }
+ }
+
+ isSelected (id: string) {
+ return this.selectedColumns.find(c => c === id)
+ }
+
+ getColumn (id: string) {
+ return this.columns.find(c => c.id === id)
+ }
+
+ getUserVideoQuotaPercentage (user: UserForList) {
+ return user.rawVideoQuotaUsed * 100 / user.rawVideoQuota
+ }
+
+ getUserVideoQuotaDailyPercentage (user: UserForList) {
+ return user.rawVideoQuotaUsedDaily * 100 / user.rawVideoQuotaDaily