autopass 2.2.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitattributes +1 -0
- package/.github/workflows/test-node.yml +7 -7
- package/.prettierrc +1 -0
- package/README.md +26 -15
- package/example.mjs +1 -1
- package/index.js +97 -43
- package/package.json +23 -19
- package/schema.js +108 -52
- package/spec/db/db.json +31 -19
- package/spec/db/index.js +197 -83
- package/spec/db/messages.js +127 -82
- package/spec/hyperdispatch/dispatch.json +16 -3
- package/spec/hyperdispatch/index.js +128 -38
- package/spec/hyperdispatch/messages.js +84 -44
- package/spec/schema/index.js +84 -44
- package/spec/schema/schema.json +31 -3
- package/test.js +58 -7
package/schema.js
CHANGED
|
@@ -9,75 +9,106 @@ const template = autopass.namespace('autopass')
|
|
|
9
9
|
template.register({
|
|
10
10
|
name: 'records',
|
|
11
11
|
compact: false,
|
|
12
|
-
fields: [
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
fields: [
|
|
13
|
+
{
|
|
14
|
+
name: 'key',
|
|
15
|
+
type: 'string',
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'value',
|
|
20
|
+
type: 'string',
|
|
21
|
+
required: false
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'file',
|
|
25
|
+
type: 'buffer',
|
|
26
|
+
required: false
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
})
|
|
30
|
+
template.register({
|
|
31
|
+
name: 'mirrors',
|
|
32
|
+
compact: false,
|
|
33
|
+
fields: [
|
|
34
|
+
{
|
|
35
|
+
name: 'key',
|
|
36
|
+
type: 'fixed32',
|
|
37
|
+
required: true
|
|
38
|
+
}
|
|
25
39
|
]
|
|
26
40
|
})
|
|
27
|
-
|
|
28
41
|
template.register({
|
|
29
42
|
name: 'writer',
|
|
30
43
|
compact: false,
|
|
31
|
-
fields: [
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
fields: [
|
|
45
|
+
{
|
|
46
|
+
name: 'key',
|
|
47
|
+
type: 'buffer',
|
|
48
|
+
required: true
|
|
49
|
+
}
|
|
36
50
|
]
|
|
37
51
|
})
|
|
38
52
|
|
|
39
53
|
template.register({
|
|
40
54
|
name: 'delete',
|
|
41
55
|
compact: false,
|
|
42
|
-
fields: [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
56
|
+
fields: [
|
|
57
|
+
{
|
|
58
|
+
name: 'key',
|
|
59
|
+
type: 'string',
|
|
60
|
+
required: true
|
|
61
|
+
}
|
|
47
62
|
]
|
|
48
63
|
})
|
|
49
64
|
|
|
50
65
|
template.register({
|
|
51
66
|
name: 'invite',
|
|
52
67
|
compact: false,
|
|
53
|
-
fields: [
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
fields: [
|
|
69
|
+
{
|
|
70
|
+
name: 'id',
|
|
71
|
+
type: 'buffer',
|
|
72
|
+
required: true
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: 'invite',
|
|
76
|
+
type: 'buffer',
|
|
77
|
+
required: true
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'publicKey',
|
|
81
|
+
type: 'buffer',
|
|
82
|
+
required: true
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'expires',
|
|
86
|
+
type: 'int',
|
|
87
|
+
required: true
|
|
88
|
+
}
|
|
70
89
|
]
|
|
71
90
|
})
|
|
72
91
|
|
|
73
92
|
template.register({
|
|
74
93
|
name: 'del-invite',
|
|
75
94
|
compact: false,
|
|
76
|
-
fields: [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
95
|
+
fields: [
|
|
96
|
+
{
|
|
97
|
+
name: 'id',
|
|
98
|
+
type: 'buffer',
|
|
99
|
+
required: true
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
})
|
|
103
|
+
template.register({
|
|
104
|
+
name: 'del-mirror',
|
|
105
|
+
compact: false,
|
|
106
|
+
fields: [
|
|
107
|
+
{
|
|
108
|
+
name: 'key',
|
|
109
|
+
type: 'fixed32',
|
|
110
|
+
required: true
|
|
111
|
+
}
|
|
81
112
|
]
|
|
82
113
|
})
|
|
83
114
|
Hyperschema.toDisk(autopass)
|
|
@@ -94,6 +125,11 @@ blobs.collections.register({
|
|
|
94
125
|
schema: '@autopass/invite',
|
|
95
126
|
key: ['id']
|
|
96
127
|
})
|
|
128
|
+
blobs.collections.register({
|
|
129
|
+
name: 'mirrors',
|
|
130
|
+
schema: '@autopass/mirrors',
|
|
131
|
+
key: ['key']
|
|
132
|
+
})
|
|
97
133
|
blobs.collections.register({
|
|
98
134
|
name: 'writer',
|
|
99
135
|
schema: '@autopass/writer',
|
|
@@ -111,10 +147,22 @@ blobs.collections.register({
|
|
|
111
147
|
schema: '@autopass/del-invite',
|
|
112
148
|
key: ['id']
|
|
113
149
|
})
|
|
114
|
-
|
|
150
|
+
blobs.collections.register({
|
|
151
|
+
name: 'del-invite',
|
|
152
|
+
schema: '@autopass/del-invite',
|
|
153
|
+
key: ['id']
|
|
154
|
+
})
|
|
155
|
+
blobs.collections.register({
|
|
156
|
+
name: 'del-mirror',
|
|
157
|
+
schema: '@autopass/del-mirror',
|
|
158
|
+
key: ['key']
|
|
159
|
+
})
|
|
115
160
|
HyperdbBuilder.toDisk(dbTemplate)
|
|
116
161
|
|
|
117
|
-
const hyperdispatch = Hyperdispatch.from(
|
|
162
|
+
const hyperdispatch = Hyperdispatch.from(
|
|
163
|
+
'./spec/schema',
|
|
164
|
+
'./spec/hyperdispatch'
|
|
165
|
+
)
|
|
118
166
|
const namespace = hyperdispatch.namespace('autopass')
|
|
119
167
|
namespace.register({
|
|
120
168
|
name: 'remove-writer',
|
|
@@ -128,16 +176,24 @@ namespace.register({
|
|
|
128
176
|
name: 'put',
|
|
129
177
|
requestType: '@autopass/records'
|
|
130
178
|
})
|
|
179
|
+
namespace.register({
|
|
180
|
+
name: 'add-mirror',
|
|
181
|
+
requestType: '@autopass/mirrors'
|
|
182
|
+
})
|
|
183
|
+
namespace.register({
|
|
184
|
+
name: 'del-mirror',
|
|
185
|
+
requestType: '@autopass/del-mirror'
|
|
186
|
+
})
|
|
131
187
|
namespace.register({
|
|
132
188
|
name: 'del',
|
|
133
189
|
requestType: '@autopass/delete'
|
|
134
190
|
})
|
|
135
|
-
namespace.register(
|
|
191
|
+
namespace.register({
|
|
136
192
|
name: 'add-invite',
|
|
137
193
|
requestType: '@autopass/invite'
|
|
138
|
-
})
|
|
139
|
-
namespace.register(
|
|
194
|
+
})
|
|
195
|
+
namespace.register({
|
|
140
196
|
name: 'del-invite',
|
|
141
197
|
requestType: '@autopass/del-invite'
|
|
142
|
-
})
|
|
198
|
+
})
|
|
143
199
|
Hyperdispatch.toDisk(hyperdispatch)
|
package/spec/db/db.json
CHANGED
|
@@ -10,9 +10,7 @@
|
|
|
10
10
|
"indexes": [],
|
|
11
11
|
"schema": "@autopass/records",
|
|
12
12
|
"derived": false,
|
|
13
|
-
"key": [
|
|
14
|
-
"key"
|
|
15
|
-
],
|
|
13
|
+
"key": ["key"],
|
|
16
14
|
"trigger": null
|
|
17
15
|
},
|
|
18
16
|
{
|
|
@@ -23,49 +21,63 @@
|
|
|
23
21
|
"indexes": [],
|
|
24
22
|
"schema": "@autopass/invite",
|
|
25
23
|
"derived": false,
|
|
26
|
-
"key": [
|
|
27
|
-
"id"
|
|
28
|
-
],
|
|
24
|
+
"key": ["id"],
|
|
29
25
|
"trigger": null
|
|
30
26
|
},
|
|
31
27
|
{
|
|
32
|
-
"name": "
|
|
28
|
+
"name": "mirrors",
|
|
33
29
|
"namespace": "autopass",
|
|
34
30
|
"id": 2,
|
|
35
31
|
"type": 1,
|
|
36
32
|
"indexes": [],
|
|
33
|
+
"schema": "@autopass/mirrors",
|
|
34
|
+
"derived": false,
|
|
35
|
+
"key": ["key"],
|
|
36
|
+
"trigger": null
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "writer",
|
|
40
|
+
"namespace": "autopass",
|
|
41
|
+
"id": 3,
|
|
42
|
+
"type": 1,
|
|
43
|
+
"indexes": [],
|
|
37
44
|
"schema": "@autopass/writer",
|
|
38
45
|
"derived": false,
|
|
39
|
-
"key": [
|
|
40
|
-
"key"
|
|
41
|
-
],
|
|
46
|
+
"key": ["key"],
|
|
42
47
|
"trigger": null
|
|
43
48
|
},
|
|
44
49
|
{
|
|
45
50
|
"name": "delete",
|
|
46
51
|
"namespace": "autopass",
|
|
47
|
-
"id":
|
|
52
|
+
"id": 4,
|
|
48
53
|
"type": 1,
|
|
49
54
|
"indexes": [],
|
|
50
55
|
"schema": "@autopass/delete",
|
|
51
56
|
"derived": false,
|
|
52
|
-
"key": [
|
|
53
|
-
"key"
|
|
54
|
-
],
|
|
57
|
+
"key": ["key"],
|
|
55
58
|
"trigger": null
|
|
56
59
|
},
|
|
57
60
|
{
|
|
58
61
|
"name": "del-invite",
|
|
59
62
|
"namespace": "autopass",
|
|
60
|
-
"id":
|
|
63
|
+
"id": 5,
|
|
61
64
|
"type": 1,
|
|
62
65
|
"indexes": [],
|
|
63
66
|
"schema": "@autopass/del-invite",
|
|
64
67
|
"derived": false,
|
|
65
|
-
"key": [
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
"key": ["id"],
|
|
69
|
+
"trigger": null
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "del-mirror",
|
|
73
|
+
"namespace": "autopass",
|
|
74
|
+
"id": 6,
|
|
75
|
+
"type": 1,
|
|
76
|
+
"indexes": [],
|
|
77
|
+
"schema": "@autopass/del-mirror",
|
|
78
|
+
"derived": false,
|
|
79
|
+
"key": ["key"],
|
|
68
80
|
"trigger": null
|
|
69
81
|
}
|
|
70
82
|
]
|
|
71
|
-
}
|
|
83
|
+
}
|