@dotrino/geo 0.9.0 → 0.9.2
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/package.json +1 -1
- package/src/index.js +14 -18
package/package.json
CHANGED
package/src/index.js
CHANGED
|
@@ -83,18 +83,7 @@ export function createGeoClient ({ signData, getPublicKeyJwk, baseUrl = DEFAULT_
|
|
|
83
83
|
}
|
|
84
84
|
const cleanTags = normalizeTags(tags)
|
|
85
85
|
if (cleanTags.length) data.tags = cleanTags
|
|
86
|
-
|
|
87
|
-
// Un vault viejo devuelve solo la firma; uno nuevo, el paquete con quién firmó y la
|
|
88
|
-
// cadena que prueba que ese firmante habla por esta identidad.
|
|
89
|
-
const sobre = typeof firma === 'string'
|
|
90
|
-
? { data, signature: firma }
|
|
91
|
-
: { data, signature: firma.signature, ...(firma.publickey ? { signer: firma.publickey } : {}), ...(firma.chain?.length ? { chain: firma.chain } : {}) }
|
|
92
|
-
const res = await doFetch(`${base}/pins`, {
|
|
93
|
-
method: 'PUT',
|
|
94
|
-
headers: { 'content-type': 'application/json' },
|
|
95
|
-
body: JSON.stringify(sobre)
|
|
96
|
-
})
|
|
97
|
-
return handle(res)
|
|
86
|
+
return sendSigned('PUT', data)
|
|
98
87
|
}
|
|
99
88
|
|
|
100
89
|
/**
|
|
@@ -133,14 +122,21 @@ export function createGeoClient ({ signData, getPublicKeyJwk, baseUrl = DEFAULT_
|
|
|
133
122
|
// chain}` desde hace versiones, y aquí se metía ese objeto donde el servidor espera la
|
|
134
123
|
// firma en base64: retirar un pin antes de que expirara respondía 401 siempre. Y sin la
|
|
135
124
|
// cadena tampoco se podía retirar el pin desde un aparato que no fuera el de la llave.
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
125
|
+
return sendSigned('DELETE', data)
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/** Firma `data` y lo manda a /pins: el mismo sobre para publicar y para retirar. */
|
|
129
|
+
async function sendSigned (method, data) {
|
|
130
|
+
const sig = await signData(data)
|
|
131
|
+
// Un vault viejo devuelve solo la firma; uno nuevo, el paquete con quién firmó y la
|
|
132
|
+
// cadena que prueba que ese firmante habla por esta identidad.
|
|
133
|
+
const envelope = typeof sig === 'string'
|
|
134
|
+
? { data, signature: sig }
|
|
135
|
+
: { data, signature: sig.signature, ...(sig.publickey ? { signer: sig.publickey } : {}), ...(sig.chain?.length ? { chain: sig.chain } : {}) }
|
|
140
136
|
const res = await doFetch(`${base}/pins`, {
|
|
141
|
-
method
|
|
137
|
+
method,
|
|
142
138
|
headers: { 'content-type': 'application/json' },
|
|
143
|
-
body: JSON.stringify(
|
|
139
|
+
body: JSON.stringify(envelope)
|
|
144
140
|
})
|
|
145
141
|
return handle(res)
|
|
146
142
|
}
|