@@ -251,7 +251,7 @@ angular.module('mm.core')
251251 * @param {String } [service] Service to use. If not defined, it will be searched in memory.
252252 * @param {Boolean } retry We are retrying with a prefixed URL.
253253 * @return {Promise } A promise to be resolved when the token is retrieved. If success, returns an object
254- * with the token and the siteurl to use.
254+ * with the token, private token and the siteurl to use.
255255 */
256256 self . getUserToken = function ( siteurl , username , password , service , retry ) {
257257 retry = retry || false ;
@@ -278,7 +278,7 @@ angular.module('mm.core')
278278 return $mmLang . translateAndReject ( 'mm.core.cannotconnect' ) ;
279279 } else {
280280 if ( typeof data . token != 'undefined' ) {
281- return { token : data . token , siteurl : siteurl } ;
281+ return { token : data . token , siteurl : siteurl , privatetoken : data . privatetoken } ;
282282 } else {
283283 if ( typeof data . error != 'undefined' ) {
284284 // We only allow one retry (to avoid loops).
@@ -306,21 +306,23 @@ angular.module('mm.core')
306306 * @module mm.core
307307 * @ngdoc method
308308 * @name $mmSitesManager#newSite
309- * @param {String } siteurl The site url.
310- * @param {String } token User's token.
311- * @return {Promise } A promise to be resolved when the site is added and the user is authenticated.
309+ * @param {String } siteurl The site url.
310+ * @param {String } token User's token.
311+ * @param {String } [privateToken] User's private token.
312+ * @return {Promise } A promise to be resolved when the site is added and the user is authenticated.
312313 */
313- self . newSite = function ( siteurl , token ) {
314+ self . newSite = function ( siteurl , token , privateToken ) {
315+ privateToken = privateToken || '' ;
314316
315- var candidateSite = $mmSitesFactory . makeSite ( undefined , siteurl , token ) ;
317+ var candidateSite = $mmSitesFactory . makeSite ( undefined , siteurl , token , undefined , privateToken ) ;
316318
317319 return candidateSite . fetchSiteInfo ( ) . then ( function ( infos ) {
318320 if ( isValidMoodleVersion ( infos ) ) {
319321 var validation = validateSiteInfo ( infos ) ;
320322 if ( validation === true ) {
321323 var siteid = self . createSiteID ( infos . siteurl , infos . username ) ;
322324 // Add site to sites list.
323- self . addSite ( siteid , siteurl , token , infos ) ;
325+ self . addSite ( siteid , siteurl , token , infos , privateToken ) ;
324326 // Turn candidate site into current site.
325327 candidateSite . setId ( siteid ) ;
326328 candidateSite . setInfo ( infos ) ;
@@ -439,17 +441,21 @@ angular.module('mm.core')
439441 * @module mm.core
440442 * @ngdoc method
441443 * @name $mmSitesManager#addSite
442- * @param {String } id Site ID.
443- * @param {String } siteurl Site URL.
444- * @param {String } token User's token in the site.
445- * @param {Object } infos Site's info.
444+ * @param {String } id Site ID.
445+ * @param {String } siteurl Site URL.
446+ * @param {String } token User's token in the site.
447+ * @param {Object } infos Site's info.
448+ * @param {String } [privateToken] User's private token.
449+ * @return {Promise } Promise resolved when done.
446450 */
447- self . addSite = function ( id , siteurl , token , infos ) {
451+ self . addSite = function ( id , siteurl , token , infos , privateToken ) {
452+ privateToken = privateToken || '' ;
448453 return $mmApp . getDB ( ) . insert ( mmCoreSitesStore , {
449454 id : id ,
450455 siteurl : siteurl ,
451456 token : token ,
452- infos : infos
457+ infos : infos ,
458+ privatetoken : privateToken
453459 } ) ;
454460 } ;
455461
@@ -590,7 +596,7 @@ angular.module('mm.core')
590596 return $q . when ( sites [ siteId ] ) ;
591597 } else {
592598 return $mmApp . getDB ( ) . get ( mmCoreSitesStore , siteId ) . then ( function ( data ) {
593- var site = $mmSitesFactory . makeSite ( siteId , data . siteurl , data . token , data . infos ) ;
599+ var site = $mmSitesFactory . makeSite ( siteId , data . siteurl , data . token , data . infos , data . privatetoken ) ;
594600 sites [ siteId ] = site ;
595601 return site ;
596602 } ) ;
@@ -740,14 +746,15 @@ angular.module('mm.core')
740746 * @module mm.core
741747 * @ngdoc method
742748 * @name $mmSitesManager#updateSiteToken
743- * @param {String } siteUrl Site's URL.
744- * @param {String } username Username.
745- * @param {String } token User's new token.
746- * @return {Promise } A promise to be resolved when the site is updated.
749+ * @param {String } siteUrl Site's URL.
750+ * @param {String } username Username.
751+ * @param {String } token User's new token.
752+ * @param {String } [privateToken] User's private token.
753+ * @return {Promise } A promise to be resolved when the site is updated.
747754 */
748- self . updateSiteToken = function ( siteUrl , username , token ) {
755+ self . updateSiteToken = function ( siteUrl , username , token , privateToken ) {
749756 var siteId = self . createSiteID ( siteUrl , username ) ;
750- return self . updateSiteTokenBySiteId ( siteId , token ) ;
757+ return self . updateSiteTokenBySiteId ( siteId , token , privateToken ) ;
751758 } ;
752759
753760 /**
@@ -756,19 +763,23 @@ angular.module('mm.core')
756763 * @module mm.core
757764 * @ngdoc method
758765 * @name $mmSitesManager#updateSiteTokenBySiteId
759- * @param {String } siteId Site Id.
760- * @param {String } token User's new token.
761- * @return {Promise } A promise to be resolved when the site is updated.
766+ * @param {String } siteId Site Id.
767+ * @param {String } token User's new token.
768+ * @param {String } [privateToken] User's private token.
769+ * @return {Promise } A promise to be resolved when the site is updated.
762770 */
763- self . updateSiteTokenBySiteId = function ( siteId , token ) {
771+ self . updateSiteTokenBySiteId = function ( siteId , token , privateToken ) {
772+ privateToken = privateToken || '' ;
764773 return self . getSite ( siteId ) . then ( function ( site ) {
765774 site . token = token ;
775+ site . privatetoken = privateToken ;
766776
767777 return $mmApp . getDB ( ) . insert ( mmCoreSitesStore , {
768778 id : siteId ,
769779 siteurl : site . getURL ( ) ,
770780 token : token ,
771- infos : site . getInfo ( )
781+ infos : site . getInfo ( ) ,
782+ privatetoken : privateToken
772783 } ) ;
773784 } ) ;
774785 } ;
@@ -790,7 +801,8 @@ angular.module('mm.core')
790801 id : siteid ,
791802 siteurl : site . getURL ( ) ,
792803 token : site . getToken ( ) ,
793- infos : infos
804+ infos : infos ,
805+ privatetoken : site . getPrivateToken ( )
794806 } ) . finally ( function ( ) {
795807 $mmEvents . trigger ( mmCoreEventSiteUpdated , siteid ) ;
796808 } ) ;
@@ -854,7 +866,7 @@ angular.module('mm.core')
854866 var ids = [ ] ;
855867 angular . forEach ( sites , function ( site ) {
856868 if ( ! sites [ site . id ] ) {
857- sites [ site . id ] = $mmSitesFactory . makeSite ( site . id , site . siteurl , site . token , site . infos ) ;
869+ sites [ site . id ] = $mmSitesFactory . makeSite ( site . id , site . siteurl , site . token , site . infos , site . privatetoken ) ;
858870 }
859871 if ( sites [ site . id ] . containsUrl ( url ) ) {
860872 if ( ! username || sites [ site . id ] . getInfo ( ) . username == username ) {
0 commit comments