Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* ios: [email protected] updates

* go-mobile: bump to 0.1.11

* android: [email protected] updates

* api: updates for [email protected]

* threads: adds snapshotTheads across all

* version: remove rc

* Textile: update pod to 0.1.0
  • Loading branch information
sanderpick authored Mar 29, 2019
1 parent accf0c1 commit 8a69727
Show file tree
Hide file tree
Showing 17 changed files with 179 additions and 79 deletions.
67 changes: 51 additions & 16 deletions android/src/main/java/io/textile/rnmobile/TextileNode.java
Original file line number Diff line number Diff line change
Expand Up @@ -105,33 +105,33 @@ public void run() {
}

@ReactMethod
public void accountPeers(final Promise promise) {
public void accountContact(final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
promise.resolve(encode(node.accountPeers()));
promise.resolve(encode(node.accountContact()));
}
catch (Exception e) {
promise.reject("accountPeers", e);
promise.reject("accountContact", e);
}
}
});
}

@ReactMethod
public void findThreadBackups(final String queryStr, final String optionsStr, final Promise promise) {
public void syncAccount(final String optionsStr, final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
if (TextileNode.searchHandle != null) {
TextileNode.searchHandle.cancel();
}
TextileNode.searchHandle = node.findThreadBackups(decode(queryStr), decode(optionsStr));
TextileNode.searchHandle = node.syncAccount(decode(optionsStr));
}
catch (Exception e) {
promise.reject("findThreadBackups", e);
promise.reject("syncAccount", e);
}
}
});
Expand Down Expand Up @@ -563,12 +563,13 @@ public void run() {
// Invites ---------------->

@ReactMethod
public void addInvite(final String threadId, final String inviteeId, final Promise promise) {
public void addInvite(final String threadId, final String address, final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
promise.resolve(node.addInvite(threadId, inviteeId));
node.addInvite(threadId, address);
promise.resolve(null);
}
catch (Exception e) {
promise.reject("addInvite", e);
Expand Down Expand Up @@ -825,31 +826,31 @@ public void run() {
}

@ReactMethod
public void username(final Promise promise) {
public void name(final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
promise.resolve(node.username());
promise.resolve(node.name());
}
catch (Exception e) {
promise.reject("username", e);
promise.reject("name", e);
}
}
});
}

@ReactMethod
public void setUsername(final String username, final Promise promise) {
public void setName(final String name, final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
node.setUsername(username);
node.setName(name);
promise.resolve(null);
}
catch (Exception e) {
promise.reject("setUsername", e);
promise.reject("setName", e);
}
}
});
Expand Down Expand Up @@ -939,7 +940,7 @@ public void run() {
}

@ReactMethod
public void rename(final String threadId, final String name, final Promise promise) {
public void renameThread(final String threadId, final String name, final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
Expand Down Expand Up @@ -985,7 +986,7 @@ public void run() {
}

@ReactMethod
public void peers(final String threadId, final Promise promise) {
public void threadPeers(final String threadId, final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
Expand Down Expand Up @@ -1014,6 +1015,40 @@ public void run() {
});
}

@ReactMethod
public void snapshotThreads(final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
node.snapshotThreads();
promise.resolve(null);
}
catch (Exception e) {
promise.reject("snapshotThreads", e);
}
}
});
}

@ReactMethod
public void searchThreadSnapshots(final String queryStr, final String optionsStr, final Promise promise) {
executor.execute(new Runnable() {
@Override
public void run() {
try {
if (TextileNode.searchHandle != null) {
TextileNode.searchHandle.cancel();
}
TextileNode.searchHandle = node.searchThreadSnapshots(decode(queryStr), decode(optionsStr));
}
catch (Exception e) {
promise.reject("searchThreadSnapshots", e);
}
}
});
}


// Mobile ---------------->

Expand Down
9 changes: 0 additions & 9 deletions ios/RNTextile.xcworkspace/contents.xcworkspacedata

This file was deleted.

