27 lines
960 B
JavaScript
27 lines
960 B
JavaScript
import { buildRolesField } from './rolesField.js';
|
|
/**
|
|
* Injects the fixed `roles` field into the client's auth collection.
|
|
*
|
|
* The plugin owns the role definition; the client owns the collection. This
|
|
* finds the collection by slug and appends the field. We control the whole
|
|
* stack, so no conflict handling is needed — the field is simply added.
|
|
*/ export function injectRoles(config, access) {
|
|
const rolesField = buildRolesField(access.defaultRole);
|
|
return {
|
|
...config,
|
|
collections: (config.collections ?? []).map((collection)=>{
|
|
if (collection.slug !== access.authCollection) {
|
|
return collection;
|
|
}
|
|
return {
|
|
...collection,
|
|
fields: [
|
|
...collection.fields,
|
|
rolesField
|
|
]
|
|
};
|
|
})
|
|
};
|
|
} //# sourceMappingURL=injectRoles.js.map
|
|
|
|
//# sourceMappingURL=injectRoles.js.map
|