Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | 1x 1x 1x 1x 1x 1x 17x 17x 1x | /**
* GPII Untrusted Local FlowManager
*
* Copyright 2015 OCAD University
* Copyright 2017 OCAD University
*
* Licensed under the New BSD license. You may not use this file except in
* compliance with this License.
*
* You may obtain a copy of the License at
* https://github.com/GPII/universal/blob/master/LICENSE.txt
*/
"use strict";
var fluid = require("infusion"),
gpii = fluid.registerNamespace("gpii");
require("accessRequester");
fluid.require("%gpii-universal/gpii/node_modules/gpii-oauth2/gpii-oauth2-utilities/src/OAuth2Utilities.js");
// The Untrusted or Hybrid (Local) FlowManager is a Local FlowManager which defers to the cloud for the matchMaking
// and Preferences fetch process. The architectural goal of the untrusted FlowManager is that the unfiltered
// user preferences never reach the local device. Therefore the userLogon stages of the "gpii.flowManager.matchMakingRequest"
// are all abridged, and instead we simply receive a final settings payload from a cloudBased flowManager which are
// then directly applied to the local device.
// Described at https://issues.gpii.net/browse/GPII-1224
// Overrides request handlers in "gpii.flowManager.local"
fluid.defaults("gpii.flowManager.untrusted", {
components: {
untrustedSettingsDataSource: {
type: "gpii.flowManager.untrustedSettingsDataSource"
// untrustedSettingsUrl: distributed down from, e.g., gpii.flowManager.untrusted.config.development
// accessTokenUrl: distributed down from, e.g., gpii.flowManager.untrusted.config.development
// clientCredentialFilePath: distributed down from, e.g., gpii.flowManager.untrusted.config.development
}
},
requestHandlers: {
userLogin: {
// NOTE that these gradesNames do not merge as with standard components
gradeNames: "gpii.flowManager.untrusted.stateChangeHandler"
},
proximityTriggered: {
gradeNames: "gpii.flowManager.untrusted.stateChangeHandler"
}
}
});
gpii.flowManager.untrusted.getSettings = function (untrustedSettingsDataSource, userToken, deviceReporterData, onMatchDone, onError) {
var settings = untrustedSettingsDataSource.get(userToken, deviceReporterData);
settings.then(onMatchDone.fire, onError.fire);
};
fluid.defaults("gpii.flowManager.untrusted.stateChangeHandler", {
gradeNames: ["fluid.component", "gpii.flowManager.userLogonHandling.stateChangeHandler"],
invokers: {
getSettings: {
funcName: "gpii.flowManager.untrusted.getSettings",
args: [
"{flowManager}.untrustedSettingsDataSource",
"{that}.userToken",
"{arguments}.0", // device reporter data
"{that}.events.onMatchDone",
"{that}.events.onError"
]
}
},
events: {
onUserToken: null,
onDeviceContext: null
},
listeners: {
"onUserToken.setUserToken": {
listener: "gpii.flowManager.setUserToken",
args: ["{that}", "{arguments}.0"]
},
"onUserToken.getDeviceContext": {
func: "{that}.getDeviceContext",
priority: "after:setUserToken"
},
"onDeviceContext.getSettings": "{that}.getSettings"
}
});
|