@oap75/api
Version:
JavaScript API for Subsocial blockchain.
126 lines (125 loc) • 5.78 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FlatSubsocialApi = void 0;
const utils_1 = require("./utils");
const utils_2 = require("@subsocial/utils");
const flatteners_1 = require("./flatteners");
class FlatSubsocialApi {
constructor(subsocial) {
this._subsocial = subsocial;
}
get subsocial() {
return this._subsocial;
}
findSpaceStructs(ids) {
return __awaiter(this, void 0, void 0, function* () {
const structs = yield this.subsocial.substrate.findSpaces({ ids: (0, utils_2.idsToBns)(ids), visibility: 'onlyPublic', withContentOnly: true });
return (0, flatteners_1.flattenSpaceStructs)(structs);
});
}
findPostStructs(ids) {
return __awaiter(this, void 0, void 0, function* () {
const structs = yield this.subsocial.substrate.findPosts({ ids: (0, utils_2.idsToBns)(ids), visibility: 'onlyPublic', withContentOnly: true });
return (0, flatteners_1.flattenPostStructs)(structs);
});
}
findProfileStructs(ids) {
return __awaiter(this, void 0, void 0, function* () {
const structs = yield this.subsocial.substrate.findSocialAccounts(ids);
return (0, flatteners_1.flattenProfileStructs)(structs);
});
}
findSpaceStruct(id) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_2.getFirstOrUndefined)(yield this.findSpaceStructs([id]));
});
}
findPostStruct(id) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_2.getFirstOrUndefined)(yield this.findPostStructs([id]));
});
}
findProfileStruct(id) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_2.getFirstOrUndefined)(yield this.findProfileStructs([id]));
});
}
findProfile(id) {
return __awaiter(this, void 0, void 0, function* () {
const old = yield this.subsocial.findProfile(id);
return !old ? old : (0, utils_1.convertToNewProfileData)(old);
});
}
findProfiles(ids) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewProfileDataArray)(yield this.subsocial.findProfiles(ids));
});
}
findSpace(query) {
return __awaiter(this, void 0, void 0, function* () {
const old = yield this.subsocial.findSpace(query);
return !old ? old : (0, utils_1.convertToNewSpaceData)(old);
});
}
findPublicSpaces(ids) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewSpaceDataArray)(yield this.subsocial.findPublicSpaces((0, utils_2.idsToBns)(ids)));
});
}
findUnlistedSpaces(ids) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewSpaceDataArray)(yield this.subsocial.findUnlistedSpaces((0, utils_2.idsToBns)(ids)));
});
}
findPost(query) {
return __awaiter(this, void 0, void 0, function* () {
const old = yield this.subsocial.findPost(query);
return !old ? old : (0, utils_1.convertToNewPostData)(old);
});
}
findPublicPosts(ids) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostDataArray)(yield this.subsocial.findPublicPosts((0, utils_2.idsToBns)(ids)));
});
}
findPostWithSomeDetails(query) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostWithSomeDetails)(yield this.subsocial.findPostWithSomeDetails(query));
});
}
findPostWithAllDetails(id) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostWithAllDetails)(yield this.subsocial.findPostWithAllDetails((0, utils_2.idToBn)(id)));
});
}
findPostsWithAllDetails(query) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostWithAllDetailsArray)(yield this.subsocial.findPostsWithAllDetails(query));
});
}
findPublicPostsWithSomeDetails(query) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostWithSomeDetailsArray)(yield this.subsocial.findPublicPostsWithSomeDetails(query));
});
}
findPublicPostsWithAllDetails(ids) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostWithAllDetailsArray)(yield this.subsocial.findPublicPostsWithAllDetails((0, utils_2.idsToBns)(ids)));
});
}
findUnlistedPostsWithAllDetails(ids) {
return __awaiter(this, void 0, void 0, function* () {
return (0, utils_1.convertToNewPostWithAllDetailsArray)(yield this.subsocial.findUnlistedPostsWithAllDetails((0, utils_2.idsToBns)(ids)));
});
}
}
exports.FlatSubsocialApi = FlatSubsocialApi;