mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-19 14:20:31 +00:00
feat(server): add user transformer
This commit is contained in:
50
packages/server/src/services/Users/UserTransformer.ts
Normal file
50
packages/server/src/services/Users/UserTransformer.ts
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
import { Transformer } from '@/lib/Transformer/Transformer';
|
||||||
|
|
||||||
|
export class UserTransformer extends Transformer {
|
||||||
|
/**
|
||||||
|
* Exclude these attributes from user object.
|
||||||
|
* @returns {Array}
|
||||||
|
*/
|
||||||
|
public excludeAttributes = (): string[] => {
|
||||||
|
return ['role'];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Includeded attributes.
|
||||||
|
* @returns {string[]}
|
||||||
|
*/
|
||||||
|
public includeAttributes = (): string[] => {
|
||||||
|
return ['roleName', 'roleDescription', 'roleSlug'];
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the localized role name if is predefined or stored name.
|
||||||
|
* @param role
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
public roleName(user) {
|
||||||
|
return user.role.predefined
|
||||||
|
? this.context.i18n.__(user.role.name)
|
||||||
|
: user.role.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the localized role description if is predefined or stored description.
|
||||||
|
* @param user
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
public roleDescription(user) {
|
||||||
|
return user.role.predefined
|
||||||
|
? this.context.i18n.__(user.role.description)
|
||||||
|
: user.role.description;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves the role slug.
|
||||||
|
* @param user
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
public roleSlug(user) {
|
||||||
|
return user.role.slug;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user