summaryrefslogtreecommitdiff
path: root/front/src/logic/requests/nostril.ts
diff options
context:
space:
mode:
Diffstat (limited to 'front/src/logic/requests/nostril.ts')
-rw-r--r--front/src/logic/requests/nostril.ts139
1 files changed, 0 insertions, 139 deletions
diff --git a/front/src/logic/requests/nostril.ts b/front/src/logic/requests/nostril.ts
deleted file mode 100644
index 6f0edcf..0000000
--- a/front/src/logic/requests/nostril.ts
+++ /dev/null
@@ -1,139 +0,0 @@
-import type Urbit from "urbit-api";
-import type { Cursor, PostID, SentPoast } from "@/types/trill";
-import type { Ship } from "@/types/urbit";
-import { FeedPostCount } from "../constants";
-import type { UserProfile } from "@/types/nostril";
-
-// Subscribe
-type Handler = (date: any) => void;
-export default class IO {
- airlock;
- constructor(airlock: Urbit) {
- this.airlock = airlock;
- }
- private async poke(json: any) {
- return this.airlock.poke({ app: "nostril", mark: "json", json });
- }
- private async scry(path: string) {
- return this.airlock.scry({ app: "nostril", path });
- }
- private async sub(path: string, handler: Handler) {
- const err = (err: any, _id: string) =>
- console.log(err, "error on nostril subscription");
- const quit = (data: any) =>
- console.log(data, "nostril subscription kicked");
- const res = await this.airlock.subscribe({
- app: "nostril",
- path,
- event: handler,
- err,
- quit,
- });
- console.log(res, "subscribed to nostril agent");
- }
- async unsub(sub: number) {
- return await this.airlock.unsubscribe(sub);
- }
- // subs
- async subscribeStore(handler: Handler) {
- const res = await this.sub("/ui", handler);
- return res;
- }
- // scries
-
- async scryFeed(start: Cursor, end: Cursor, desc = true) {
- const order = desc ? 1 : 0;
- const term = "feed";
-
- const path = `/j/feed/${term}/${start}/${end}/${FeedPostCount}/${order}`;
- return await this.scry(path);
- }
- async scryPost(
- host: Ship,
- id: PostID,
- start: Cursor,
- end: Cursor,
- desc = true,
- ) {
- const order = desc ? 1 : 0;
-
- const path = `/j/post/${host}/${id}/${start}/${end}/${FeedPostCount}/${order}`;
- return await this.scry(path);
- }
- // pokes
-
- async pokeAlive() {
- return await this.poke({ alive: true });
- }
- async addPost(pubkey: string, content: string) {
- const json = { add: { pubkey, content } };
- return this.poke({ post: json });
- }
- // async addPost(post: SentPoast, gossip: boolean) {
- // const json = {
- // "new-post": {
- // "sent-post": post,
- // gossip,
- // },
- // };
- // return this.poke(json);
- // }
-
- async deletePost(id: string) {
- const host = `~${this.airlock.ship}`;
- const json = {
- "del-post": {
- ship: host,
- id: id,
- },
- };
- return this.poke(json);
- }
-
- async addReact(ship: Ship, id: PostID, reaction: string) {
- const json = {
- "new-react": {
- react: reaction,
- pid: {
- id: id,
- ship: ship,
- },
- },
- };
-
- return this.poke(json);
- }
-
- // follows
- async follow(ship: Ship) {
- const json = { add: ship };
- return this.poke({ fols: json });
- }
-
- async unfollow(ship: Ship) {
- const json = { del: ship };
- return await this.poke({ fols: json });
- }
- // profiles
- async createProfile(pubkey: string, profile: UserProfile) {
- const json = { add: { pubkey, profile } };
- return await this.poke({ prof: json });
- }
- async createKey() {
- const json = { add: null };
- return await this.poke({ keys: json });
- }
- async removeKey(pubkey: string) {
- const json = { del: pubkey };
- return await this.poke({ keys: json });
- }
- // relaying
- async relayPost(host: string, id: string, relays: string[]) {
- const json = { send: { host, id, relays } };
- return await this.poke({ rela: json });
- }
-}
-
-// notifications
-
-// mark as read