@synonymdev/react-native-pubky 0.7.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +75 -3
- package/android/src/main/java/com/pubky/PubkyModule.kt +369 -252
- package/android/src/main/java/uniffi/pubkymobile/pubkymobile.kt +557 -127
- package/android/src/main/jniLibs/arm64-v8a/libpubkymobile.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libpubkymobile.so +0 -0
- package/android/src/main/jniLibs/x86/libpubkymobile.so +0 -0
- package/android/src/main/jniLibs/x86_64/libpubkymobile.so +0 -0
- package/ios/Frameworks/PubkyMobile.xcframework/Info.plist +4 -4
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64/Headers/pubkymobileFFI.h +38 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64/libpubkymobile.a +0 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64-simulator/Headers/pubkymobileFFI.h +38 -0
- package/ios/Frameworks/PubkyMobile.xcframework/ios-arm64-simulator/libpubkymobile.a +0 -0
- package/ios/Pubky-Bridging-Header.h +1 -0
- package/ios/Pubky.mm +26 -1
- package/ios/Pubky.swift +84 -1
- package/ios/pubkymobile.swift +310 -0
- package/lib/commonjs/index.js +69 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +64 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +10 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/index.d.ts +10 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.tsx +84 -1
package/README.md
CHANGED
@@ -18,16 +18,20 @@ npm install @synonymdev/react-native-pubky
|
|
18
18
|
- [x] [resolveHttps](#resolveHttps): Resolve HTTPS records.
|
19
19
|
- [x] [signUp](#signUp): Sign-up to a homeserver and update Pkarr accordingly.
|
20
20
|
- [x] [signIn](#signIn): Sign-in to a homeserver.
|
21
|
+
- [x] [session](#session): Check the current session for a given Pubky in its homeserver.
|
21
22
|
- [x] [signOut](#signOut): Sign-out from a homeserver.
|
22
23
|
- [x] [put](#put): Upload a small payload to a given path.
|
23
24
|
- [x] [get](#get): Download a small payload from a given path relative to a pubky author.
|
24
25
|
- [x] [list](#list): Returns a list of Pubky URLs of the files in the path of the `url` provided.
|
26
|
+
- [x] [delete](#delete): Delete a file at a path relative to a pubky author.
|
25
27
|
- [x] [generateSecretKey](#generateSecretKey): Generate a secret key.
|
26
28
|
- [x] [getPublicKeyFromSecretKey](#getPublicKeyFromSecretKey): Get the public key string and uri from a secret key.
|
27
|
-
|
28
|
-
- [ ]
|
29
|
-
- [ ] editProfile: Submit changes to the specified profile.
|
29
|
+
- [x] [create_recovery_file](#createRecoveryFile): Create a recovery file.
|
30
|
+
- [x] [decrypt_recovery_file](#decryptRecoveryFile): Decrypt a recovery file.
|
30
31
|
|
32
|
+
### Methods to be Implemented
|
33
|
+
- [ ] setProfile: Set profile information for a pubky.
|
34
|
+
- [ ] getProfile: Get profile information for a pubky.
|
31
35
|
|
32
36
|
## Usage
|
33
37
|
### <a name="auth"></a>Auth
|
@@ -158,6 +162,20 @@ if (listRes.isErr()) {
|
|
158
162
|
console.log(listRes.value);
|
159
163
|
```
|
160
164
|
|
165
|
+
### <a name="deleteFile"></a>deleteFile
|
166
|
+
```js
|
167
|
+
import { deleteFile } from '@synonymdev/react-native-pubky';
|
168
|
+
|
169
|
+
const deleteFileRes = await deleteFile(
|
170
|
+
'pubky://z4e8s17cou9qmuwen8p1556jzhf1wktmzo6ijsfnri9c4hnrdfty/pub/' // URL
|
171
|
+
);
|
172
|
+
if (deleteFileRes.isErr()) {
|
173
|
+
console.log(deleteFileRes.error.message);
|
174
|
+
return;
|
175
|
+
}
|
176
|
+
console.log(deleteFileRes.value);
|
177
|
+
```
|
178
|
+
|
161
179
|
### <a name="generateSecretKey"></a>generateSecretKey
|
162
180
|
```js
|
163
181
|
import { generateSecretKey } from '@synonymdev/react-native-pubky';
|
@@ -211,6 +229,20 @@ if (signInRes.isErr()) {
|
|
211
229
|
console.log(signInRes.value);
|
212
230
|
```
|
213
231
|
|
232
|
+
### <a name="session"></a>sessionRes
|
233
|
+
```js
|
234
|
+
import { session } from '@synonymdev/react-native-pubky';
|
235
|
+
|
236
|
+
const sessionRes = await session(
|
237
|
+
'z4e8s17cou9qmuwen8p1556jzhf1wktmzo6ijsfnri9c4hnrdfty' // Public Key
|
238
|
+
);
|
239
|
+
if (sessionRes.isErr()) {
|
240
|
+
console.log(sessionRes.error.message);
|
241
|
+
return;
|
242
|
+
}
|
243
|
+
console.log(sessionRes.value);
|
244
|
+
```
|
245
|
+
|
214
246
|
### <a name="signOut"></a>signIn
|
215
247
|
```js
|
216
248
|
import { signOut } from '@synonymdev/react-native-pubky';
|
@@ -225,6 +257,36 @@ if (signOutRes.isErr()) {
|
|
225
257
|
console.log(signOutRes.value);
|
226
258
|
```
|
227
259
|
|
260
|
+
### <a name="createRecoveryFile"></a>createRecoveryFile
|
261
|
+
```js
|
262
|
+
import { createRecoveryFile } from '@synonymdev/react-native-pubky';
|
263
|
+
|
264
|
+
const createRecoveryFileRes = await createRecoveryFile(
|
265
|
+
'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855', // Secret Key
|
266
|
+
'passphrase', // Passphrase
|
267
|
+
);
|
268
|
+
if (createRecoveryFileRes.isErr()) {
|
269
|
+
console.log(createRecoveryFileRes.error.message);
|
270
|
+
return;
|
271
|
+
}
|
272
|
+
console.log(createRecoveryFileRes.value);
|
273
|
+
```
|
274
|
+
|
275
|
+
### <a name="decryptRecoveryFile"></a>decryptRecoveryFile
|
276
|
+
```js
|
277
|
+
import { decryptRecoveryFile } from '@synonymdev/react-native-pubky';
|
278
|
+
|
279
|
+
const decryptRecoveryFileRes = await decryptRecoveryFile(
|
280
|
+
'cHVia3kub3JnL3JlY292ZXJ5CkZRt1NHIjxyTo0whSSgTgNrH56MPpGrSxvAQSE0x5FeklVJpNJqcNP4zjdwW/OpdBOsEC1qZ5MI/mcEUKFKVAEZwikdclsLZg==', // Recovery File
|
281
|
+
'passphrase', // Passphrase
|
282
|
+
);
|
283
|
+
if (decryptRecoveryFileRes.isErr()) {
|
284
|
+
console.log(decryptRecoveryFileRes.error.message);
|
285
|
+
return;
|
286
|
+
}
|
287
|
+
console.log(decryptRecoveryFileRes.value);
|
288
|
+
```
|
289
|
+
|
228
290
|
## Local Installation
|
229
291
|
|
230
292
|
1. Clone & npm install:
|
@@ -245,6 +307,16 @@ After making changes to any of the Rust files, the bindings will need to be upda
|
|
245
307
|
npm run update-bindings
|
246
308
|
```
|
247
309
|
|
310
|
+
## Run React Native Example App
|
311
|
+
1. Run Homeserver:
|
312
|
+
```sh
|
313
|
+
cd rust/pubky/pubky-homeserver && cargo run -- --config=./src/config.toml
|
314
|
+
```
|
315
|
+
2. Run the React Native Example App:
|
316
|
+
```sh
|
317
|
+
cd example && yarn install && cd ios && pod install && cd ../ && yarn ios
|
318
|
+
```
|
319
|
+
|
248
320
|
Finally, ensure that `PubkyModule.kt`, `Pubky.swift`, `Pubky.mm` & `src/index.tsx` are updated accordingly based on the changes made to the Rust files.
|
249
321
|
|
250
322
|
## License
|