1
0
Fork 0
Data collection, validation, and processing framework for JavaScript [archive]
 
 
 
 
 
 
Go to file
Mike Gerwitz 1f66a25658 TokenDao: Better error handling for unknown tokens
Rather than replying with null, which complicates using the returned promise
efficiently, we'll respond with a unique error that allows us to distinguish
between a database failure and a missing token.

These are more traditional errors, but we're moving toward structured
logging, so I want error objects that provide more context.  I'll explore
that a bit more in next commit.  Unfortunately, the untypedness of Promise
rejections make for a less than desirable situation here.  Async/await is
not yet an option since we're still compiling to ES5 (have to support
IE11), and TS compiles async/await into generators for environments that
don't support them, which also are not available in ES5.

* src/server/service/TokenedService.js (_getQuoteToken): Remove null check,
  since this situation can no longer occur.
* src/server/token/MongoTokenDao.ts (getToken): Remove null from return type
  union; reject with `UnknownTokenError' instead.
* src/server/token/TokenDao.ts: Modify interface accordingly.
* src/server/token/UnknownTokenError.ts: New class.
* test/server/token/MongoTokenDaoTest.ts: Modify tests accordingly.  Add
  missing test for latest token namespace missing.
2019-10-17 11:47:14 -04:00
bin bin/server.in: exec 2017-10-06 11:18:56 -04:00
build-aux Force tags for the version 2018-08-20 17:07:59 -04:00
conf Exclusively use RatingServicePublish over submit URL 2019-03-26 11:01:16 -04:00
doc server: Correct liza_timestamp_initial_rated to be a vector 2019-02-07 09:57:45 -05:00
src TokenDao: Better error handling for unknown tokens 2019-10-17 11:47:14 -04:00
test TokenDao: Better error handling for unknown tokens 2019-10-17 11:47:14 -04:00
tools LoVullo Associates => R-T Specialty 2017-06-08 14:48:43 -04:00
.gitignore Generate .gitignores for compiled JS files 2019-10-17 11:47:14 -04:00
.gitlab-ci.yml DEVOPS-151 - gitlab-ci - Splitting up make commands so that the console output has the test (make check) results last 2019-05-09 08:57:48 -04:00
COPYING Placeholder README.md and license 2014-01-16 11:44:02 -05:00
COPYING.AGPL Near-complete liberation of liza 2017-06-08 14:38:28 -04:00
HACKING HACKING: Mention semver 2019-06-17 10:55:30 -04:00
Makefile.am Makefile.am: Copyright range update 2019-10-17 11:47:14 -04:00
README.md Build typescript files 2019-10-17 11:47:14 -04:00
autogen.sh LoVullo Associates => R-T Specialty 2017-06-08 14:48:43 -04:00
configure.ac Add information for invoking `make' 2017-09-06 14:18:02 -04:00
index.js LoVullo Associates => R-T Specialty 2017-06-08 14:48:43 -04:00
npm-shrinkwrap.json Build typescript files 2019-10-17 11:47:14 -04:00
package.json.in package.json.in: Restrict chai-as-promised and add @types 2019-10-17 11:47:14 -04:00
tsconfig.json Build typescript files 2019-10-17 11:47:14 -04:00

README.md

Liza Data Collection Framework

Liza is a data collection, validation, and processing framework for JavaScript.

About

The Liza Data Collection Framework—"Liza" for short—is an effort to clean up, formalize, and expand upon a framework that was developed at RT Specialty / LoVullo for collecting, validating, and processing large amounts of user input for insurance quoting.

Configuring

If your distribution does not contain a `configure' file in the project root, then you likely have the sources as committed to the project repository; you may generate the script by issuing the following command:

  $ ./autogen.sh

You may then see ./configure --help for more information.

Building

If configure is not available, see the section "Configuring" above.

  $ ./configure   # see --help for optional arguments
  $ npm install   # install js dependencies
  $ make          # build
  $ make check    # run test cases

Documentation

Compiled documentation for the latest release is available via our GitLab mirror, which uses the same build pipeline as we do on our internal GitLab instance. Available formats are:

Hacking

For more information on hacking Liza and publishing to npm, see HACKING.

License

Liza is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The liza server is licensed differently: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

The full licenses are available in COPYING and COPYING.AGPL.