directus
1import type { FieldMeta } from '@directus/types';
2import { systemFieldRows } from '@directus/system-data';
3import formatTitle from '@directus/format-title';
4import { getAuthProviders } from './get-auth-providers.js';
5
6// Dynamically populate auth providers field
7export function getSystemFieldRowsWithAuthProviders(): FieldMeta[] {
8return systemFieldRows.map((systemField) => {
9if (systemField.collection === 'directus_users' && systemField.field === 'provider') {
10if (!systemField.options) systemField.options = {};
11
12systemField.options['choices'] = getAuthProviders().map(({ name }) => ({
13text: formatTitle(name),
14value: name,
15}));
16}
17
18return systemField;
19});
20}
21