Commit 5f026303 authored by Emiliano Balbuena's avatar Emiliano Balbuena

(wip): Get request URL

1 merge request!761WIP: Fix email confirmation on SSR
Pipeline #114984559 failed with stages
in 6 minutes and 33 seconds
import { NgModule, inject } from '@angular/core';
import { NgModule, Optional } from '@angular/core';
import {
CommonModule as NgCommonModule,
isPlatformServer,
......@@ -144,6 +144,7 @@ import { MediaProxyService } from './services/media-proxy.service';
import { HorizontalFeedService } from './services/horizontal-feed.service';
import { FormInputCheckboxComponent } from './components/forms/checkbox/checkbox.component';
import { AttachmentPasteDirective } from './directives/paste/attachment-paste.directive';
import { RequestUrlService } from './services/request-url.service';
const routes: Routes = [
{
......@@ -432,8 +433,9 @@ const routes: Routes = [
},
{
provide: ConfigsService,
useFactory: client => new ConfigsService(client),
deps: [Client],
useFactory: (client, requestUrl) =>
new ConfigsService(client, requestUrl),
deps: [Client, RequestUrlService],
},
{
provide: MetaService,
......@@ -460,6 +462,7 @@ const routes: Routes = [
useFactory: SidebarMarkersService._,
},
HorizontalFeedService,
RequestUrlService,
],
entryComponents: [
NotificationsToasterComponent,
......
import { Injectable } from '@angular/core';
import { Client } from '../api/client.service';
import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';
import { isPlatformServer } from '@angular/common';
import { RequestUrlService } from './request-url.service';
@Injectable()
export class ConfigsService {
private configs = {};
constructor(
private client: Client,
@Inject('REQUEST_URL') @Optional() private requestUrl: string
) {}
constructor(private client: Client, private requestUrl: RequestUrlService) {}
async loadFromRemote() {
const url = isPlatformServer(PLATFORM_ID)
? this.requestUrl
: window.location;
console.log({ isPlatformServer: isPlatformServer(PLATFORM_ID), url });
console.log(this.requestUrl.get());
try {
this.configs = await this.client.get('api/v1/minds/config');
......
import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';
import { isPlatformServer } from '@angular/common';
@Injectable()
export class RequestUrlService {
constructor(
@Inject('REQUEST_URL') @Optional() protected requestUrl: string
) {}
get() {
console.log({
isPlatformServer: isPlatformServer(PLATFORM_ID),
requestUrl: this.requestUrl,
});
return isPlatformServer(PLATFORM_ID)
? this.requestUrl
: window.location.toString();
}
}
......@@ -50,6 +50,7 @@ import { ConfigsService } from '../common/services/configs.service';
import { TransferHttpInterceptorService } from './transfer-http-interceptor.service';
import { CookieHttpInterceptorService } from './api/cookie-http-interceptor.service';
import { CookieService } from '../common/services/cookie.service';
import { RequestUrlService } from '../common/services/request-url.service';
export const MINDS_PROVIDERS: any[] = [
SiteService,
......@@ -187,7 +188,7 @@ export const MINDS_PROVIDERS: any[] = [
{
provide: ConfigsService,
useFactory: (client, requestUrl) => new ConfigsService(client, requestUrl),
deps: [Client, 'REQUEST_URL'],
deps: [Client, RequestUrlService],
},
{
provide: FeaturesService,
......@@ -235,4 +236,5 @@ export const MINDS_PROVIDERS: any[] = [
DiagnosticsService,
AuthService,
FormToastService,
RequestUrlService,
];
Please register or to comment