mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-11 20:40:20 +00:00
Add easy-session types
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
/// <reference path="./easy-session.d.ts" />
|
||||
/// <reference path="../express-session/express-session.d.ts" />
|
||||
/// <reference path="../cookie-parser/cookie-parser.d.ts" />
|
||||
|
||||
import express = require('express');
|
||||
import session = require('express-session');
|
||||
import cookieParser = require('cookie-parser');
|
||||
import easySession = require('easy-session'); // Require the module : line 1
|
||||
|
||||
var app = express();
|
||||
|
||||
app.use(cookieParser('secreet'));
|
||||
app.use(session({
|
||||
secret: 'keyboard cat',
|
||||
resave: false,
|
||||
saveUninitialized: true
|
||||
}));
|
||||
app.use(easySession.main(session));
|
||||
|
||||
app.get('/login', function (req, res, next) {
|
||||
req.session.login('user', {email: 'email'}, function (err) {
|
||||
if(err) {
|
||||
res.send(500);
|
||||
return;
|
||||
}
|
||||
res.send(200);
|
||||
});
|
||||
});
|
||||
|
||||
app.post('/logout', function (req, res, next) {
|
||||
req.session.logout(function (err) {
|
||||
if(err) {
|
||||
res.send(500);
|
||||
return;
|
||||
}
|
||||
res.send(200);
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/isloggedin', function (req, res, next) {
|
||||
res.send(req.session.isLoggedIn('user'));
|
||||
});
|
||||
|
||||
app.get('/isfresh', function (req, res, next) {
|
||||
res.send(req.session.isFresh());
|
||||
});
|
||||
|
||||
app.get('/hasrole', function (req, res, next) {
|
||||
res.send(req.session.hasRole('user'));
|
||||
});
|
||||
|
||||
app.post('/setrole', function (req, res, next) {
|
||||
req.session.setRole(req.query.role);
|
||||
res.send(200);
|
||||
});
|
||||
|
||||
app.get('/getrole', function (req, res, next) {
|
||||
res.send(req.session.getRole());
|
||||
});
|
||||
|
||||
app.use(easySession.isLoggedIn());
|
||||
app.use(easySession.isFresh());
|
||||
app.use(easySession.checkRole('user'));
|
||||
Vendored
+41
@@ -0,0 +1,41 @@
|
||||
// Type definitions for easy-session
|
||||
// Project: https://github.com/DeadAlready/node-easy-session
|
||||
// Definitions by: Karl Düüna <https://github.com/DeadAlready/>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../express/express.d.ts" />
|
||||
|
||||
declare module Express {
|
||||
interface ErrorCallback {
|
||||
(err?: any): void;
|
||||
}
|
||||
export interface Session {
|
||||
login(callback: Function);
|
||||
login(extend: Object, callback: ErrorCallback);
|
||||
login(role: string, callback: ErrorCallback);
|
||||
login(role: string, extend: Object, callback: ErrorCallback);
|
||||
logout(callback: ErrorCallback): void;
|
||||
isLoggedIn(role?: string): boolean;
|
||||
isGuest(): boolean;
|
||||
isFresh(): boolean;
|
||||
setRole(role: string): Session;
|
||||
getRole(): string;
|
||||
hasRole(role: string): boolean;
|
||||
}
|
||||
}
|
||||
|
||||
declare module "easy-session" {
|
||||
import express = require('express');
|
||||
|
||||
interface SessionOptions {
|
||||
ipCheck?: boolean;
|
||||
uaCheck?: boolean;
|
||||
freshTimeout?: number;
|
||||
maxFreshTimeout?: number;
|
||||
}
|
||||
|
||||
export function main(session: any, options?: SessionOptions): express.RequestHandler;
|
||||
export function isLoggedIn(errorCallback?: Function): express.RequestHandler;
|
||||
export function isFresh(errorCallback?: Function): express.RequestHandler;
|
||||
export function checkRole(role: string, errorCallback?: Function): express.RequestHandler;
|
||||
}
|
||||
Reference in New Issue
Block a user