From 916e0d6093f5f60b4898f28aec3ddf8982572e54 Mon Sep 17 00:00:00 2001 From: edsilv <e.silverton@gmail.com> Date: Fri, 31 Jul 2015 16:55:51 +0100 Subject: [PATCH] resource services as IService --- bower.json | 2 +- dist/client/manifesto.js | 10 +++++----- dist/manifesto.d.ts | 18 +++++++++--------- dist/server/manifesto.js | 10 +++++----- package.json | 2 +- src/IManifest.ts | 8 ++++---- src/IResource.ts | 8 ++++---- src/Manifest.ts | 22 +++++++++++----------- 8 files changed, 40 insertions(+), 40 deletions(-) diff --git a/bower.json b/bower.json index 29004e12..844f818d 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "manifesto", - "version": "0.1.6", + "version": "0.1.7", "homepage": "https://github.com/edsilv/manifesto", "authors": [ "edsilv <e.silverton@gmail.com>" diff --git a/dist/client/manifesto.js b/dist/client/manifesto.js index 97ffa6cf..734e0768 100644 --- a/dist/client/manifesto.js +++ b/dist/client/manifesto.js @@ -572,8 +572,8 @@ var Manifesto; resolve(clickThrough(resource)); } else { - login(resource.loginService).then(function () { - getAccessToken(resource.tokenService).then(function (token) { + login(resource.loginService.id).then(function () { + getAccessToken(resource.tokenService.id).then(function (token) { resource.getData(token).then(function () { resolve(handleResourceResponse(resource)); }); @@ -629,7 +629,7 @@ var Manifesto; return new Promise(function (resolve, reject) { resource.getData().then(function () { if (resource.isAccessControlled) { - getStoredAccessToken(resource.tokenService).then(function (storedAccessToken) { + getStoredAccessToken(resource.tokenService.id).then(function (storedAccessToken) { if (storedAccessToken) { // try using the stored access token resource.getData(storedAccessToken).then(function () { @@ -643,8 +643,8 @@ var Manifesto; } else { // get an access token - login(resource.loginService).then(function () { - getAccessToken(resource.tokenService).then(function (accessToken) { + login(resource.loginService.id).then(function () { + getAccessToken(resource.tokenService.id).then(function (accessToken) { storeAccessToken(resource, accessToken).then(function () { resource.getData(accessToken).then(function () { resolve(resource); diff --git a/dist/manifesto.d.ts b/dist/manifesto.d.ts index fdac1f7b..221adef1 100644 --- a/dist/manifesto.d.ts +++ b/dist/manifesto.d.ts @@ -156,9 +156,9 @@ declare module Manifesto { getTree(): TreeNode; private _parseTreeNode(node, range); isMultiSequence(): boolean; - loadResource(resource: IResource, clickThrough: (resource: IResource) => void, login: (loginService: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<any>; - authorize(resource: IResource, clickThrough: (resource: IResource) => void, login: (loginService: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>): Promise<IResource>; - loadResources(resources: IResource[], clickThrough: (resource: IResource) => void, login: (loginService: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource[]>; + loadResource(resource: IResource, clickThrough: (resource: IResource) => void, login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<any>; + authorize(resource: IResource, clickThrough: (resource: IResource) => void, login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>): Promise<IResource>; + loadResources(resources: IResource[], clickThrough: (resource: IResource) => void, login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource[]>; } } declare module Manifesto { @@ -300,8 +300,8 @@ declare module Manifesto { getTotalSequences(): number; getTree(): TreeNode; isMultiSequence(): boolean; - loadResource(resource: IResource, clickThrough: (resource: IResource) => void, login: (loginService: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource>; - loadResources(resources: IResource[], clickThrough: (resource: IResource) => void, login: (loginService: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource[]>; + loadResource(resource: IResource, clickThrough: (resource: IResource) => void, login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource>; + loadResources(resources: IResource[], clickThrough: (resource: IResource) => void, login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource[]>; options: IManifestoOptions; rootRange: IRange; sequences: ISequence[]; @@ -343,15 +343,15 @@ declare module Manifesto { } declare module Manifesto { interface IResource { - clickThroughService: string; + clickThroughService: IService; data: any; dataUri: string; error: any; isAccessControlled: boolean; - loginService: string; - logoutService: string; + loginService: IService; + logoutService: IService; status: number; - tokenService: string; + tokenService: IService; getData(accessToken?: IAccessToken): Promise<IResource>; } } diff --git a/dist/server/manifesto.js b/dist/server/manifesto.js index 4955875a..f1743e6d 100644 --- a/dist/server/manifesto.js +++ b/dist/server/manifesto.js @@ -571,8 +571,8 @@ var Manifesto; resolve(clickThrough(resource)); } else { - login(resource.loginService).then(function () { - getAccessToken(resource.tokenService).then(function (token) { + login(resource.loginService.id).then(function () { + getAccessToken(resource.tokenService.id).then(function (token) { resource.getData(token).then(function () { resolve(handleResourceResponse(resource)); }); @@ -628,7 +628,7 @@ var Manifesto; return new Promise(function (resolve, reject) { resource.getData().then(function () { if (resource.isAccessControlled) { - getStoredAccessToken(resource.tokenService).then(function (storedAccessToken) { + getStoredAccessToken(resource.tokenService.id).then(function (storedAccessToken) { if (storedAccessToken) { // try using the stored access token resource.getData(storedAccessToken).then(function () { @@ -642,8 +642,8 @@ var Manifesto; } else { // get an access token - login(resource.loginService).then(function () { - getAccessToken(resource.tokenService).then(function (accessToken) { + login(resource.loginService.id).then(function () { + getAccessToken(resource.tokenService.id).then(function (accessToken) { storeAccessToken(resource, accessToken).then(function () { resource.getData(accessToken).then(function () { resolve(resource); diff --git a/package.json b/package.json index 37c3306d..b899af98 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "manifesto", - "version": "0.1.6", + "version": "0.1.7", "description": "IIIF Presentation API utility library for client and server", "main": "dist/server/manifesto.js", "scripts": { diff --git a/src/IManifest.ts b/src/IManifest.ts index 1c636dd1..98412d1b 100644 --- a/src/IManifest.ts +++ b/src/IManifest.ts @@ -19,17 +19,17 @@ module Manifesto { isMultiSequence(): boolean; loadResource(resource: IResource, clickThrough: (resource: IResource) => void, - login: (loginService: string) => Promise<void>, + login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, - getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, + getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource>; loadResources(resources: IResource[], clickThrough: (resource: IResource) => void, - login: (loginService: string) => Promise<void>, + login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, - getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, + getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource[]>; options: IManifestoOptions; rootRange: IRange; diff --git a/src/IResource.ts b/src/IResource.ts index acd6c658..79fb33c0 100644 --- a/src/IResource.ts +++ b/src/IResource.ts @@ -1,14 +1,14 @@ module Manifesto { export interface IResource { - clickThroughService: string; + clickThroughService: IService; data: any; dataUri: string; error: any; isAccessControlled: boolean; - loginService: string; - logoutService: string; + loginService: IService; + logoutService: IService; status: number; - tokenService: string; + tokenService: IService; getData(accessToken?: IAccessToken): Promise<IResource>; } diff --git a/src/Manifest.ts b/src/Manifest.ts index 563ebdd8..530277e0 100644 --- a/src/Manifest.ts +++ b/src/Manifest.ts @@ -319,10 +319,10 @@ module Manifesto { loadResource(resource: IResource, clickThrough: (resource: IResource) => void, - login: (loginService: string) => Promise<void>, + login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, - getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, + getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<any> { var options: IManifestoOptions = this.options; @@ -341,8 +341,8 @@ module Manifesto { if (resource.clickThroughService){ resolve(clickThrough(resource)); } else { - login(resource.loginService).then(() => { - getAccessToken(resource.tokenService).then((token: IAccessToken) => { + login(resource.loginService.id).then(() => { + getAccessToken(resource.tokenService.id).then((token: IAccessToken) => { resource.getData(token).then(() => { resolve(handleResourceResponse(resource)); }); @@ -407,16 +407,16 @@ module Manifesto { authorize(resource: IResource, clickThrough: (resource: IResource) => void, - login: (loginService: string) => Promise<void>, + login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, - getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>): Promise<IResource> { + getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>): Promise<IResource> { return new Promise<IResource>((resolve, reject) => { resource.getData().then(() => { if (resource.isAccessControlled) { - getStoredAccessToken(resource.tokenService).then((storedAccessToken: IAccessToken) => { + getStoredAccessToken(resource.tokenService.id).then((storedAccessToken: IAccessToken) => { if (storedAccessToken) { // try using the stored access token resource.getData(storedAccessToken).then(() => { @@ -428,8 +428,8 @@ module Manifesto { clickThrough(resource); } else { // get an access token - login(resource.loginService).then(() => { - getAccessToken(resource.tokenService).then((accessToken) => { + login(resource.loginService.id).then(() => { + getAccessToken(resource.tokenService.id).then((accessToken) => { storeAccessToken(resource, accessToken).then(() => { resource.getData(accessToken).then(() => { resolve(resource); @@ -450,10 +450,10 @@ module Manifesto { loadResources(resources: IResource[], clickThrough: (resource: IResource) => void, - login: (loginService: string) => Promise<void>, + login: (loginServiceUrl: string) => Promise<void>, getAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, storeAccessToken: (resource: IResource, token: IAccessToken) => Promise<void>, - getStoredAccessToken: (tokenService: string) => Promise<IAccessToken>, + getStoredAccessToken: (tokenServiceUrl: string) => Promise<IAccessToken>, handleResourceResponse: (resource: IResource) => Promise<any>): Promise<IResource[]> { var that = this;