mirror of
https://github.com/aljazceru/react-native-pubky.git
synced 2026-02-09 17:15:00 +01:00
feat: add delete_file & session
Adds delete_file & session functions. Adds examples to README.md & example app. Fixes Android bindings. Adds event listener functionality for future methods & features. Bumps version to 0.9.0.
This commit is contained in:
@@ -1237,7 +1237,7 @@ PODS:
|
||||
- ReactCommon/turbomodule/bridging
|
||||
- ReactCommon/turbomodule/core
|
||||
- Yoga
|
||||
- react-native-pubky (0.8.0):
|
||||
- react-native-pubky (0.9.0):
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- hermes-engine
|
||||
@@ -1757,7 +1757,7 @@ SPEC CHECKSUMS:
|
||||
React-logger: 4072f39df335ca443932e0ccece41fbeb5ca8404
|
||||
React-Mapbuffer: 714f2fae68edcabfc332b754e9fbaa8cfc68fdd4
|
||||
React-microtasksnativemodule: 4943ad8f99be8ccf5a63329fa7d269816609df9e
|
||||
react-native-pubky: 1da8f3324a665ecf4495652efe0e67820a22f3a2
|
||||
react-native-pubky: 56f7277970ed798732a1268a6fac2fe4f8517c25
|
||||
React-nativeconfig: 4a9543185905fe41014c06776bf126083795aed9
|
||||
React-NativeModulesApple: 0506da59fc40d2e1e6e12a233db5e81c46face27
|
||||
React-perflogger: 3bbb82f18e9ac29a1a6931568e99d6305ef4403b
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { StyleSheet, View, Button } from 'react-native';
|
||||
import { useEffect } from 'react';
|
||||
import {
|
||||
auth,
|
||||
parseAuthUrl,
|
||||
@@ -16,6 +17,10 @@ import {
|
||||
getPublicKeyFromSecretKey,
|
||||
decryptRecoveryFile,
|
||||
createRecoveryFile,
|
||||
setEventListener,
|
||||
removeEventListener,
|
||||
session,
|
||||
deleteFile,
|
||||
} from '@synonymdev/react-native-pubky';
|
||||
|
||||
const HOMESERVER = '8pinxxgqs41n4aididenw5apqp1urfmzdztr8jt4abrkdn435ewo';
|
||||
@@ -24,6 +29,34 @@ const SECRET_KEY =
|
||||
const PUBLIC_KEY = 'z4e8s17cou9qmuwen8p1556jzhf1wktmzo6ijsfnri9c4hnrdfty';
|
||||
|
||||
export default function App() {
|
||||
useEffect(() => {
|
||||
let cleanupListener: (() => void) | undefined;
|
||||
|
||||
const setupEventListener = async () => {
|
||||
const result = await setEventListener((eventData) => {
|
||||
console.log('Received event:', eventData);
|
||||
});
|
||||
|
||||
if (result.isOk()) {
|
||||
console.log('Event listener set up successfully');
|
||||
} else {
|
||||
console.error('Failed to set up event listener:', result.error);
|
||||
}
|
||||
|
||||
cleanupListener = () => {
|
||||
removeEventListener();
|
||||
};
|
||||
};
|
||||
|
||||
setupEventListener();
|
||||
|
||||
// Cleanup function
|
||||
return () => {
|
||||
if (cleanupListener) {
|
||||
cleanupListener();
|
||||
}
|
||||
};
|
||||
}, []);
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Button
|
||||
@@ -237,6 +270,51 @@ export default function App() {
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
title={'deleteFile'}
|
||||
onPress={async (): Promise<void> => {
|
||||
try {
|
||||
const listRes = await list(
|
||||
`pubky://${PUBLIC_KEY}/pub/synonym.to` // URL
|
||||
);
|
||||
if (listRes.isErr()) {
|
||||
console.log(listRes.error.message);
|
||||
return;
|
||||
}
|
||||
if (!listRes.value.length || !listRes.value[0]) {
|
||||
console.log('No files found');
|
||||
return;
|
||||
}
|
||||
const res = await deleteFile(
|
||||
listRes.value[0] // URL
|
||||
);
|
||||
if (res.isErr()) {
|
||||
console.log(res.error.message);
|
||||
return;
|
||||
}
|
||||
console.log(res.value);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
title={'session'}
|
||||
onPress={async (): Promise<void> => {
|
||||
try {
|
||||
const res = await session(
|
||||
PUBLIC_KEY // Public key
|
||||
);
|
||||
if (res.isErr()) {
|
||||
console.log(res.error.message);
|
||||
return;
|
||||
}
|
||||
console.log(res.value);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}}
|
||||
/>
|
||||
<Button
|
||||
title={'generateSecretKey'}
|
||||
onPress={async (): Promise<void> => {
|
||||
|
||||
Reference in New Issue
Block a user