add server to monorepo.

This commit is contained in:
a.bouhuolia
2023-02-03 11:57:50 +02:00
parent 28e309981b
commit 80b97b5fdc
1303 changed files with 137049 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
import { pick } from 'lodash';
import {
ITenantUser,
ITenantUserActivatedPayload,
ITenantUserDeletedPayload,
ITenantUserEditedPayload,
ITenantUserInactivatedPayload,
} from '@/interfaces';
import events from '@/subscribers/events';
import { SystemUser } from '@/system/models';
export default class SyncTenantUserMutate {
/**
* Attaches events with handlers.
* @param bus
*/
attach(bus) {
bus.subscribe(events.tenantUser.onEdited, this.syncSystemUserOnceEdited);
bus.subscribe(
events.tenantUser.onActivated,
this.syncSystemUserOnceActivated
);
bus.subscribe(
events.tenantUser.onInactivated,
this.syncSystemUserOnceInactivated
);
}
/**
*
* @param tenantUser
*/
private syncSystemUserOnceEdited = async ({
tenantUser,
}: ITenantUserEditedPayload) => {
await SystemUser.query()
.where('id', tenantUser.systemUserId)
.patch({
...pick(tenantUser, [
'firstName',
'lastName',
'email',
'active',
'phoneNumber',
]),
});
};
/**
* Syncs activate system user.
* @param {ITenantUserInactivatedPayload} payload -
*/
private syncSystemUserOnceActivated = async ({
tenantUser,
}: ITenantUserInactivatedPayload) => {
await SystemUser.query().where('id', tenantUser.systemUserId).patch({
active: true,
});
};
/**
* Syncs inactivate system user.
* @param {ITenantUserActivatedPayload} payload -
*/
private syncSystemUserOnceInactivated = async ({
tenantUser,
}: ITenantUserActivatedPayload) => {
await SystemUser.query().where('id', tenantUser.systemUserId).patch({
active: false,
});
};
}