Socket
Socket
Sign inDemoInstall

gist-oauth

Package Overview
Dependencies
65
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    gist-oauth

A package that provides easy way to call Gist Github's API.


Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

gist-oauth

  • A small library (< 4kb when minimized and gzipped) through which we can call all Gist APIs provided by github.
  • If it is an express application, It is recommended to use with github-oauth-express for OAuth. A small < 6kb package. (A five min simple implementation for getting github Auth token)
  • Or else you can use your own way of getting OAuth Token from github. As authToken is essential for accessing user specific datas.
npm install --save github-oauth-express gist-oauth

Contents

Initial Setup

const express = require('express');
const app = express();

const githubAPI = require('github-oauth-express');
const gistOAuth = require('gist-oauth');

// YOUR EXPRESS APPLICATION

githubAPI(
  app, // Send your app instance to get OAuth Access
  {
    clientId: 'YOUR_CLIENT_ID',
    clientSecret: 'YOUR_CLIENT_SECRET',
    redirectURL: '/oauth-call'
  }
)
  .then(authToken => {
    console.log('Obtained Auth token');
    const gistAPI = gistOauth(authToken);

    // gistAPI provides all Gist's API
    // For Eg:
    gistAPI
      .getGists() // returns all public and secret gists of that user.
      .then(res => console.log('res:', res))
      .catch(err => console.log('err:', err));
  })
  .catch(err => console.log(err));

APIs

  • Every API returns a promise. Results are obtained in resolved object. So if any error occured during the process then it will be rejected.

List a user's gists

Parameters

  • since - optional This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ. Only gists updated at or after this time are returned.
gistAPI
  .getGists(since) // returns all public and secret gists of that user.
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

List all public gists

Parameters

  • since - optional This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ. Only gists updated at or after this time are returned.
gistAPI
  .getPublic(since)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

List starred gists

Parameters

  • since - optional This is a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ. Only gists updated at or after this time are returned.
gistAPI
  .getStarred(since)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

Get a single gist

Parameters

  • gistId - Particular ID of the gist obtained in above APIs.
gistAPI
  .getGist(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

Get a specific revision of a gist

Parameters

  • gistId - Particular ID of the gist obtained in above APIs.
  • sha - Particular file's SHA
gistAPI
  .getSpecificRevision(gistId, sha)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

Create a gist

Parameters

  • files (object) - List of files. They must be of format like

    const files = {
      'file1.txt': {
        content: 'Entire file contents'
      },
      'file2.py': {
        content: "print('Hello world')"
      }
    };
    
  • description (string) - A small description about the gist.

  • isPublic (boolean) - true if public and false to create a secret gist.

gistAPI
  .create(files, description, isPublic)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

Edit a gist

Parameters

  • gistId (string) - Gist Id of the particular gist.

  • files (object) - Files of format

    const files = {
      'file1.txt': {
        content: 'Entire file contents'
      },
      'file2.py': {
        content: "print('Hello world')"
      }
    };
    

    with edited contents.

  • description (string) - Updated description

gistAPI
  .edit(gistId, files, description)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

List gist commits

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .getCommitsList(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

Star a gist

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .starGist(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response - If done - Just resolves, else rejects the promise.

Unstar a gist

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .unStarGist(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response - If done - Just resolves, else rejects the promise.

Check if a gist is starred

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .isGistStarred(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response - true if starred. false if unstarred.

Fork a gist

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .forkGist(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

List gist forks

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .getForksList(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response

Delete a gist

Parameters

  • gistId (string) - Gist Id of the particular gist.
gistAPI
  .deleteGist(gistId)
  .then(res => console.log('res:', res))
  .catch(err => console.log('err:', err));

Response - If done - Just resolves, else rejects the promise.

For all API Responses refer Gist Github API reference.

Keywords

FAQs

Last updated on 07 Apr 2020

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc