slate/node_common/managers/viewer.js

68 lines
1.5 KiB
JavaScript

import * as Utilities from "~/node_common/utilities";
import * as Data from "~/node_common/data";
import * as Powergate from "~/node_common/powergate";
import * as Constants from "~/node_common/constants";
export const getById = async ({ id }) => {
const user = await Data.getUserById({
id,
});
if (!user) {
return null;
}
if (user.error) {
return null;
}
let data = null;
const response = await Data.getSlatesByUserId({ userId: id });
const slates = JSON.parse(JSON.stringify(response));
const keysRaw = await Data.getAPIKeysByUserId({ userId: id });
const keys = JSON.parse(JSON.stringify(keysRaw));
let bytes = 0;
user.data.library[0].children.forEach((each) => {
bytes = each.size + bytes;
});
try {
data = {
id: user.id,
data: { photo: user.data.photo },
settings: {
deals_auto_approve: user.data.settings_deals_auto_approve,
},
stats: {
bytes,
maximumBytes: Constants.TEXTILE_ACCOUNT_BYTE_LIMIT,
},
username: user.username,
library: user.data.library,
storageList: [],
retrievalList: [],
slates,
keys,
messageList: null,
status: null,
addrsList: null,
info: null,
};
const updates = await Utilities.refresh(user);
const updatesWithToken = await Utilities.refreshWithToken(user);
data = await Utilities.updateStateData(data, {
...updates,
...updatesWithToken,
});
} catch (e) {
console.log(e);
return null;
}
return data;
};