1 | #!/usr/bin/env node
|
2 |
|
3 | var anonize = require('node-anonize2-relic-emscripten')
|
4 |
|
5 | process.on('message', function (request) {
|
6 | var d = function (err, result) {
|
7 | process.send({ msgno: request.msgno, err: err, result: result })
|
8 | }
|
9 |
|
10 | var f = {
|
11 | request:
|
12 | function () {
|
13 | var credential = new anonize.Credential(request.payload.credential)
|
14 | var proof = credential.request()
|
15 |
|
16 | return { credential: JSON.stringify(credential), proof: proof }
|
17 | },
|
18 |
|
19 | finalize:
|
20 | function () {
|
21 | var credential = new anonize.Credential(request.payload.credential)
|
22 |
|
23 | credential.finalize(request.payload.verification)
|
24 | return { credential: JSON.stringify(credential) }
|
25 | },
|
26 |
|
27 | submit:
|
28 | function () {
|
29 | var credential = new anonize.Credential(request.payload.credential)
|
30 | var surveyor = new anonize.Surveyor(request.payload.surveyor)
|
31 |
|
32 | return { payload: { proof: credential.submit(surveyor, request.payload.data) } }
|
33 | }
|
34 | }[request.operation]
|
35 | if (!f) return d('invalid operation')
|
36 |
|
37 | try {
|
38 | d(null, f())
|
39 | } catch (ex) {
|
40 | d(ex.toString())
|
41 | }
|
42 | })
|