mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 12:11:56 +00:00
fix: make shared module independent of config.js (#1870)
This commit is contained in:
committed by
Aiden McClelland
parent
9998ed177b
commit
8beda5b0ae
@@ -1,4 +1,4 @@
|
|||||||
import { ErrorHandler, NgModule } from '@angular/core'
|
import { NgModule } from '@angular/core'
|
||||||
import { BrowserModule } from '@angular/platform-browser'
|
import { BrowserModule } from '@angular/platform-browser'
|
||||||
import { RouteReuseStrategy } from '@angular/router'
|
import { RouteReuseStrategy } from '@angular/router'
|
||||||
import { IonicModule, IonicRouteStrategy } from '@ionic/angular'
|
import { IonicModule, IonicRouteStrategy } from '@ionic/angular'
|
||||||
@@ -8,9 +8,12 @@ import { HttpClientModule } from '@angular/common/http'
|
|||||||
import { ApiService } from './services/api/api.service'
|
import { ApiService } from './services/api/api.service'
|
||||||
import { MockApiService } from './services/api/mock-api.service'
|
import { MockApiService } from './services/api/mock-api.service'
|
||||||
import { LiveApiService } from './services/api/live-api.service'
|
import { LiveApiService } from './services/api/live-api.service'
|
||||||
import { WorkspaceConfig } from '@start9labs/shared'
|
import { RELATIVE_URL, WorkspaceConfig } from '@start9labs/shared'
|
||||||
|
|
||||||
const { useMocks } = require('../../../../config.json') as WorkspaceConfig
|
const {
|
||||||
|
useMocks,
|
||||||
|
ui: { api },
|
||||||
|
} = require('../../../../config.json') as WorkspaceConfig
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AppComponent],
|
declarations: [AppComponent],
|
||||||
@@ -28,6 +31,10 @@ const { useMocks } = require('../../../../config.json') as WorkspaceConfig
|
|||||||
provide: ApiService,
|
provide: ApiService,
|
||||||
useClass: useMocks ? MockApiService : LiveApiService,
|
useClass: useMocks ? MockApiService : LiveApiService,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
provide: RELATIVE_URL,
|
||||||
|
useValue: `/${api.url}/${api.version}`,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent],
|
bootstrap: [AppComponent],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -16,9 +16,12 @@ import { SuccessPageModule } from './pages/success/success.module'
|
|||||||
import { HomePageModule } from './pages/home/home.module'
|
import { HomePageModule } from './pages/home/home.module'
|
||||||
import { LoadingPageModule } from './pages/loading/loading.module'
|
import { LoadingPageModule } from './pages/loading/loading.module'
|
||||||
import { RecoverPageModule } from './pages/recover/recover.module'
|
import { RecoverPageModule } from './pages/recover/recover.module'
|
||||||
import { WorkspaceConfig } from '@start9labs/shared'
|
import { RELATIVE_URL, WorkspaceConfig } from '@start9labs/shared'
|
||||||
|
|
||||||
const { useMocks } = require('../../../../config.json') as WorkspaceConfig
|
const {
|
||||||
|
useMocks,
|
||||||
|
ui: { api },
|
||||||
|
} = require('../../../../config.json') as WorkspaceConfig
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AppComponent],
|
declarations: [AppComponent],
|
||||||
@@ -41,6 +44,10 @@ const { useMocks } = require('../../../../config.json') as WorkspaceConfig
|
|||||||
provide: ApiService,
|
provide: ApiService,
|
||||||
useClass: useMocks ? MockApiService : LiveApiService,
|
useClass: useMocks ? MockApiService : LiveApiService,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
provide: RELATIVE_URL,
|
||||||
|
useValue: `/${api.url}/${api.version}`,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
bootstrap: [AppComponent],
|
bootstrap: [AppComponent],
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -45,6 +45,8 @@ export * from './types/rpc.types'
|
|||||||
export * from './types/url'
|
export * from './types/url'
|
||||||
export * from './types/workspace-config'
|
export * from './types/workspace-config'
|
||||||
|
|
||||||
|
export * from './tokens/relative-url'
|
||||||
|
|
||||||
export * from './util/copy-to-clipboard'
|
export * from './util/copy-to-clipboard'
|
||||||
export * from './util/base-64'
|
export * from './util/base-64'
|
||||||
export * from './util/get-pkg-id'
|
export * from './util/get-pkg-id'
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
|
import { DOCUMENT } from '@angular/common'
|
||||||
import { Inject, Injectable } from '@angular/core'
|
import { Inject, Injectable } from '@angular/core'
|
||||||
import { HttpClient } from '@angular/common/http'
|
import { HttpClient } from '@angular/common/http'
|
||||||
import { HttpError } from '../classes/http-error'
|
|
||||||
import {
|
|
||||||
HttpAngularOptions,
|
|
||||||
HttpOptions,
|
|
||||||
LocalHttpResponse,
|
|
||||||
Method,
|
|
||||||
} from '../types/http.types'
|
|
||||||
import { RPCResponse, RPCOptions } from '../types/rpc.types'
|
|
||||||
import { WorkspaceConfig } from '../types/workspace-config'
|
|
||||||
import {
|
import {
|
||||||
firstValueFrom,
|
firstValueFrom,
|
||||||
from,
|
from,
|
||||||
@@ -19,20 +11,25 @@ import {
|
|||||||
race,
|
race,
|
||||||
take,
|
take,
|
||||||
} from 'rxjs'
|
} from 'rxjs'
|
||||||
import { DOCUMENT } from '@angular/common'
|
|
||||||
|
|
||||||
const {
|
import { HttpError } from '../classes/http-error'
|
||||||
ui: { api },
|
import {
|
||||||
} = require('../../../../config.json') as WorkspaceConfig
|
HttpAngularOptions,
|
||||||
|
HttpOptions,
|
||||||
|
LocalHttpResponse,
|
||||||
|
Method,
|
||||||
|
} from '../types/http.types'
|
||||||
|
import { RPCResponse, RPCOptions } from '../types/rpc.types'
|
||||||
|
import { RELATIVE_URL } from '../tokens/relative-url'
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
})
|
})
|
||||||
export class HttpService {
|
export class HttpService {
|
||||||
relativeUrl = `/${api.url}/${api.version}`
|
|
||||||
private fullUrl: string
|
private fullUrl: string
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@Inject(RELATIVE_URL) private readonly relativeUrl: string,
|
||||||
@Inject(DOCUMENT) private readonly document: Document,
|
@Inject(DOCUMENT) private readonly document: Document,
|
||||||
private readonly http: HttpClient,
|
private readonly http: HttpClient,
|
||||||
) {
|
) {
|
||||||
|
|||||||
5
frontend/projects/shared/src/tokens/relative-url.ts
Normal file
5
frontend/projects/shared/src/tokens/relative-url.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
import { InjectionToken } from '@angular/core'
|
||||||
|
|
||||||
|
export const RELATIVE_URL = new InjectionToken<string>(
|
||||||
|
'Relative URL for requests',
|
||||||
|
)
|
||||||
@@ -2,7 +2,7 @@ import { APP_INITIALIZER, Provider } from '@angular/core'
|
|||||||
import { UntypedFormBuilder } from '@angular/forms'
|
import { UntypedFormBuilder } from '@angular/forms'
|
||||||
import { Router, RouteReuseStrategy } from '@angular/router'
|
import { Router, RouteReuseStrategy } from '@angular/router'
|
||||||
import { IonicRouteStrategy, IonNav } from '@ionic/angular'
|
import { IonicRouteStrategy, IonNav } from '@ionic/angular'
|
||||||
import { WorkspaceConfig } from '@start9labs/shared'
|
import { RELATIVE_URL, WorkspaceConfig } from '@start9labs/shared'
|
||||||
import { ApiService } from './services/api/embassy-api.service'
|
import { ApiService } from './services/api/embassy-api.service'
|
||||||
import { MockApiService } from './services/api/embassy-mock-api.service'
|
import { MockApiService } from './services/api/embassy-mock-api.service'
|
||||||
import { LiveApiService } from './services/api/embassy-live-api.service'
|
import { LiveApiService } from './services/api/embassy-live-api.service'
|
||||||
@@ -10,7 +10,10 @@ import { AuthService } from './services/auth.service'
|
|||||||
import { ClientStorageService } from './services/client-storage.service'
|
import { ClientStorageService } from './services/client-storage.service'
|
||||||
import { FilterPackagesPipe } from '../../../marketplace/src/pipes/filter-packages.pipe'
|
import { FilterPackagesPipe } from '../../../marketplace/src/pipes/filter-packages.pipe'
|
||||||
|
|
||||||
const { useMocks } = require('../../../../config.json') as WorkspaceConfig
|
const {
|
||||||
|
useMocks,
|
||||||
|
ui: { api },
|
||||||
|
} = require('../../../../config.json') as WorkspaceConfig
|
||||||
|
|
||||||
export const APP_PROVIDERS: Provider[] = [
|
export const APP_PROVIDERS: Provider[] = [
|
||||||
FilterPackagesPipe,
|
FilterPackagesPipe,
|
||||||
@@ -30,6 +33,10 @@ export const APP_PROVIDERS: Provider[] = [
|
|||||||
useFactory: appInitializer,
|
useFactory: appInitializer,
|
||||||
multi: true,
|
multi: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
provide: RELATIVE_URL,
|
||||||
|
useValue: `/${api.url}/${api.version}`,
|
||||||
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
export function appInitializer(
|
export function appInitializer(
|
||||||
|
|||||||
Reference in New Issue
Block a user