fix: Aqua API and internal sqlite table cleaning (#121)

This commit is contained in:
Aleksey Proshutisnkiy 2022-09-23 22:58:12 +04:00 committed by GitHub
parent 1b4baa05ad
commit fe030623f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 627 additions and 361 deletions

14
aqua/package-lock.json generated
View File

@ -13,7 +13,7 @@
"@fluencelabs/trust-graph": "^3.0.1" "@fluencelabs/trust-graph": "^3.0.1"
}, },
"devDependencies": { "devDependencies": {
"@fluencelabs/aqua": "^0.7.3-315" "@fluencelabs/aqua": "^0.7.3-318"
} }
}, },
"node_modules/@ampproject/remapping": { "node_modules/@ampproject/remapping": {
@ -675,9 +675,9 @@
"dev": true "dev": true
}, },
"node_modules/@fluencelabs/aqua": { "node_modules/@fluencelabs/aqua": {
"version": "0.7.3-315", "version": "0.7.3-319",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-315.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-319.tgz",
"integrity": "sha512-MAYUC7tmUl+rWZgyl3viW35Zx3LwVcZZHFeuoKZSj//fc5qDLNrhd5gpEABb7JMp0BBXYpnkHz2jZEqeTPUr7w==", "integrity": "sha512-hMKVFDqp5qiHTnfKGClaTEOLeHOiM5IdcpEO+fOFc6dx3Exxbs4IuSnGQX/IlC5iN2Sh5aVfNZRWix3Gftidbg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@fluencelabs/aqua-ipfs": "0.5.2", "@fluencelabs/aqua-ipfs": "0.5.2",
@ -9072,9 +9072,9 @@
} }
}, },
"@fluencelabs/aqua": { "@fluencelabs/aqua": {
"version": "0.7.3-315", "version": "0.7.3-319",
"resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-315.tgz", "resolved": "https://registry.npmjs.org/@fluencelabs/aqua/-/aqua-0.7.3-319.tgz",
"integrity": "sha512-MAYUC7tmUl+rWZgyl3viW35Zx3LwVcZZHFeuoKZSj//fc5qDLNrhd5gpEABb7JMp0BBXYpnkHz2jZEqeTPUr7w==", "integrity": "sha512-hMKVFDqp5qiHTnfKGClaTEOLeHOiM5IdcpEO+fOFc6dx3Exxbs4IuSnGQX/IlC5iN2Sh5aVfNZRWix3Gftidbg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@fluencelabs/aqua-ipfs": "0.5.2", "@fluencelabs/aqua-ipfs": "0.5.2",

View File

@ -144,7 +144,7 @@ func unregisterService(resource_id: ResourceId, peer_id: PeerId) -> bool, *Error
success: *bool success: *bool
error: *Error error: *Error
on peer_id: on HOST_PEER_ID:
t <- Peer.timestamp_sec() t <- Peer.timestamp_sec()
sig_result = getTombstoneSignature(resource_id, peer_id, t, nil) sig_result = getTombstoneSignature(resource_id, peer_id, t, nil)
if sig_result.success == false: if sig_result.success == false:
@ -156,6 +156,9 @@ func unregisterService(resource_id: ResourceId, peer_id: PeerId) -> bool, *Error
appendErrors(error, error_get) appendErrors(error, error_get)
success <<- false success <<- false
else: else:
if peer_id != INIT_PEER_ID:
on peer_id:
republish_result <- republishKey(key!) republish_result <- republishKey(key!)
if republish_result.success == false: if republish_result.success == false:
error <<- republish_result.error error <<- republish_result.error

File diff suppressed because it is too large Load Diff

View File

@ -13,9 +13,10 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@fluencelabs/fluence": "^0.23.1", "@fluencelabs/fluence": "^0.25.1",
"@fluencelabs/fluence-network-environment": "^1.0.13", "@fluencelabs/fluence-network-environment": "^1.0.13",
"@fluencelabs/registry": "^0.5.5" "@fluencelabs/registry": "file:../aqua",
"@fluencelabs/trust-graph": "^3.0.4"
}, },
"devDependencies": { "devDependencies": {
"typescript": "^4.7.4" "typescript": "^4.7.4"

View File

@ -1,4 +1,4 @@
module Export module Export
import "services/echoService.aqua" import "services/echoService.aqua"
import registerServiceRecord, unregisterService from "@fluencelabs/registry/resources-api.aqua" import registerServiceRecord from "@fluencelabs/registry/resources-api.aqua"
export EchoService, registerServiceRecord, unregisterService export EchoService, registerServiceRecord

View File

@ -1,5 +1,5 @@
import { Fluence, KeyPair } from "@fluencelabs/fluence" import { Fluence, KeyPair } from "@fluencelabs/fluence"
import { krasnodar } from "@fluencelabs/fluence-network-environment" import { stage } from "@fluencelabs/fluence-network-environment"
import { registerEchoService } from "./generated/export" import { registerEchoService } from "./generated/export"
import { registerServiceRecord } from "./generated/export" import { registerServiceRecord } from "./generated/export"
@ -8,7 +8,7 @@ const sk = "Iz3HUmNIB78lkNNVmMkDKrju0nCivtkJNyObrFAr774=";
async function main() { async function main() {
const keypair = await KeyPair.fromEd25519SK(Buffer.from(sk, 'base64')); const keypair = await KeyPair.fromEd25519SK(Buffer.from(sk, 'base64'));
// connect to the Fluence network // connect to the Fluence network
await Fluence.start({ connectTo: krasnodar[5], KeyPair: keypair }); await Fluence.start({ connectTo: stage[5], KeyPair: keypair });
console.log( console.log(
"📗 created a fluence peer %s with relay %s", "📗 created a fluence peer %s with relay %s",
Fluence.getStatus().peerId, Fluence.getStatus().peerId,

17
service/Cargo.lock generated
View File

@ -1004,14 +1004,13 @@ dependencies = [
[[package]] [[package]]
name = "iana-time-zone" name = "iana-time-zone"
version = "0.1.48" version = "0.1.49"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0" checksum = "3bbaead50122b06e9a973ac20bc7445074d99ad9a0a0654934876908a9cec82c"
dependencies = [ dependencies = [
"android_system_properties", "android_system_properties",
"core-foundation-sys", "core-foundation-sys",
"js-sys", "js-sys",
"once_cell",
"wasm-bindgen", "wasm-bindgen",
"winapi", "winapi",
] ]
@ -1745,9 +1744,9 @@ dependencies = [
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.14.0" version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
[[package]] [[package]]
name = "opaque-debug" name = "opaque-debug"
@ -2307,9 +2306,9 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.144" version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
@ -2335,9 +2334,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.144" version = "1.0.145"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",

View File

@ -63,9 +63,9 @@ impl Storage {
} }
pub fn delete_table(&self, table_name: String) -> Result<(), ServiceError> { pub fn delete_table(&self, table_name: String) -> Result<(), ServiceError> {
let mut statement = self.connection.prepare(f!("DROP TABLE ?;"))?; let mut statement = self
statement.bind(1, &Value::String(table_name))?; .connection
statement.next().map(drop)?; .execute(f!("DROP TABLE IF EXISTS {table_name};"))?;
Ok(()) Ok(())
} }