refactorization app creation calling order
This commit is contained in:
parent
6784f43cfc
commit
4f117e87cd
|
@ -70,39 +70,34 @@ export class RegisterNewAccountComponent implements OnInit {
|
||||||
const username = fullHandle[0];
|
const username = fullHandle[0];
|
||||||
const instance = fullHandle[1];
|
const instance = fullHandle[1];
|
||||||
|
|
||||||
|
this.checkAndCreateApplication(instance)
|
||||||
|
.then((appData: AppData) => {
|
||||||
|
this.redirectToInstanceAuthPage(username, instance, appData);
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private checkAndCreateApplication(instance: string): Promise<AppData> {
|
||||||
const alreadyRegisteredApps = this.getAllSavedApps();
|
const alreadyRegisteredApps = this.getAllSavedApps();
|
||||||
const instanceApps = alreadyRegisteredApps.filter(x => x.instance === instance);
|
const instanceApps = alreadyRegisteredApps.filter(x => x.instance === instance);
|
||||||
|
|
||||||
if (instanceApps.length !== 0) {
|
if (instanceApps.length !== 0) {
|
||||||
console.log('instance already registered');
|
console.log('instance already registered');
|
||||||
const appData = instanceApps[0].app;
|
return Promise.resolve(instanceApps[0].app);
|
||||||
this.redirectToInstanceAuthPage(username, instance, appData);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log('instance not registered');
|
console.log('instance not registered');
|
||||||
const redirect_uri = this.getLocalHostname() + '/register';
|
const redirect_uri = this.getLocalHostname() + '/register';
|
||||||
this.authService.createNewApplication(instance, 'Sengi', redirect_uri, 'read write follow', 'https://github.com/NicolasConstant/sengi')
|
return this.authService.createNewApplication(instance, 'Sengi', redirect_uri, 'read write follow', 'https://github.com/NicolasConstant/sengi')
|
||||||
.then((appData: AppData) => {
|
.then((appData: AppData) => {
|
||||||
this.saveNewApp(instance, appData)
|
return this.saveNewApp(instance, appData)
|
||||||
.then(() => {
|
.then(() => { return appData; });
|
||||||
this.redirectToInstanceAuthPage(username, instance, appData);
|
|
||||||
});
|
|
||||||
})
|
})
|
||||||
.catch(err => {
|
|
||||||
console.error(err);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private getLocalHostname(): string {
|
private getLocalHostname(): string {
|
||||||
let localHostname = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
|
let localHostname = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
|
||||||
|
|
||||||
//Electron hack
|
|
||||||
if (localHostname === 'file://') {
|
|
||||||
localHostname = 'http://localhost:4200';
|
|
||||||
}
|
|
||||||
|
|
||||||
return localHostname;
|
return localHostname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue