Skip to content
This repository has been archived by the owner on Jan 9, 2023. It is now read-only.

Commit

Permalink
Merge pull request #1058 from HospitalRun/hospitalrun-electron
Browse files Browse the repository at this point in the history
HospitalRun electron
  • Loading branch information
tangollama authored Apr 21, 2017
2 parents ed9b002 + 889a5a5 commit 4571370
Show file tree
Hide file tree
Showing 87 changed files with 23,816 additions and 3,527 deletions.
38 changes: 33 additions & 5 deletions .snyk
Original file line number Diff line number Diff line change
@@ -1,13 +1,41 @@
version: v1.5.2
# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities.
version: v1.7.0
failThreshold: high
ignore: {}
# ignores vulnerabilities until expiry date; change duration by modifying expiry date
ignore:
'npm:concat-stream:20160901':
- ember-electron > electron-forge > electron-packager > extract-zip > concat-stream:
reason: None given
expires: '2017-05-19T14:53:23.081Z'
# patches apply the minimum changes required to fix a vulnerability
patch:
'npm:minimatch:20160620':
- ember-inflector > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
patched: '2016-07-06T20:50:31.952Z'
ember-rapid-forms > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
patched: '2016-09-29T20:23:59.408Z'
ember-electron > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
patched: '2017-04-19T14:48:55.772Z'
- ember-inflector > ember-cli-babel > broccoli-babel-transpiler > babel-core > regenerator > commoner > glob > minimatch:
patched: '2016-07-06T20:50:31.952Z'
ember-rapid-forms > ember-validations > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
ember-electron > ember-inspector > ember-new-computed > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
patched: '2017-04-19T14:48:55.772Z'
- ember-rapid-forms > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
patched: '2016-09-29T20:23:59.408Z'
ember-electron > electron-forge > zip-folder > archiver > glob > minimatch:
patched: '2017-04-19T14:48:55.772Z'
- ember-rapid-forms > ember-validations > ember-cli-babel > broccoli-babel-transpiler > babel-core > minimatch:
patched: '2016-09-29T20:23:59.408Z'
'npm:qs:20170213':
- ember-electron > npmi > npm > node-gyp > request > qs:
patched: '2017-04-19T14:48:55.772Z'
- ember-electron > npmi > npm > request > qs:
patched: '2017-04-19T14:48:55.772Z'
- ember-electron > npmi > npm > npm-registry-client > request > qs:
patched: '2017-04-19T14:48:55.772Z'
'npm:semver:20150403':
- ember-electron > electron-forge > electron-windows-store > flatten-packages > semver:
patched: '2017-04-19T14:48:55.772Z'
'npm:ws:20160920':
- ember-electron > testem > socket.io > engine.io > ws:
patched: '2017-04-19T14:48:55.772Z'
- ember-electron > testem > socket.io > socket.io-client > engine.io-client > ws:
patched: '2017-04-19T14:48:55.772Z'
20 changes: 13 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,34 @@ sudo: required
addons:
apt:
sources:
- google-chrome
- ubuntu-toolchain-r-test
packages:
- google-chrome-stable
- g++-4.8

cache:
directories:
- $HOME/.npm
- $HOME/.cache # includes bowers cache

before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- npm config set spin false
- npm install -g bower phantomjs-prebuilt
- bower --version
- phantomjs --version
- google-chrome --version


install:
- npm install
- bower install
- export DISPLAY=':99.0'
- Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &

script:
- travis_retry npm test
- npm run $COMMAND

env:
matrix:
- COMMAND=test
- CXX=g++-4.8 COMMAND=electron-test



37 changes: 35 additions & 2 deletions app/adapters/application.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
import CheckForErrors from 'hospitalrun/mixins/check-for-errors';
import Ember from 'ember';
import uuid from 'npm:uuid';
import withTestWaiter from 'ember-concurrency-test-waiter/with-test-waiter';
import { Adapter } from 'ember-pouch';
import { task } from 'ember-concurrency';

const {
computed: {
reads
},
get,
run: {
bind
}
} = Ember;

export default Adapter.extend({
export default Adapter.extend(CheckForErrors, {
config: Ember.inject.service(),
database: Ember.inject.service(),
db: Ember.computed.reads('database.mainDB'),
db: reads('database.mainDB'),
standAlone: reads('config.standAlone'),

_specialQueries: [
'containsValue',
Expand All @@ -23,6 +29,10 @@ export default Adapter.extend({
_esDefaultSize: 25,

_executeContainsSearch(store, type, query) {
let standAlone = get(this, 'standAlone');
if (standAlone) {
return this._executePouchDBFind(store, type, query);
}
return new Ember.RSVP.Promise((resolve, reject) => {
let typeName = this.getRecordTypeName(type);
let searchUrl = `/search/hrdb/${typeName}/_search`;
Expand Down Expand Up @@ -81,6 +91,29 @@ export default Adapter.extend({
});
},

_executePouchDBFind(store, type, query) {
this._init(store, type);
let db = this.get('db');
let recordTypeName = this.getRecordTypeName(type);
let queryParams = {
selector: {
$or: []
}
};
if (query.containsValue && query.containsValue.value) {
let regexp = new RegExp(query.containsValue.value, 'i');
query.containsValue.keys.forEach((key) => {
let subQuery = {};
subQuery[`data.${key.name}`] = { $regex: regexp };
queryParams.selector.$or.push(subQuery);
});
}

return db.find(queryParams).then((pouchRes) => {
return db.rel.parseRelDocs(recordTypeName, pouchRes.docs);
});
},

_handleQueryResponse(response, store, type) {
let database = this.get('database');
return new Ember.RSVP.Promise((resolve, reject) => {
Expand Down
Loading

0 comments on commit 4571370

Please # to comment.