JSPM

cohost

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q40413F
  • License MIT

Unofficial API for cohost.org

Package Exports

  • cohost
  • cohost/lib.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cohost) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

cohost.js

Unofficial API for cohost.org

Install

npm i cohost

Usage

const cohost = require("cohost");

(async function () {
  // Create User and authenticate
  let user = new cohost.User();
  await user.login("YOUR_EMAIL", "YOUR_PASSWORD");

  // Get first Project of user
  let [project] = await user.getProjects();

  // Create Post
  await cohost.Post.create(project, {
    postState: 1,
    headline: "hello world from cohost.js",
    adultContent: false,
    blocks: [],
    cws: [],
    tags: []
  });

  // Get Posts of Project
  let posts = await project.getPosts();

  // Create a draft with attachments

  // 1. Create a draft
  const draftId = await cohost.Post.create(myProject, basePost);

  // 2. Upload the attachment
  const attachmentData = await myProject.uploadAttachment(
    draftId,
    path.resolve(__dirname, "./02-15_One_pr.png")
  );

  // 3. Add the attachment block to the draft and publish it
  await cohost.Post.update(myProject, draftId, {
    ...basePost,
    postState: 1,
    blocks: [
      ...basePost.blocks,
      { type: "attachment", attachment: { ...attachmentData } }
    ]
  });
})();

Features

Works:

  • Logging in
  • Getting the posts of a project
  • Creating a post

Doesn't work:

  • Editing a post: possible, haven't done it
  • Sharing a post: possible, haven't done it
  • Liking a post: possible, haven't done it
  • Getting notifications: possible, haven't done it
  • Getting the home feed: possible, haven't done it
  • Editing profiles: possible, haven't done it
  • Getting followers and following: possible, haven't done it
  • Getting bookmarks and bookmarking: possible, haven't done it
  • Getting a post by its ID: seems impossible? endpoint seems to be disabled
  • Getting posts from a tag: haven''t checked
  • ...everything else