<th i18n>Email</th>
<th i18n pSortableColumn="videoQuotaUsed">Video quota <p-sortIcon field="videoQuotaUsed"></p-sortIcon></th>
<th i18n>Role</th>
+ <th i18n>Auth plugin</th>
<th i18n pSortableColumn="createdAt">Created <p-sortIcon field="createdAt"></p-sortIcon></th>
<th style="width: 50px;"></th>
</tr>
<td>{{ user.videoQuotaUsed }} / {{ user.videoQuota }}</td>
<td>{{ user.roleLabel }}</td>
+
+ <td>
+ <ng-container *ngIf="user.pluginAuth">{{ user.pluginAuth }}</ng-container>
+ </td>
+
<td [title]="user.createdAt">{{ user.createdAt }}</td>
+
<td class="action-cell">
<my-user-moderation-dropdown *ngIf="!isInSelectionMode()" [user]="user" (userChanged)="onUserChanged()" (userDeleted)="onUserChanged()">
</my-user-moderation-dropdown>
noInstanceConfigWarningModal: boolean
noWelcomeModal: boolean
+ pluginAuth: string | null
+
createdAt: Date
constructor (hash: Partial<UserServerModel>) {
this.createdAt = hash.createdAt
+ this.pluginAuth = hash.pluginAuth
+
if (hash.account !== undefined) {
this.account = new Account(hash.account)
}
videoChannels: [],
- createdAt: this.createdAt
+ createdAt: this.createdAt,
+
+ pluginAuth: this.pluginAuth
}
if (parameters.withAdminFlags) {
updateMyUser,
userLogin,
wait,
- login, refreshToken, getConfig, updatePluginSettings
+ login, refreshToken, getConfig, updatePluginSettings, getUsersList
} from '../../../shared/extra-utils'
import { User, UserRole, ServerConfig } from '@shared/models'
import { expect } from 'chai'
expect(crashAuth).to.not.exist
})
+ it('Should display plugin auth information in users list', async function () {
+ const res = await getUsersList(server.url, server.accessToken)
+
+ const users: User[] = res.body.data
+
+ const root = users.find(u => u.username === 'root')
+ const crash = users.find(u => u.username === 'crash')
+ const laguna = users.find(u => u.username === 'laguna')
+
+ expect(root.pluginAuth).to.be.null
+ expect(crash.pluginAuth).to.equal('peertube-plugin-test-id-pass-auth-one')
+ expect(laguna.pluginAuth).to.equal('peertube-plugin-test-id-pass-auth-two')
+ })
+
after(async function () {
await cleanupTests([ server ])
})