31 lines
906 B
TypeScript
31 lines
906 B
TypeScript
|
import { api } from "../../../entity/user/api";
|
||
|
import PermissionHelper from "../../../helpers/permissionHelper";
|
||
|
import { ApiViewModel } from "../../../viewmodel/admin/user/api.models";
|
||
|
|
||
|
export default abstract class ApiFactory {
|
||
|
/**
|
||
|
* @description map record to api
|
||
|
* @param {api} record
|
||
|
* @returns {apiViewModel}
|
||
|
*/
|
||
|
public static mapToSingle(record: api): ApiViewModel {
|
||
|
return {
|
||
|
id: record.id,
|
||
|
permissions: PermissionHelper.convertToObject(record.permissions.map((e) => e.permission)),
|
||
|
title: record.title,
|
||
|
expiry: record.expiry,
|
||
|
lastUsage: record.lastUsage,
|
||
|
createdAt: record.createdAt,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @description map records to api
|
||
|
* @param {Array<api>} records
|
||
|
* @returns {Array<apiViewModel>}
|
||
|
*/
|
||
|
public static mapToBase(records: Array<api>): Array<ApiViewModel> {
|
||
|
return records.map((r) => this.mapToSingle(r));
|
||
|
}
|
||
|
}
|