mirror of
https://github.com/atlanticbiomedical/biomedjs.git
synced 2025-07-02 00:47:26 -04:00
190 lines
5.9 KiB
JavaScript
190 lines
5.9 KiB
JavaScript
angular.module('biomed.services', [])
|
|
.factory("Clients", function($resource) {
|
|
return $resource('/api/clients/:id/:cmd',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
frequencies: { method: 'GET', params: { cmd: 'frequencies' }, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
workorders: { method: 'GET', params: { id: 0, cmd: 'workorders' }, isArray: true },
|
|
devices: { method: 'GET', params: { id: 0, cmd: 'devices' }, isArray: true },
|
|
tags: { method: 'GET', params: { id: 0, cmd: 'tags' }, isArray: true },
|
|
isUnique: { method: 'GET', params: { cmd: 'isUnique' } },
|
|
});
|
|
})
|
|
.factory("DeviceTypes", function($resource) {
|
|
return $resource('/api/device_types/:id/:cmd',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
categories: { method: 'GET', params: { cmd: 'categories' }, isArray: true },
|
|
makes: { method: 'GET', params: { cmd: 'makes' }, isArray: true },
|
|
models: { method: 'GET', params: { cmd: 'models' }, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
});
|
|
})
|
|
.factory("Devices", function($resource) {
|
|
return $resource('/api/devices/:id/:cmd',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
testRuns: { method: 'GET', params: { id: 0, cmd: 'test_runs' }, isArray: true },
|
|
isUnique: { method: 'GET', params: { cmd: 'isUnique' } },
|
|
});
|
|
})
|
|
.factory("CheckLists", function($resource) {
|
|
return $resource('/api/check_lists/:id/:cmd',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
});
|
|
})
|
|
.factory("TestRuns", function($resource) {
|
|
return $resource('/api/test_runs/:id/:cmd',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
});
|
|
})
|
|
.factory("Posts", function($resource) {
|
|
return $resource('/api/posts/:id',
|
|
{ id: "@id" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
});
|
|
})
|
|
.factory("Workorders", function($resource) {
|
|
return $resource('/api/workorders/:id',
|
|
{ id: "@id" },
|
|
{
|
|
index: { method: 'GET', params: {}, isArray: true },
|
|
get: { method: 'GET', params: { id: 0} },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0} },
|
|
destroy: { method: 'DELETE', params: { id: 0 } },
|
|
});
|
|
})
|
|
.factory("Pms", function($resource) {
|
|
return $resource('/api/pms',
|
|
{},
|
|
{
|
|
index: { method: 'GET', isArray: true },
|
|
});
|
|
})
|
|
.factory("Users", function($resource) {
|
|
return $resource('/api/users/:id/:cmd',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
index: { method: 'GET', isArray: true },
|
|
details: { method: 'GET', params: { cmd: 'details' }, isArray: true },
|
|
create: { method: 'POST', params: {} },
|
|
update: { method: 'POST', params: { id: 0 } },
|
|
clocks: { method: 'GET', params: { id: 0, cmd: 'clocks' }, isArray: true }
|
|
});
|
|
})
|
|
.factory("Schedule", function($resource) {
|
|
return $resource('/api/schedule', { },
|
|
{
|
|
index: { method: 'GET', isArray: true },
|
|
});
|
|
})
|
|
.factory("Account", function($resource) {
|
|
return $resource('/api/account',
|
|
{ id: "@id", cmd: "@cmd" },
|
|
{
|
|
get: { method: 'GET' },
|
|
});
|
|
})
|
|
.factory("Messages", function($resource) {
|
|
return $resource('/api/messages/:cmd',
|
|
{ cmd: "@cmd" },
|
|
{
|
|
send: { method: 'POST', params: { cmd: 'send' } },
|
|
});
|
|
})
|
|
.factory("LocationBinder", function($location, $timeout) {
|
|
var DATE_MATCHER = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
|
|
|
|
return function($scope, params, defaults) {
|
|
|
|
function init() {
|
|
var search = $location.search();
|
|
|
|
params.forEach(function(binding) {
|
|
var val = search[binding];
|
|
|
|
if (val) {
|
|
if (DATE_MATCHER.test(val)) {
|
|
val = new Date(val);
|
|
}
|
|
|
|
$scope[binding] = val;
|
|
} else if (defaults && defaults[binding]) {
|
|
$scope[binding] = defaults[binding];
|
|
}
|
|
});
|
|
}
|
|
init();
|
|
|
|
var updateTimeout;
|
|
function updateLocation() {
|
|
console.log("Update Timer Fired");
|
|
if (updateTimeout) $timeout.cancel(updateTimeout);
|
|
updateTimeout = $timeout(function() {
|
|
params.forEach(function(binding) {
|
|
|
|
var val = $scope[binding] || null;
|
|
if (angular.isDate(val)) {
|
|
val = val.toJSON();
|
|
}
|
|
|
|
$location.search(binding, val);
|
|
});
|
|
}, 1000);
|
|
}
|
|
|
|
params.forEach(function(binding) {
|
|
$scope.$watch(binding, function() {
|
|
updateLocation();
|
|
});
|
|
});
|
|
|
|
$scope.$on('$routeUpdate', function() {
|
|
console.log('Route updated');
|
|
var search = $location.search();
|
|
|
|
params.forEach(function(binding) {
|
|
var val = search[binding];
|
|
|
|
if (DATE_MATCHER.test(val)) {
|
|
val = new Date(val);
|
|
}
|
|
|
|
$scope[binding] = val;
|
|
});
|
|
});
|
|
}
|
|
});
|