aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/core/rest/rest-extractor.service.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/app/core/rest/rest-extractor.service.ts')
-rw-r--r--client/src/app/core/rest/rest-extractor.service.ts23
1 files changed, 15 insertions, 8 deletions
diff --git a/client/src/app/core/rest/rest-extractor.service.ts b/client/src/app/core/rest/rest-extractor.service.ts
index 8a2974563..7eec2eca6 100644
--- a/client/src/app/core/rest/rest-extractor.service.ts
+++ b/client/src/app/core/rest/rest-extractor.service.ts
@@ -1,14 +1,17 @@
1import { throwError as observableThrowError } from 'rxjs' 1import { throwError as observableThrowError } from 'rxjs'
2import { Injectable } from '@angular/core' 2import { Inject, Injectable, LOCALE_ID } from '@angular/core'
3import { Router } from '@angular/router' 3import { Router } from '@angular/router'
4import { dateToHuman } from '@app/helpers' 4import { DateFormat, dateToHuman } from '@app/helpers'
5import { HttpStatusCode, ResultList } from '@shared/models'
6import { logger } from '@root-helpers/logger' 5import { logger } from '@root-helpers/logger'
6import { HttpStatusCode, ResultList } from '@shared/models'
7 7
8@Injectable() 8@Injectable()
9export class RestExtractor { 9export class RestExtractor {
10 10
11 constructor (private router: Router) { } 11 constructor (
12 @Inject(LOCALE_ID) private localeId: string,
13 private router: Router
14 ) { }
12 15
13 applyToResultListData <T, A, U> ( 16 applyToResultListData <T, A, U> (
14 result: ResultList<T>, 17 result: ResultList<T>,
@@ -23,13 +26,17 @@ export class RestExtractor {
23 } 26 }
24 } 27 }
25 28
26 convertResultListDateToHuman <T> (result: ResultList<T>, fieldsToConvert: string[] = [ 'createdAt' ]): ResultList<T> { 29 convertResultListDateToHuman <T> (
27 return this.applyToResultListData(result, this.convertDateToHuman, [ fieldsToConvert ]) 30 result: ResultList<T>,
31 fieldsToConvert: string[] = [ 'createdAt' ],
32 format?: DateFormat
33 ): ResultList<T> {
34 return this.applyToResultListData(result, this.convertDateToHuman, [ fieldsToConvert, format ])
28 } 35 }
29 36
30 convertDateToHuman (target: any, fieldsToConvert: string[]) { 37 convertDateToHuman (target: any, fieldsToConvert: string[], format?: DateFormat) {
31 fieldsToConvert.forEach(field => { 38 fieldsToConvert.forEach(field => {
32 target[field] = dateToHuman(target[field]) 39 target[field] = dateToHuman(this.localeId, new Date(target[field]), format)
33 }) 40 })
34 41
35 return target 42 return target