48 changes: 32 additions & 16 deletions ios/TextileNode.m
Original file line number Diff line number Diff line change
Expand Up @@ -110,22 +110,21 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR
[self fulfillWithResult:[result base64EncodedStringWithOptions:0] nilDefault:@"" error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(accountPeers:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(accountContact:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
NSData *result = [self.node accountPeers:&error];
NSData *result = [self.node accountContact:&error];
[self fulfillWithResult:[result base64EncodedStringWithOptions:0] nilDefault:@"" error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(findThreadBackups:(NSString*)queryStr options:(NSString*)optionsStr resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(syncAccount:(NSString*)optionsStr resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
if (self.searchHandle) {
[self.searchHandle cancel];
self.searchHandle = nil;
}

NSData *query = [[NSData alloc] initWithBase64EncodedString:queryStr options:0];
NSData *options = [[NSData alloc] initWithBase64EncodedString:optionsStr options:0];
NSError *error;
self.searchHandle = [self.node findThreadBackups:query options:options error:&error];
self.searchHandle = [self.node syncAccount:options error:&error];
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
}

Expand Down Expand Up @@ -237,8 +236,6 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR

RCT_EXPORT_METHOD(prepareFiles:(NSString*)strBase64 threadId:(NSString*)threadId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {

// NSData *fileData = [[NSData alloc] initWithBase64EncodedString:dataStr options:0];

[self.node prepareFiles:strBase64 threadId:threadId cb:[[TEXCallback alloc] initWithCompletion:^ (NSData *data, NSError *error) {
if (error) {
reject(@(error.code).stringValue, error.localizedDescription, error);
Expand Down Expand Up @@ -319,10 +316,10 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR

#pragma mark - Invites ---------------->

RCT_EXPORT_METHOD(addInvite:(NSString*)threadId inviteeId:(NSString*)inviteeId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(addInvite:(NSString*)threadId inviteeId:(NSString*)address resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
NSString *result = [self.node addInvite:threadId inviteeId:inviteeId error:&error];
[self fulfillWithResult:result error:error resolver:resolve rejecter:reject];
[self.node addInvite:threadId address:address error:&error];
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(addExternalInvite:(NSString*)threadId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
Expand Down Expand Up @@ -429,14 +426,14 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR
[self fulfillWithResult:[result base64EncodedStringWithOptions:0] nilDefault:@"" error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(username:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(name:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
[self fulfillWithResult:[self.node username:&error] error:error resolver:resolve rejecter:reject];
[self fulfillWithResult:[self.node name:&error] error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(setUsername:(NSString*)username resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(setName:(NSString*)name resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
[self.node setUsername:username error:&error];
[self.node setName:name error:&error];
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
}

Expand Down Expand Up @@ -477,7 +474,7 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(rename:(NSString*)threadId name:(NSString*)name resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(renameThread:(NSString*)threadId name:(NSString*)name resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
[self.node renameThread:threadId name:name error:&error];
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
Expand All @@ -495,7 +492,7 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR
[self fulfillWithResult:[result base64EncodedStringWithOptions:0] nilDefault:@"" error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(peers:(NSString*)threadId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
RCT_EXPORT_METHOD(threadPeers:(NSString*)threadId resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
NSData *result = [self.node threadPeers:threadId error:&error];
[self fulfillWithResult:[result base64EncodedStringWithOptions:0] nilDefault:@"" error:error resolver:resolve rejecter:reject];
Expand All @@ -506,6 +503,25 @@ - (void)fulfillWithResult:(id)result error:(NSError*)error resolver:(RCTPromiseR
[self fulfillWithResult:[self.node removeThread:id_ error:&error] error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(snapshotThreads:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
NSError *error;
[self.node snapshotThreads:&error];
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
}

RCT_EXPORT_METHOD(searchThreadSnapshots:(NSString*)queryStr options:(NSString*)optionsStr resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject) {
if (self.searchHandle) {
[self.searchHandle cancel];
self.searchHandle = nil;
}

NSData *query = [[NSData alloc] initWithBase64EncodedString:queryStr options:0];
NSData *options = [[NSData alloc] initWithBase64EncodedString:optionsStr options:0];
NSError *error;
self.searchHandle = [self.node searchThreadSnapshots:query options:options error:&error];
[self fulfillWithResult:nil error:error resolver:resolve rejecter:reject];
}


#pragma mark - Mobile ---------------->

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@textile/react-native-sdk",
"version": "1.1.0-rc47",
"version": "1.1.0",
"description": "## Getting started",
"nativePackage": true,
"main": "dist/index.js",
Expand Down Expand Up @@ -69,7 +69,7 @@
"typescript": "^3.1.1"
},
"dependencies": {
"@textile/go-mobile": "0.1.10-rc4",
"@textile/go-mobile": "0.1.11",
"buffer": "^5.2.1"
},
"directories": {
Expand Down
26 changes: 14 additions & 12 deletions src/Textile/API/account.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export async function seed(): Promise<string> {
}

/**
* Encrypt any file with the account address.
* Encrypt data with the account address.
*
* ```typescript
* const encrypted = API.account.encrypt(Buffer.from(JSON.stringify({foo:"bar"})));
Expand All @@ -41,7 +41,7 @@ export async function encrypt(input: Buffer): Promise<Buffer> {
}

/**
* Decrypt a file previously encrypted with the account address.
* Decrypt data previously encrypted with the account address.
*
* ```typescript
* const decrypted = API.account.decrypt(encrypted);
Expand All @@ -53,27 +53,29 @@ export async function decrypt(input: Buffer): Promise<Buffer> {
}

/**
* List all Contacts.
* List all own contact.
*
* ```typescript
* const contacts: pb.IContactList = API.account.peers();
* const contact: pb.IContact = API.account.contact();
* ```
*/
export async function peers(): Promise<pb.IContactList> {
const result = await TextileNode.accountPeers()
return pb.ContactList.decode(Buffer.from(result, 'base64'))
export async function contact(): Promise<pb.IContact | undefined> {
const result = await TextileNode.accountContact()
if (!result) {
return undefined
}
return pb.Contact.decode(Buffer.from(result, 'base64'))
}

/**
* Locate all Thread backups.
* Search and apply account thread snapshots.
* ```typescript
* const backups = API.account.findThreadBackups(query, options);
* API.account.sync(options);
* ```
* @hidden
*/
export async function findThreadBackups(query: pb.IThreadBackupQuery, options: pb.IQueryOptions): Promise<string> {
return TextileNode.findThreadBackups(
Buffer.from(pb.ThreadBackupQuery.encode(query).finish()).toString('base64'),
export async function sync(options: pb.IQueryOptions): Promise<string> {
return TextileNode.syncAccount(
Buffer.from(pb.QueryOptions.encode(options).finish()).toString('base64'),
)
}
Expand Down
4 changes: 4 additions & 0 deletions src/Textile/API/cafes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export async function session(peerId: string): Promise<pb.ICafeSession | undefin
}
return pb.CafeSession.decode(Buffer.from(result, 'base64'))
}

/**
* List all sessions.
* ```typescript
Expand All @@ -40,6 +41,7 @@ export async function sessions(): Promise<pb.ICafeSessionList | undefined> {
}
return pb.CafeSessionList.decode(Buffer.from(result, 'base64'))
}

/**
* Refresh an existing session by peerId.
* ```typescript
Expand All @@ -53,6 +55,7 @@ export async function refreshSession(peerId: string): Promise<pb.ICafeSession |
}
return pb.CafeSession.decode(Buffer.from(result, 'base64'))
}

/**
* Deregister a remote Cafe.
* ```typescript
Expand All @@ -62,6 +65,7 @@ export async function refreshSession(peerId: string): Promise<pb.ICafeSession |
export async function deregister(id: string): Promise<void> {
return TextileNode.deregisterCafe(id)
}

/**
* Check for offline messages on remote Cafe.
* ```typescript
Expand Down
Loading

0 comments on commit 8a69727

Please sign in to comment.