Browse Source

handle auth errors from tribe server

feature/dockerfile-arm
Evan Feenstra 4 years ago
parent
commit
e5c5a64dfd
  1. 72
      api/controllers/chats.ts
  2. 22
      api/utils/tribes.ts
  3. 72
      dist/api/controllers/chats.js
  4. 2
      dist/api/controllers/chats.js.map
  5. 22
      dist/api/utils/tribes.js
  6. 2
      dist/api/utils/tribes.js.map

72
api/controllers/chats.ts

@ -58,28 +58,37 @@ async function editTribe(req, res) {
const owner = await models.Contact.findOne({ where: { isOwner: true } })
let okToUpdate = true
if(is_listed) {
tribes.edit({
uuid: chat.uuid,
try{
await tribes.edit({
uuid: chat.uuid,
name: name,
host: chat.host,
price_per_message: price_per_message||0,
price_to_join: price_to_join||0,
description,
tags,
img,
owner_alias: owner.alias,
})
} catch(e) {
okToUpdate = false
}
}
if(okToUpdate) {
await chat.update({
photoUrl: img||'',
name: name,
price_per_message: price_per_message||0,
price_to_join: price_to_join||0,
description,
tags,
img,
owner_alias: owner.alias,
pricePerMessage: price_per_message||0,
priceToJoin: price_to_join||0
})
success(res, jsonUtils.chatToJson(chat))
} else {
// remove from tribes server? or at least just "unlist"
failure(res, 'failed to update tribe')
}
await chat.update({
photoUrl: img||'',
name: name,
pricePerMessage: price_per_message||0,
priceToJoin: price_to_join||0
})
success(res, jsonUtils.chatToJson(chat))
}
// just add self here if tribes
@ -112,21 +121,26 @@ async function createGroupChat(req, res) {
})
let chatParams:any = null
let okToCreate = true
if(is_tribe){
chatParams = await createTribeChatParams(owner, contact_ids, name, img, price_per_message, price_to_join)
if(is_listed && chatParams.uuid){
// publish to tribe server
tribes.declare({
uuid: chatParams.uuid,
name: chatParams.name,
host: chatParams.host,
group_key: chatParams.groupKey,
price_per_message: price_per_message||0,
price_to_join: price_to_join||0,
description, tags, img,
owner_pubkey: owner.publicKey,
owner_alias: owner.alias,
})
try {
await tribes.declare({
uuid: chatParams.uuid,
name: chatParams.name,
host: chatParams.host,
group_key: chatParams.groupKey,
price_per_message: price_per_message||0,
price_to_join: price_to_join||0,
description, tags, img,
owner_pubkey: owner.publicKey,
owner_alias: owner.alias,
})
} catch(e) {
okToCreate = false
}
}
// make me owner when i create
members[owner.publicKey].role = constants.chat_roles.owner
@ -134,6 +148,10 @@ async function createGroupChat(req, res) {
chatParams = createGroupChatParams(owner, contact_ids, members, name)
}
if(!okToCreate) {
return failure(res, 'could not create tribe')
}
network.sendMessage({
chat: { ...chatParams, members },
sender: owner,

22
api/utils/tribes.ts

@ -55,7 +55,7 @@ export function publish(topic, msg) {
export async function declare({ uuid, name, description, tags, img, group_key, host, price_per_message, price_to_join, owner_alias, owner_pubkey }) {
try {
const r = await fetch('https://' + host + '/tribes', {
await fetch('https://' + host + '/tribes', {
method: 'POST',
body: JSON.stringify({
uuid, group_key,
@ -66,25 +66,17 @@ export async function declare({ uuid, name, description, tags, img, group_key, h
}),
headers: { 'Content-Type': 'application/json' }
})
const j = await r.json()
console.log(j)
// const j = await r.json()
} catch (e) {
console.log('[tribes] unauthorized to declare')
throw e
}
}
export async function edit({ uuid, name, description, tags, img, price_per_message, price_to_join, owner_alias }) {
export async function edit({ uuid, host, name, description, tags, img, price_per_message, price_to_join, owner_alias }) {
try {
const token = await genSignedTimestamp()
console.log('https://' + getHost() + '/tribe?token=' + token)
console.log({
uuid,
name, description, tags, img: img || '',
price_per_message: price_per_message || 0,
price_to_join: price_to_join || 0,
owner_alias,
})
const r = await fetch('https://' + getHost() + '/tribe?token=' + token, {
await fetch('https://' + host + '/tribe?token=' + token, {
method: 'PUT',
body: JSON.stringify({
uuid,
@ -95,10 +87,10 @@ export async function edit({ uuid, name, description, tags, img, price_per_messa
}),
headers: { 'Content-Type': 'application/json' }
})
const j = await r.json()
console.log(j)
// const j = await r.json()
} catch(e) {
console.log('[tribes] unauthorized to edit')
throw e
}
}

72
dist/api/controllers/chats.js

@ -56,28 +56,37 @@ function editTribe(req, res) {
return res_1.failure(res, 'cant find chat');
}
const owner = yield models_1.models.Contact.findOne({ where: { isOwner: true } });
let okToUpdate = true;
if (is_listed) {
tribes.edit({
uuid: chat.uuid,
try {
yield tribes.edit({
uuid: chat.uuid,
name: name,
host: chat.host,
price_per_message: price_per_message || 0,
price_to_join: price_to_join || 0,
description,
tags,
img,
owner_alias: owner.alias,
});
}
catch (e) {
okToUpdate = false;
}
}
if (okToUpdate) {
yield chat.update({
photoUrl: img || '',
name: name,
price_per_message: price_per_message || 0,
price_to_join: price_to_join || 0,
description,
tags,
img,
owner_alias: owner.alias,
pricePerMessage: price_per_message || 0,
priceToJoin: price_to_join || 0
});
res_1.success(res, jsonUtils.chatToJson(chat));
}
else {
// remove from tribes server? or at least just "unlist"
res_1.failure(res, 'failed to update tribe');
}
yield chat.update({
photoUrl: img || '',
name: name,
pricePerMessage: price_per_message || 0,
priceToJoin: price_to_join || 0
});
res_1.success(res, jsonUtils.chatToJson(chat));
});
}
exports.editTribe = editTribe;
@ -100,21 +109,27 @@ function createGroupChat(req, res) {
};
}));
let chatParams = null;
let okToCreate = true;
if (is_tribe) {
chatParams = yield createTribeChatParams(owner, contact_ids, name, img, price_per_message, price_to_join);
if (is_listed && chatParams.uuid) {
// publish to tribe server
tribes.declare({
uuid: chatParams.uuid,
name: chatParams.name,
host: chatParams.host,
group_key: chatParams.groupKey,
price_per_message: price_per_message || 0,
price_to_join: price_to_join || 0,
description, tags, img,
owner_pubkey: owner.publicKey,
owner_alias: owner.alias,
});
try {
yield tribes.declare({
uuid: chatParams.uuid,
name: chatParams.name,
host: chatParams.host,
group_key: chatParams.groupKey,
price_per_message: price_per_message || 0,
price_to_join: price_to_join || 0,
description, tags, img,
owner_pubkey: owner.publicKey,
owner_alias: owner.alias,
});
}
catch (e) {
okToCreate = false;
}
}
// make me owner when i create
members[owner.publicKey].role = constants.chat_roles.owner;
@ -122,6 +137,9 @@ function createGroupChat(req, res) {
else {
chatParams = createGroupChatParams(owner, contact_ids, members, name);
}
if (!okToCreate) {
return res_1.failure(res, 'could not create tribe');
}
network.sendMessage({
chat: Object.assign(Object.assign({}, chatParams), { members }),
sender: owner,

2
dist/api/controllers/chats.js.map

File diff suppressed because one or more lines are too long

22
dist/api/utils/tribes.js

@ -69,7 +69,7 @@ exports.publish = publish;
function declare({ uuid, name, description, tags, img, group_key, host, price_per_message, price_to_join, owner_alias, owner_pubkey }) {
return __awaiter(this, void 0, void 0, function* () {
try {
const r = yield fetch('https://' + host + '/tribes', {
yield fetch('https://' + host + '/tribes', {
method: 'POST',
body: JSON.stringify({
uuid, group_key,
@ -80,28 +80,20 @@ function declare({ uuid, name, description, tags, img, group_key, host, price_pe
}),
headers: { 'Content-Type': 'application/json' }
});
const j = yield r.json();
console.log(j);
// const j = await r.json()
}
catch (e) {
console.log('[tribes] unauthorized to declare');
throw e;
}
});
}
exports.declare = declare;
function edit({ uuid, name, description, tags, img, price_per_message, price_to_join, owner_alias }) {
function edit({ uuid, host, name, description, tags, img, price_per_message, price_to_join, owner_alias }) {
return __awaiter(this, void 0, void 0, function* () {
try {
const token = yield genSignedTimestamp();
console.log('https://' + getHost() + '/tribe?token=' + token);
console.log({
uuid,
name, description, tags, img: img || '',
price_per_message: price_per_message || 0,
price_to_join: price_to_join || 0,
owner_alias,
});
const r = yield fetch('https://' + getHost() + '/tribe?token=' + token, {
yield fetch('https://' + host + '/tribe?token=' + token, {
method: 'PUT',
body: JSON.stringify({
uuid,
@ -112,11 +104,11 @@ function edit({ uuid, name, description, tags, img, price_per_message, price_to_
}),
headers: { 'Content-Type': 'application/json' }
});
const j = yield r.json();
console.log(j);
// const j = await r.json()
}
catch (e) {
console.log('[tribes] unauthorized to edit');
throw e;
}
});
}

2
dist/api/utils/tribes.js.map

@ -1 +1 @@
{"version":3,"file":"tribes.js","sourceRoot":"","sources":["../../../api/utils/tribes.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"tribes.js","sourceRoot":"","sources":["../../../api/utils/tribes.ts"],"names":[],"mappings":"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"}
Loading…
Cancel
Save