3 'app/yangman/models/historylist.model',
4 'app/yangman/models/collectionlist.model',
5 'app/yangman/models/history-request.model',
7 function (HistoryListModel, CollectionListModel, HistoryRequestModel) {
10 angular.module('app.yangman').service('RequestsService', RequestsService);
12 RequestsService.$inject = ['PathUtilsService', 'ParsingJsonService', 'YangUtilsService'];
14 function RequestsService(PathUtilsService, ParsingJsonService, YangUtilsService){
18 service.createEmptyCollectionList = createEmptyCollectionList;
19 service.createEmptyHistoryList = createEmptyHistoryList;
20 service.createHistoryRequestFromElement = createHistoryRequestFromElement;
21 service.createHistoryRequest = createHistoryRequest;
22 service.validateFile = validateFile;
25 * Validating collection import file
30 function validateFile(data, checkArray){
32 var obj = ParsingJsonService.parseJson(data);
34 return obj && obj.every(function (el){
35 return checkArray.every(function (arr){
36 return el.hasOwnProperty(arr);
45 * Service for creating basic history object
49 * @param parametrizedPath
54 * @param getApiFunction
55 * @returns {HistoryRequest}
57 function createHistoryRequest(sentData, receivedData, path, parametrizedPath, operation, status, name,
58 collection, timestamp, getApiFunction){
60 var api = (getApiFunction || angular.noop)(path),
61 receivedDataProcessed = status === 'success' ? receivedData : null,
62 result = new HistoryRequestModel(PathUtilsService, YangUtilsService, ParsingJsonService);
64 result.setData(sentData, receivedDataProcessed, status, path, parametrizedPath, operation, api, name,
65 collection, timestamp);
71 * Creating {HistoryRequest} from elem containing all necessary data
72 * @param {Object} elem
73 * @param {function} getApiFunction
74 * @returns {HistoryRequest}
76 function createHistoryRequestFromElement(elem, getApiFunction) {
77 return service.createHistoryRequest(elem.sentData, elem.receivedData,
78 elem.path, elem.parametrizedPath,
79 elem.method, elem.status, elem.name,
80 elem.collection, elem.timestamp, getApiFunction);
84 * Service for creating empty collection list
86 * @param getApiFunction
87 * @returns {CollectionList}
89 function createEmptyCollectionList(name, getApiFunction){
90 var result = new CollectionListModel(ParsingJsonService, service);
92 result.setGetApiFunction(getApiFunction);
97 * Service for creating empty history list
99 * @param getApiFunction
100 * @returns {HistoryList}
102 function createEmptyHistoryList(name, getApiFunction){
103 var result = new HistoryListModel(ParsingJsonService, service);
104 result.setName(name);
105 result.setGetApiFunction(getApiFunction);