import ApplicationSerializer from './application'; export default ApplicationSerializer.extend({ modelName: 'role', _hashForModel(model) { const json = ApplicationSerializer.prototype._hashForModel.apply( this, arguments ); const serializedUsers = model.users.models.map((user) => ({ scope_id: model.scope.id, id: user.id, type: 'user', })); const serializedGroups = model.groups.models.map((group) => ({ scope_id: model.scope.id, id: group.id, type: 'group', })); json.principals = [...serializedUsers, ...serializedGroups]; if (!json.principals.length) delete json.principals; // default grant scope if (!json.grant_scope_id) json.grant_scope_id = json.scope.id; return json; }, });