UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

117 lines (99 loc) 3.08 kB
// Type definitions for prime8consulting:meteor-oauth2 // Project: https://github.com/prime-8-consulting/meteor-oauth2/ // Definitions by: Robbie Van Gorkom <https://github.com/vangorra> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// <reference path="../meteor/meteor.d.ts" /> declare namespace OAuth2Server { interface RefreshToken { refreshToken : string; clientId : string; userId : string; expires : Date; } interface AuthCode { authCode : string; clientId : string; userId : string; expires : Date; } interface AccessToken { accessToken : string; clientId : string; userId : string; expires : Date } interface Client { clientId : string; active : boolean; redirectUri : string; clientSecret : string; } interface PubSubNames { /** * Constant string representing the auth codes pub/sub. */ authCodes : string; /** * Constant string representing the refresh token pub/sub. */ refreshTokens : string; } interface MethodNames { /** * Constant string representing th authCodeGran meteor method. */ authCodeGrant : string; } interface Collections { /** * Collection of the refresh tokens. */ refreshToken : Mongo.Collection<RefreshToken>; /** * Collection of the authorization codes. */ authCode : Mongo.Collection<AuthCode>; /** * (server only) Collection of the access tokens. */ accessToken : Mongo.Collection<AccessToken>; /** * (server only) Collection of the clients authorized to use the oauth2 service. */ client : Mongo.Collection<Client>; } interface SubscribeTo { /** * Wrapper function to subscribe to the auth code subscription. Returns a standard subscription handle. */ authCode() : Meteor.SubscriptionHandle; } interface AuthCodeGrantResult { success : boolean; error : any; authorizationCode : string; redirectToUri : string; } interface CallMethod { /** * Wrapper for Meteor.method to create an authorization code. This is an async function and a callback must be provided to be of any use. */ authCodeGrant( client_id : string, redirect_uri : string, response_type : string, scope : string[], state : string, callback : (err : Meteor.Error, authCodeGrantResult : AuthCodeGrantResult) => void ) : void; } interface OAuth2Server { pubSubNames : PubSubNames; methodNames : MethodNames; collections : Collections; oauthserver : any; subscribeTo : SubscribeTo; callMethod : CallMethod; } } declare var oAuth2Server : OAuth2Server.OAuth2Server;