/// /// import client = require('../client'); import APIError = require('../APIError'); import roles = require("./roles"); import restify = require('restify'); export enum UserStatus { /** * active user able to log into the system */ active = 0, /** * Locked out of the system due to password or other issues */ lockedOut = 1 } export enum UserType { email = 0, facebook = 1, twitter = 2, linkedIn = 3 } export class User { public id: number; public name: string; public password: string; public firstName: string; public lastName: string; public status: UserStatus = UserStatus.active; public createdDate: Date; public lastUpdated: Date; public ipAddress: string; public roles: Array; } export function create(params: any, callback: (err?: APIError, result?: any) => void) { try{ client.post('/v1/users', params, function(err, req: restify.Request, res: restify.Response, result: any) { if (err) // first, check for an exception callback(err); else if (!result) // then check for a missing result callback(new APIError()); else callback(null, result.data); // finally, return the payload }); } catch(err) { callback(err); } } export function authorize(accessToken: string, callback: (err?: APIError, result?: any) => void) { try{ var params = { "accessToken": accessToken }; client.post('/v1/authorize', params, function(err, req: restify.Request, res: restify.Response, result: any) { if (err) // first, check for an exception callback(err); else if (!result) // then check for a missing result callback(new APIError()); else callback(null, result.data); // finally, return the payload }); } catch(err) { callback(err); } }