-
Notifications
You must be signed in to change notification settings - Fork 0
/
social.js
73 lines (57 loc) · 1.98 KB
/
social.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import { v4 as uuidv4 } from 'uuid';
import { Subject } from 'rxjs';
import { NativeCrypto } from '@questnetwork/quest-crypto-js';
import { TimelineManager } from './timeline.js';
import { ProfileManager } from './profile.js';
import { AlgoManager } from './algo.js';
export class QuestSocial {
constructor() {
this.key = {}
this.timeline = new TimelineManager();
this.profile = new ProfileManager();
this.algo = new AlgoManager();
}
async start(config){
this.version = config['version'];
this.jsonSwarm = config['ipfs']['swarm'];
this.electron = config['dependencies']['electronService'];
this.bee = config['dependencies']['bee'];
this.dolphin = config['dependencies']['dolphin'];
this.crypto = new NativeCrypto();
this.request = config['dependencies']['request'];
await this.algo.start(config);
await this.profile.start(config);
config['dependencies']['profile'] = this.profile;
await this.timeline.start(config);
return true;
}
async getPubKeyFromDirectChannel(channel, index = 1){
let pubKey1 = channel.split('-----')[0].split('-')[1];
let pubKey2 = channel.split('-----')[0].split('-')[2];
if(await this.profile.isMyProfileId(pubKey1)){
let p = await this.profile.get(pubKey2);
return p['key']['pubKey'];
}
else{
let p = await this.profile.get(pubKey1);
return p['key']['pubKey'];
}
};
async getAliasFromDirectChannel(channel, index = 1){
let pubKey = channel.split('-----')[0].split('-')[index];
let p = await this.profile.get(pubKey);
return p['alias'];
};
async getAliasFromDirectChannel2(channel, index = 2){
let pubKey1 = channel.split('-----')[0].split('-')[1];
let pubKey2 = channel.split('-----')[0].split('-')[2];
if(await this.profile.isMyProfileId(pubKey1)){
let p = await this.profile.get(pubKey2);
return p['alias'];
}
else{
let p = await this.profile.get(pubKey1);
return p['alias'];
}
};
}