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