fabrikantencore 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +27 -0
  2. package/esm2020/fabrikantencore.mjs +5 -0
  3. package/esm2020/public_api.mjs +4 -0
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.mjs +17 -0
  5. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.mjs +14 -0
  6. package/esm2020/src/app/modules/fabrikantencore/components/fab-button/fab-button.component.mjs +21 -0
  7. package/esm2020/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.mjs +23 -0
  8. package/esm2020/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +83 -0
  9. package/esm2020/src/app/modules/fabrikantencore/helpers/auth.guard.mjs +29 -0
  10. package/esm2020/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.mjs +26 -0
  11. package/esm2020/src/app/modules/fabrikantencore/helpers/error.interceptor.mjs +27 -0
  12. package/esm2020/src/app/modules/fabrikantencore/services/authentication.service.mjs +44 -0
  13. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +341 -0
  14. package/fesm2015/fabrikantencore.mjs +588 -0
  15. package/fesm2015/fabrikantencore.mjs.map +1 -0
  16. package/fesm2020/fabrikantencore.mjs +584 -0
  17. package/fesm2020/fabrikantencore.mjs.map +1 -0
  18. package/index.d.ts +5 -0
  19. package/package.json +42 -0
  20. package/public_api.d.ts +3 -0
  21. package/src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.d.ts +8 -0
  22. package/src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.d.ts +8 -0
  23. package/src/app/modules/fabrikantencore/components/fab-button/fab-button.component.d.ts +11 -0
  24. package/src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.d.ts +10 -0
  25. package/src/app/modules/fabrikantencore/fabrikantencore.module.d.ts +15 -0
  26. package/src/app/modules/fabrikantencore/helpers/auth.guard.d.ts +11 -0
  27. package/src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.d.ts +11 -0
  28. package/src/app/modules/fabrikantencore/helpers/error.interceptor.d.ts +11 -0
  29. package/src/app/modules/fabrikantencore/services/authentication.service.d.ts +14 -0
  30. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +81 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fabrikantencore.mjs","sources":["../../src/app/modules/fabrikantencore/swagger/SwaggerClient.ts","../../src/app/modules/fabrikantencore/components/fab-button/fab-button.component.ts","../../src/app/modules/fabrikantencore/components/fab-button/fab-button.component.html","../../src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.ts","../../src/app/modules/fabrikantencore/components/fab-filters/fab-filters.component.html","../../src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-main/beheer-main.component.html","../../src/app/modules/fabrikantencore/services/authentication.service.ts","../../src/app/modules/fabrikantencore/helpers/basic-auth.interceptor.ts","../../src/app/modules/fabrikantencore/helpers/error.interceptor.ts","../../src/app/modules/fabrikantencore/helpers/auth.guard.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.ts","../../src/app/modules/fabrikantencore/beheer/components/beheer-inlog/beheer-inlog.component.html","../../src/app/modules/fabrikantencore/fabrikantencore.module.ts","../../fabrikantencore.ts"],"sourcesContent":["//----------------------\r\n// <auto-generated>\r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// </auto-generated>\r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { mergeMap as _observableMergeMap, catchError as _observableCatch } from 'rxjs/operators';\r\nimport { Observable, throwError as _observableThrow, of as _observableOf } from 'rxjs';\r\nimport { Injectable, Inject, Optional, InjectionToken } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpResponse, HttpResponseBase } from '@angular/common/http';\r\n\r\nexport const API_BASE_URL = new InjectionToken<string>('API_BASE_URL');\r\n\r\n@Injectable()\r\nexport class FiltersApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n getFilterViewModel(): Observable<FilterViewModel> {\r\n let url_ = this.baseUrl + \"/api/filters/viewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFilterViewModel(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFilterViewModel(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FilterViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FilterViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFilterViewModel(response: HttpResponseBase): Observable<FilterViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FilterViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n\r\n getFilterViewModel2(): Observable<FilterViewModel> {\r\n let url_ = this.baseUrl + \"/api/filters/viewmodel2\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ : any = {\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"get\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processGetFilterViewModel2(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processGetFilterViewModel2(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<FilterViewModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<FilterViewModel>;\r\n }));\r\n }\r\n\r\n protected processGetFilterViewModel2(response: HttpResponseBase): Observable<FilterViewModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FilterViewModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class SecurityApiClient {\r\n private http: HttpClient;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(@Inject(HttpClient) http: HttpClient, @Optional() @Inject(API_BASE_URL) baseUrl?: string) {\r\n this.http = http;\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n authenticateUser(pLoginRequestModel: LoginRequestModel): Observable<LoginResponseModel> {\r\n let url_ = this.baseUrl + \"/api/security/authenticateuser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pLoginRequestModel);\r\n\r\n let options_ : any = {\r\n body: content_,\r\n observe: \"response\",\r\n responseType: \"blob\",\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n })\r\n };\r\n\r\n return this.http.request(\"post\", url_, options_).pipe(_observableMergeMap((response_ : any) => {\r\n return this.processAuthenticateUser(response_);\r\n })).pipe(_observableCatch((response_: any) => {\r\n if (response_ instanceof HttpResponseBase) {\r\n try {\r\n return this.processAuthenticateUser(response_ as any);\r\n } catch (e) {\r\n return _observableThrow(e) as any as Observable<LoginResponseModel>;\r\n }\r\n } else\r\n return _observableThrow(response_) as any as Observable<LoginResponseModel>;\r\n }));\r\n }\r\n\r\n protected processAuthenticateUser(response: HttpResponseBase): Observable<LoginResponseModel> {\r\n const status = response.status;\r\n const responseBlob =\r\n response instanceof HttpResponse ? response.body :\r\n (response as any).error instanceof Blob ? (response as any).error : undefined;\r\n\r\n let _headers: any = {}; if (response.headers) { for (let key of response.headers.keys()) { _headers[key] = response.headers.get(key); }}\r\n if (status === 200) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LoginResponseModel.fromJS(resultData200);\r\n return _observableOf(result200);\r\n }));\r\n } else if (status !== 200 && status !== 204) {\r\n return blobToText(responseBlob).pipe(_observableMergeMap((_responseText: string) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }));\r\n }\r\n return _observableOf(null as any);\r\n }\r\n}\r\n\r\nexport class FilterViewModel implements IFilterViewModel {\r\n id!: number;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFilterViewModel {\r\n id: number;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class LoginResponseModel implements ILoginResponseModel {\r\n name?: string | undefined;\r\n roles?: string[] | undefined;\r\n loginSuccess!: boolean;\r\n authData?: string | undefined;\r\n\r\n constructor(data?: ILoginResponseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n this.loginSuccess = _data[\"loginSuccess\"];\r\n this.authData = _data[\"authData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginResponseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginResponseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n data[\"loginSuccess\"] = this.loginSuccess;\r\n data[\"authData\"] = this.authData;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginResponseModel {\r\n name?: string | undefined;\r\n roles?: string[] | undefined;\r\n loginSuccess: boolean;\r\n authData?: string | undefined;\r\n}\r\n\r\nexport class LoginRequestModel implements ILoginRequestModel {\r\n name?: string | undefined;\r\n password?: string | undefined;\r\n\r\n constructor(data?: ILoginRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (<any>this)[property] = (<any>data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoginRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoginRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoginRequestModel {\r\n name?: string | undefined;\r\n password?: string | undefined;\r\n}\r\n\r\nexport class ApiException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): Observable<any> {\r\n if (result !== null && result !== undefined)\r\n return _observableThrow(result);\r\n else\r\n return _observableThrow(new ApiException(message, status, response, headers, null));\r\n}\r\n\r\nfunction blobToText(blob: any): Observable<string> {\r\n return new Observable<string>((observer: any) => {\r\n if (!blob) {\r\n observer.next(\"\");\r\n observer.complete();\r\n } else {\r\n let reader = new FileReader();\r\n reader.onload = event => {\r\n observer.next((event.target as any).result);\r\n observer.complete();\r\n };\r\n reader.readAsText(blob);\r\n }\r\n });\r\n}","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'fab-button',\n templateUrl: './fab-button.component.html',\n styleUrls: ['./fab-button.component.scss']\n})\n\nexport class FabButtonComponent implements OnInit {\n\n @Input() text: string; \n @Input() icon: string; \n @Input() clickfunction: () => void;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<button class=\"card card-small\" tabindex=\"0\" (click)=\"clickfunction()\">\n <svg *ngIf=\"icon == 'plus'\" class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\" /></svg>\n <span>{{ text }}</span>\n <svg *ngIf=\"icon == 'arrow'\" class=\"material-icons\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" /></svg>\n</button>\n","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\nimport { FiltersApiClient, FilterViewModel } from '../../swagger/SwaggerClient';\n\n@Component({\n selector: 'fab-filters',\n templateUrl: './fab-filters.component.html',\n styleUrls: ['./fab-filters.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class FabFiltersComponent {\n\n public FilterViewModel: FilterViewModel;\n\n constructor(private filtersapiclient: FiltersApiClient) {\n this.filtersapiclient.getFilterViewModel().subscribe(model => {\n this.FilterViewModel = model;\n });\n }\n\n public Click() {\n alert('test');\r\n }\n}\n","test fab-filters\r\n\r\n<div *ngIf=\"FilterViewModel != null\">\r\n {{ FilterViewModel.name }}\r\n</div>\r\n\r\n<fab-button [text]=\"'test'\" [clickfunction]=\"Click\"></fab-button>\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-beheer-main',\n templateUrl: './beheer-main.component.html',\n styleUrls: ['./beheer-main.component.css']\n})\nexport class BeheerMainComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","<p>\n beheer-main works!\n</p>\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { SecurityApiClient, LoginRequestModel, LoginResponseModel } from '../swagger/SwaggerClient';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n private currentUserSubject: BehaviorSubject<LoginResponseModel>;\r\n public currentUser: Observable<LoginResponseModel>;\r\n\r\n constructor(private securityApiClient: SecurityApiClient) {\r\n this.currentUserSubject = new BehaviorSubject<LoginResponseModel>(JSON.parse(localStorage.getItem('currentUser') + \"\"));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): LoginResponseModel {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login(username: string, password: string) {\r\n\r\n var model: LoginRequestModel = new LoginRequestModel();\r\n\r\n this.securityApiClient.authenticateUser(model).subscribe(model => {\r\n\r\n // store user details and basic auth credentials in local storage to keep user logged in between page refreshes\r\n if (model.loginSuccess) {\r\n model.authData = window.btoa(username + ':' + password);\r\n localStorage.setItem('currentUser', JSON.stringify(model));\r\n this.currentUserSubject.next(model);\r\n }\r\n //return user;\r\n });\r\n\r\n }\r\n\r\n logout() {\r\n //this.http.post<any>(`/api/Fabrikanten/LogoutUser`, null)\r\n //\t.subscribe({\r\n //\t\tnext: data => {\r\n //\t\t\t// remove user from local storage to log user out\r\n //\t\t\tlocalStorage.removeItem('currentUser');\r\n //\t\t\tthis.currentUserSubject.next(null);\r\n //\t\t}\r\n //\t});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class BasicAuthInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n // add authorization header with basic auth credentials if available\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.authData) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Basic ${currentUser.authData}`\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload();\r\n }\r\n\r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n //this.router.navigate(['/beheer/inloggen'], { queryParams: { returnUrl: state.url } });\r\n \r\n // or without return url lol\r\n this.router.navigate(['/beheer/inloggen']);\r\n\r\n return false;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-beheer-inlog',\n templateUrl: './beheer-inlog.component.html',\n styleUrls: ['./beheer-inlog.component.scss']\n})\nexport class BeheerInlogComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n<div class=\"container\">\n <div class=\"inlogdialog\">\n <div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Gebruikersnaam</mat-label>\n <input type=\"text\" matInput value=\"\">\n </mat-form-field>\n </div>\n <div>\n <mat-form-field appearance=\"fill\">\n <mat-label>Wachtwoord</mat-label>\n <input type=\"password\" matInput value=\"\">\n </mat-form-field>\n </div>\n\n <div class=\"button-bar\">\n <button mat-raised-button>Login</button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\n\r\nimport { FabFiltersComponent } from './components/fab-filters/fab-filters.component';\r\nimport { FiltersApiClient, SecurityApiClient } from './swagger/SwaggerClient';\r\nimport { BeheerMainComponent } from './beheer/components/beheer-main/beheer-main.component';\r\n\r\n// Admin components\r\nimport { BasicAuthInterceptor } from './helpers/basic-auth.interceptor';\r\nimport { ErrorInterceptor } from './helpers/error.interceptor';\r\nimport { AuthGuard } from './helpers/auth.guard';\r\nimport { BeheerInlogComponent } from './beheer/components/beheer-inlog/beheer-inlog.component';\r\nimport { FabButtonComponent } from './components/fab-button/fab-button.component';\r\n\r\n// Material\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nconst routes: Routes = [\r\n { path: '', component: FabFiltersComponent },\r\n {\r\n path: 'beheer', children: [\r\n { path: 'inloggen', component: BeheerInlogComponent },\r\n { path: 'overview', component: BeheerMainComponent, canActivate: [AuthGuard] },\r\n { path: '', component: BeheerMainComponent, pathMatch: 'full' }\r\n ]\r\n },\r\n { path: '**', pathMatch: 'full', component: FabFiltersComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n MatInputModule,\r\n MatButtonModule,\r\n RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: 'enabled',\r\n anchorScrolling: 'enabled',\r\n }),\t\r\n ],\r\n declarations: [\r\n FabFiltersComponent,\r\n BeheerMainComponent,\r\n BeheerInlogComponent,\r\n FabButtonComponent\r\n ],\r\n providers: [\r\n FiltersApiClient,\r\n SecurityApiClient,\r\n { provide: HTTP_INTERCEPTORS, useClass: BasicAuthInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n ],\r\n exports: [\r\n FabFiltersComponent\r\n ]\r\n})\r\n\r\nexport class FabrikantenCoreModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_observableMergeMap","_observableCatch","_observableThrow","_observableOf","i1","i1.FiltersApiClient","i2","i3.FabButtonComponent","i1.SecurityApiClient","i1.AuthenticationService","i2.AuthenticationService"],"mappings":"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"}