merge services to only one

This commit is contained in:
Nicolas Constant 2018-09-08 00:49:11 -04:00
parent 5ac403b430
commit be6211a04b
No known key found for this signature in database
GPG Key ID: 1E9F677FB01A5688
4 changed files with 22 additions and 32 deletions

View File

@ -22,7 +22,6 @@ import { AccountsService } from "./services/accounts.service";
import { StreamsService } from "./services/streams.service";
import { StreamingService } from "./services/streaming.service";
import { RegisteredAppsState } from "./states/registered-apps.state";
import { AppService } from "./services/app.service";
const routes: Routes = [
{ path: "", redirectTo: "home", pathMatch: "full" },
@ -54,7 +53,7 @@ const routes: Routes = [
]),
NgxsStoragePluginModule.forRoot()
],
providers: [AppService, AuthService, AccountsService, StreamsService, StreamingService, { provide: APP_INITIALIZER, useFactory: settingsServiceFactory, deps: [AccountsService], multi: true }],
providers: [AuthService, AccountsService, StreamsService, StreamingService, { provide: APP_INITIALIZER, useFactory: settingsServiceFactory, deps: [AccountsService], multi: true }],
bootstrap: [AppComponent]
})
export class AppModule { }

View File

@ -1,13 +1,14 @@
import { Component, OnInit, Input } from "@angular/core";
import { Store, Select } from '@ngxs/store';
import { ActivatedRoute } from "@angular/router";
import { Observable } from "rxjs";
import { AuthService } from "../../services/auth.service";
import { TokenData, AppData } from "../../services/models/mastodon.interfaces";
import { AccountsService } from "../../services/accounts.service";
import { AddRegisteredApp, RegisteredAppsState, RegisteredAppsStateModel } from "../../states/registered-apps.state";
import { Observable } from "rxjs";
import { AppService } from "../../services/app.service";
import { ActivatedRoute } from "@angular/router";
@Component({
selector: "app-register-new-account",
@ -20,7 +21,6 @@ export class RegisterNewAccountComponent implements OnInit {
registeredApps$: Observable<RegisteredAppsStateModel>;
constructor(
private readonly appService: AppService,
private readonly authService: AuthService,
private readonly accountsService: AccountsService,
private readonly store: Store,
@ -78,7 +78,7 @@ export class RegisterNewAccountComponent implements OnInit {
}
const redirect_uri = localUrl + '/register';
this.appService.createNewApplication(instance, redirect_uri)
this.authService.createNewApplication(instance, redirect_uri)
.then((appData: AppData) => {
const appDataTemp = new AppDataWrapper(username, instance, appData);

View File

@ -1,24 +0,0 @@
import { Injectable } from '@angular/core';
import { ApiRoutes } from './models/api.settings';
import { AppData } from './models/mastodon.interfaces';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class AppService {
private apiRoutes = new ApiRoutes();
constructor(private readonly httpClient: HttpClient) {
}
createNewApplication(instance: string, redirectUrl: string): Promise<AppData> {
const url = 'https://' + instance + this.apiRoutes.createApp;
const formData = new FormData();
formData.append('client_name', 'Sengi');
formData.append('redirect_uris', redirectUrl);
formData.append('scopes', 'read write follow');
formData.append('website', 'https://github.com/NicolasConstant/sengi');
return this.httpClient.post<AppData>(url, formData).toPromise();
}
}

View File

@ -1,9 +1,12 @@
import { Injectable } from "@angular/core";
import { TokenData } from "./models/mastodon.interfaces";
import { ApiRoutes } from './models/api.settings';
import { AppData, TokenData } from "./models/mastodon.interfaces";
import { HttpClient } from "@angular/common/http";
@Injectable()
export class AuthService {
private apiRoutes = new ApiRoutes();
constructor(
private readonly httpClient: HttpClient) {
}
@ -13,4 +16,16 @@ export class AuthService {
return this.httpClient.post<TokenData>(url, null).toPromise();
}
createNewApplication(instance: string, redirectUrl: string): Promise<AppData> {
const url = 'https://' + instance + this.apiRoutes.createApp;
const formData = new FormData();
formData.append('client_name', 'Sengi');
formData.append('redirect_uris', redirectUrl);
formData.append('scopes', 'read write follow');
formData.append('website', 'https://github.com/NicolasConstant/sengi');
return this.httpClient.post<AppData>(url, formData).toPromise();
}
}