ff-admin-server/src/factory/admin/user/webapi.ts

31 lines
927 B
TypeScript
Raw Normal View History

2025-01-22 09:39:31 +01:00
import { webapi } from "../../../entity/user/webapi";
2025-01-21 11:47:28 +01:00
import PermissionHelper from "../../../helpers/permissionHelper";
2025-01-22 09:39:31 +01:00
import { ApiViewModel } from "../../../viewmodel/admin/user/webapi.models";
2025-01-21 11:47:28 +01:00
export default abstract class ApiFactory {
/**
* @description map record to api
2025-01-22 09:39:31 +01:00
* @param {webapi} record
2025-01-21 11:47:28 +01:00
* @returns {apiViewModel}
*/
2025-01-22 09:39:31 +01:00
public static mapToSingle(record: webapi): ApiViewModel {
2025-01-21 11:47:28 +01:00
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
2025-01-22 09:39:31 +01:00
* @param {Array<webapi>} records
2025-01-21 11:47:28 +01:00
* @returns {Array<apiViewModel>}
*/
2025-01-22 09:39:31 +01:00
public static mapToBase(records: Array<webapi>): Array<ApiViewModel> {
2025-01-21 11:47:28 +01:00
return records.map((r) => this.mapToSingle(r));
}
}