26 lines
797 B
TypeScript
26 lines
797 B
TypeScript
import { query } from "../../entity/query";
|
|
import { QueryStoreViewModel } from "../../viewmodel/admin/queryStore.models";
|
|
|
|
export default abstract class QueryStoreFactory {
|
|
/**
|
|
* @description map record to queryStore
|
|
* @param {queryStore} record
|
|
* @returns {QueryStoreViewModel}
|
|
*/
|
|
public static mapToSingle(record: query): QueryStoreViewModel {
|
|
return {
|
|
id: record.id,
|
|
title: record.title,
|
|
query: record.query.startsWith("{") ? JSON.parse(record.query) : record.query,
|
|
};
|
|
}
|
|
|
|
/**
|
|
* @description map records to queryStore
|
|
* @param {Array<queryStore>} records
|
|
* @returns {Array<QueryStoreViewModel>}
|
|
*/
|
|
public static mapToBase(records: Array<query>): Array<QueryStoreViewModel> {
|
|
return records.map((r) => this.mapToSingle(r));
|
|
}
|
|
}
|