1+ const Path = require ( 'path' )
2+ const debug = require ( 'debug' ) ( 'test.server-db' )
3+ const Dataparty = require ( '../src' )
4+
5+ const BouncerServerModels = require ( '@dataparty/bouncer-model' )
6+ const BouncerClientModels = require ( '@dataparty/bouncer-model/dist/bouncer-model.json' )
7+
8+ class ExampleService extends Dataparty . IService {
9+ constructor ( opts ) {
10+ super ( opts )
11+
12+ this . addMiddleware ( Dataparty . middleware_paths . pre . decrypt )
13+ this . addMiddleware ( Dataparty . middleware_paths . pre . validate )
14+
15+ this . addMiddleware ( Dataparty . middleware_paths . post . validate )
16+ this . addMiddleware ( Dataparty . middleware_paths . post . encrypt )
17+
18+ this . addEndpoint ( Dataparty . endpoint_paths . echo )
19+ this . addEndpoint ( Dataparty . endpoint_paths . secureecho )
20+ this . addEndpoint ( Dataparty . endpoint_paths . identity )
21+ this . addEndpoint ( Dataparty . endpoint_paths . version )
22+ }
23+
24+ }
25+
26+ async function main ( ) {
27+
28+ const uri = 'mongodb://localhost:27017/server-party-test'
29+ debug ( 'db location' , uri )
30+
31+ let party = new Dataparty . MongoParty ( {
32+ uri,
33+ model : BouncerClientModels ,
34+ serverModels : BouncerServerModels ,
35+ config : new Dataparty . Config . MemoryConfig ( )
36+ } )
37+
38+ const service = new ExampleService ( { name : '@dataparty/example' , version : '0.0.1' } )
39+
40+ const build = await service . compile ( Path . join ( __dirname , '/dataparty' ) , true )
41+
42+ debug ( 'built' , Object . keys ( build ) )
43+
44+ const runner = new Dataparty . ServiceRunnerNode ( {
45+ party, service,
46+ sendFullErrors : true
47+ } )
48+
49+ const host = new Dataparty . ServiceHost ( {
50+ runner,
51+ trust_proxy : true ,
52+ wsEnabled : true
53+ } )
54+
55+ await party . start ( )
56+ await runner . start ( )
57+ await host . start ( )
58+
59+ console . log ( 'started' )
60+
61+ //process.exit()
62+ }
63+
64+
65+
66+ main ( ) . catch ( err => {
67+ console . error ( err )
68+ } )
0 commit comments