30 lines
927 B
TypeScript
30 lines
927 B
TypeScript
import { webapi } from "../../../entity/user/webapi";
|
|
import PermissionHelper from "../../../helpers/permissionHelper";
|
|
import { ApiViewModel } from "../../../viewmodel/admin/user/webapi.models";
|
|
|
|
export default abstract class ApiFactory {
|
|
/**
|
|
* @description map record to api
|
|
* @param {webapi} record
|
|
* @returns {apiViewModel}
|
|
*/
|
|
public static mapToSingle(record: webapi): 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<webapi>} records
|
|
* @returns {Array<apiViewModel>}
|
|
*/
|
|
public static mapToBase(records: Array<webapi>): Array<ApiViewModel> {
|
|
return records.map((r) => this.mapToSingle(r));
|
|
}
|
|
}
|