Add an interface for MatrixClientCreds
and make MatrixClientPeg functions use it consistently
This commit is contained in:
parent
cf7e7d65c8
commit
d9a7d50a03
3 changed files with 25 additions and 11 deletions
|
@ -31,10 +31,7 @@ import dis from './dispatcher';
|
||||||
function setLoggedIn(credentials) {
|
function setLoggedIn(credentials) {
|
||||||
credentials.guest = Boolean(credentials.guest);
|
credentials.guest = Boolean(credentials.guest);
|
||||||
console.log("onLoggedIn => %s (guest=%s)", credentials.userId, credentials.guest);
|
console.log("onLoggedIn => %s (guest=%s)", credentials.userId, credentials.guest);
|
||||||
MatrixClientPeg.replaceUsingAccessToken(
|
MatrixClientPeg.replaceUsingCreds(credentials);
|
||||||
credentials.homeserverUrl, credentials.identityServerUrl,
|
|
||||||
credentials.userId, credentials.accessToken, credentials.guest
|
|
||||||
);
|
|
||||||
|
|
||||||
dis.dispatch({action: 'on_logged_in'});
|
dis.dispatch({action: 'on_logged_in'});
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,14 @@ function deviceId() {
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface MatrixClientCreds {
|
||||||
|
homeserverUrl: string,
|
||||||
|
identityServerUrl: string,
|
||||||
|
userId: string,
|
||||||
|
accessToken: string,
|
||||||
|
guest: boolean,
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wrapper object for handling the js-sdk Matrix Client object in the react-sdk
|
* Wrapper object for handling the js-sdk Matrix Client object in the react-sdk
|
||||||
* Handles the creation/initialisation of client objects.
|
* Handles the creation/initialisation of client objects.
|
||||||
|
@ -70,8 +78,14 @@ class MatrixClientPeg {
|
||||||
* Replace this MatrixClientPeg's client with a client instance that has
|
* Replace this MatrixClientPeg's client with a client instance that has
|
||||||
* Home Server / Identity Server URLs and active credentials
|
* Home Server / Identity Server URLs and active credentials
|
||||||
*/
|
*/
|
||||||
replaceUsingAccessToken(hs_url, is_url, user_id, access_token, isGuest) {
|
replaceUsingCreds(creds: MatrixClientCreds) {
|
||||||
this._replaceClient(hs_url, is_url, user_id, access_token, isGuest);
|
this._replaceClient(
|
||||||
|
creds.homeserverUrl,
|
||||||
|
creds.identityServerUrl,
|
||||||
|
creds.userId,
|
||||||
|
creds.accessToken,
|
||||||
|
creds.guest,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
_replaceClient(hs_url, is_url, user_id, access_token, isGuest) {
|
_replaceClient(hs_url, is_url, user_id, access_token, isGuest) {
|
||||||
|
@ -103,7 +117,7 @@ class MatrixClientPeg {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getCredentials() {
|
getCredentials(): MatrixClientCreds {
|
||||||
return {
|
return {
|
||||||
homeserverUrl: this.matrixClient.baseUrl,
|
homeserverUrl: this.matrixClient.baseUrl,
|
||||||
identityServerUrl: this.matrixClient.idBaseUrl,
|
identityServerUrl: this.matrixClient.idBaseUrl,
|
||||||
|
|
|
@ -340,10 +340,13 @@ module.exports = React.createClass({
|
||||||
|
|
||||||
var client = MatrixClientPeg.get();
|
var client = MatrixClientPeg.get();
|
||||||
client.loginWithToken(payload.params.loginToken).done(function(data) {
|
client.loginWithToken(payload.params.loginToken).done(function(data) {
|
||||||
MatrixClientPeg.replaceUsingAccessToken(
|
MatrixClientPeg.replaceUsingCreds({
|
||||||
client.getHomeserverUrl(), client.getIdentityServerUrl(),
|
homeserverUrl: client.getHomeserverUrl(),
|
||||||
data.user_id, data.access_token
|
identityServerUrl: client.getIdentityServerUrl(),
|
||||||
);
|
userId: data.user_id,
|
||||||
|
accessToken: data.access_token,
|
||||||
|
guest: false,
|
||||||
|
});
|
||||||
self.setState({
|
self.setState({
|
||||||
screen: undefined,
|
screen: undefined,
|
||||||
logged_in: true
|
logged_in: true
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue