@@ -7,6 +7,16 @@ const prompt = require('prompt')
77
88let secureConfig = null
99
10+ const HELP_INFO = `
11+ help
12+ get
13+ set
14+ lock
15+ unlock
16+ id
17+ exit
18+ `
19+
1020async function main ( ) {
1121 const memoryConfig = new Dataparty . Config . MemoryConfig ( { foo : 'bar' } )
1222
@@ -18,25 +28,43 @@ async function main(){
1828
1929 secureConfig = new Dataparty . Config . SecureConfig ( {
2030 config : jsonConfig ,
21- timeoutMs : 15 * 1000 ,
31+ timeoutMs : 60 * 1000 ,
2232 argon : argon2
2333 } )
2434
2535
26- secureConfig . on ( 'locked' , ( ) => { console . log ( 'locked' ) } )
36+ secureConfig . on ( 'locked' , async ( ) => {
37+ console . log ( 'locked' )
2738
28- secureConfig . on ( 'unlocked' , async ( ) => {
29- console . log ( 'unlocked' )
39+ /*
40+ while(secureConfig.isLocked()){
41+ const {password} = await prompt.get({
42+ properties: {
43+ password: {
44+ message: 'Enter password',
45+ hidden: true
46+ }
47+ }})
48+
3049
31- await secureConfig . write ( 'timestamp' , Date . now ( ) )
50+ try{
51+ await secureConfig.unlock(password)
52+ }
53+ catch(err){
54+ console.log('bad password')
55+ }
56+ }
57+ */
3258 } )
3359
60+
61+
3462 secureConfig . on ( 'timeout' , ( ) => { console . log ( 'timeout' ) } )
3563
3664 secureConfig . on ( 'ready' , async ( ) => {
3765 console . log ( 'ready' )
3866
39- console . log ( 'config' , await secureConfig . readAll ( ) )
67+ // console.log('config', await secureConfig.readAll())
4068 } )
4169
4270 let blocked = false
@@ -71,6 +99,13 @@ async function main(){
7199
72100 } )
73101
102+ secureConfig . on ( 'unlocked' , async ( ) => {
103+ console . log ( 'unlocked' )
104+
105+ await secureConfig . write ( 'timestamp' , Date . now ( ) )
106+
107+ } )
108+
74109 secureConfig . on ( 'setup-required' , async ( ) => {
75110
76111 console . log ( 'setup-required' )
@@ -121,13 +156,59 @@ async function main(){
121156
122157 console . log ( 'wait over' )
123158
124- console . log ( 'main config' , await secureConfig . readAll ( ) )
159+ //console.log('main config', await secureConfig.readAll())
160+
161+ while ( 1 ) {
162+
163+ const { cmd} = await prompt . get ( {
164+ properties : {
165+ cmd : {
166+ message : 'command >'
167+ }
168+ } } )
169+
170+ if ( cmd && cmd . length > 0 ) {
171+ let parts = cmd . split ( ' ' )
172+
173+ switch ( parts [ 0 ] ) {
174+ case 'help' :
175+ console . log ( HELP_INFO )
176+ break
177+ case 'lock' :
178+ secureConfig . lock ( )
179+ break
180+ case 'get' :
181+ if ( parts . length == 1 ) {
182+ let value = await secureConfig . readAll ( )
183+ console . log ( value )
184+ } else {
185+ let value = await secureConfig . read ( parts [ 1 ] )
186+ console . log ( parts [ 1 ] , '=' , value )
187+ }
188+ break
189+ case 'set' :
190+ await secureConfig . write ( parts [ 1 ] , parts [ 2 ] )
191+ console . log ( parts [ 1 ] , '=' , parts [ 2 ] )
192+ break
193+ case 'id' :
194+ console . log ( secureConfig . identity . toMini ( ) )
195+ break
196+ case 'quit' :
197+ case 'exit' :
198+ process . exit ( 0 )
199+ default :
200+ console . log ( 'unknown command [' , cmd , ']' )
201+ break
202+ }
203+ }
204+ }
205+
125206
126- let timer = setTimeout ( async ( ) => {
207+ /* let timer = setTimeout(async ()=>{
127208
128209 console.log('timer config', await secureConfig.readAll())
129210
130- } , 1000 * 30 )
211+ }, 1000*30)*/
131212
132213}
133214
0 commit comments