Skip to content

Commit

Permalink
chore: add callback events to user activation (#31073)
Browse files Browse the repository at this point in the history
  • Loading branch information
ggazzo committed Nov 24, 2023
1 parent d09b882 commit de4c7de
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions apps/meteor/ee/app/authorization/server/callback.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,26 @@ import { License } from '@rocket.chat/license';
import { callbacks } from '../../../../lib/callbacks';
import { validateUserRoles } from './validateUserRoles';

License.onInstall(async () => {
License.onInstall(() => {
callbacks.add(
'beforeSaveUser',
async ({ user, oldUser }) => {
await validateUserRoles(user, oldUser);
},
async ({ user, oldUser }) => validateUserRoles(user, oldUser),
callbacks.priority.HIGH,
'validateUserRoles',
);
callbacks.add('afterSaveUser', () => License.shouldPreventAction('activeUsers'), callbacks.priority.HIGH, 'validateUserRoles');
callbacks.add('afterDeleteUser', () => License.shouldPreventAction('activeUsers'), callbacks.priority.HIGH, 'validateUserRoles');

callbacks.add('afterDeactivateUser', () => License.shouldPreventAction('activeUsers'), callbacks.priority.HIGH, 'validateUserStatus');

callbacks.add('beforeActivateUser', () => License.shouldPreventAction('activeUsers'), callbacks.priority.HIGH, 'validateUserStatus');
});

License.onInvalidate(async () => {
License.onInvalidate(() => {
callbacks.remove('beforeSaveUser', 'validateUserRoles');
callbacks.remove('afterSaveUser', 'validateUserRoles');
callbacks.remove('afterDeleteUser', 'validateUserRoles');

callbacks.remove('afterDeactivateUser', 'validateUserStatus');
callbacks.remove('beforeActivateUser', 'validateUserStatus');
});

0 comments on commit de4c7de

Please sign in to comment.