mirror of
https://github.com/valitydev/dashboard.git
synced 2024-11-06 02:25:23 +00:00
FR-624: Id generator implementation (#485)
* id generator implementation * replace genXRequestID with id-generator and remove it * remove export * lint error fix * package lock gen with npm 7 * package lock gen with npm 7 * package lock gen with npm 7 * fixes * package lock fix * fixes
This commit is contained in:
parent
0f9a67e44e
commit
d60e5d24d0
110
package-lock.json
generated
110
package-lock.json
generated
@ -23,6 +23,7 @@
|
||||
"@ngneat/reactive-forms": "^1.5.0",
|
||||
"@ngneat/transloco": "^2.19.1",
|
||||
"@ngneat/until-destroy": "^8.0.3",
|
||||
"@rbkmoney/id-generator": "^0.1.3",
|
||||
"@rbkmoney/partial-fetcher": "~0.4.0",
|
||||
"@rbkmoney/utils": "~0.4.0",
|
||||
"@s-libs/js-core": "^11.3.0",
|
||||
@ -52,7 +53,6 @@
|
||||
"ts-keycode-enum": "^1.0.6",
|
||||
"tslib": "^2.0.0",
|
||||
"utility-types": "^3.10.0",
|
||||
"uuid": "^3.3.3",
|
||||
"zone.js": "~0.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -77,7 +77,6 @@
|
||||
"@types/moment": "^2.13.0",
|
||||
"@types/node": "^12.12.32",
|
||||
"@types/prettier": "^2.2.3",
|
||||
"@types/uuid": "^3.4.5",
|
||||
"@typescript-eslint/parser": "~4.22.0",
|
||||
"del": "^5.1.0",
|
||||
"eslint": "^7.25.0",
|
||||
@ -3714,6 +3713,19 @@
|
||||
"eslint": ">=7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rbkmoney/id-generator": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://npm.pkg.github.com/download/@rbkmoney/id-generator/0.1.3/e77ad9daf20909c488cdecfdaec68da4d5e5c03a8b99df9707d09b470e6d5552",
|
||||
"integrity": "sha512-Fk5D87oWc3MMqPLC6vYEa3DDRGQGlez8IUGC8zrrkxJdyfft+r/VnHGjIXLVEaRozI9CSiS8g4CtawXGcyyRkQ==",
|
||||
"dependencies": {
|
||||
"short-uuid": "^4.2.0",
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "^11.2.14",
|
||||
"@angular/core": "^11.2.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@rbkmoney/partial-fetcher": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://npm.pkg.github.com/download/@rbkmoney/partial-fetcher/0.4.0/e6fe12d5cd6e7f102449888933146488afd0dc47e35b80e6ffe4dcf9dbfa42e0",
|
||||
@ -4419,12 +4431,6 @@
|
||||
"integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/uuid": {
|
||||
"version": "3.4.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.9.tgz",
|
||||
"integrity": "sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/webpack-sources": {
|
||||
"version": "0.1.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz",
|
||||
@ -5290,6 +5296,11 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/any-base": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
|
||||
"integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
|
||||
},
|
||||
"node_modules/anymatch": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
|
||||
@ -6397,19 +6408,6 @@
|
||||
"fsevents": "~2.3.1"
|
||||
}
|
||||
},
|
||||
"node_modules/chokidar/node_modules/fsevents": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz",
|
||||
"integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==",
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/chownr": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
|
||||
@ -18874,6 +18872,26 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/short-uuid": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.0.tgz",
|
||||
"integrity": "sha512-r3cxuPPZSuF0QkKsK9bBR7u+7cwuCRzWzgjPh07F5N2iIUNgblnMHepBY16xgj5t1lG9iOP9k/TEafY1qhRzaw==",
|
||||
"dependencies": {
|
||||
"any-base": "^1.1.0",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/short-uuid/node_modules/uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||
"bin": {
|
||||
"uuid": "dist/bin/uuid"
|
||||
}
|
||||
},
|
||||
"node_modules/signal-exit": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
|
||||
@ -21280,6 +21298,7 @@
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"uuid": "bin/uuid"
|
||||
}
|
||||
@ -26493,6 +26512,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"@rbkmoney/id-generator": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "https://npm.pkg.github.com/download/@rbkmoney/id-generator/0.1.3/e77ad9daf20909c488cdecfdaec68da4d5e5c03a8b99df9707d09b470e6d5552",
|
||||
"integrity": "sha512-Fk5D87oWc3MMqPLC6vYEa3DDRGQGlez8IUGC8zrrkxJdyfft+r/VnHGjIXLVEaRozI9CSiS8g4CtawXGcyyRkQ==",
|
||||
"requires": {
|
||||
"short-uuid": "^4.2.0",
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@rbkmoney/partial-fetcher": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://npm.pkg.github.com/download/@rbkmoney/partial-fetcher/0.4.0/e6fe12d5cd6e7f102449888933146488afd0dc47e35b80e6ffe4dcf9dbfa42e0",
|
||||
@ -27140,12 +27168,6 @@
|
||||
"integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/uuid": {
|
||||
"version": "3.4.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.9.tgz",
|
||||
"integrity": "sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/webpack-sources": {
|
||||
"version": "0.1.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz",
|
||||
@ -27802,6 +27824,11 @@
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"any-base": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz",
|
||||
"integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
|
||||
},
|
||||
"anymatch": {
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
|
||||
@ -28747,15 +28774,6 @@
|
||||
"is-glob": "~4.0.1",
|
||||
"normalize-path": "~3.0.0",
|
||||
"readdirp": "~3.5.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"fsevents": {
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz",
|
||||
"integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==",
|
||||
"dev": true,
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
@ -34967,7 +34985,6 @@
|
||||
"requires": {
|
||||
"@schematics/angular": "8.0.0",
|
||||
"cross-spawn": "^6.0.5",
|
||||
"rxjs": "6.4.0",
|
||||
"webpack-dev-server": "^3.1.14",
|
||||
"webpack-merge": "^4.2.1"
|
||||
},
|
||||
@ -38935,6 +38952,22 @@
|
||||
"rechoir": "^0.6.2"
|
||||
}
|
||||
},
|
||||
"short-uuid": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/short-uuid/-/short-uuid-4.2.0.tgz",
|
||||
"integrity": "sha512-r3cxuPPZSuF0QkKsK9bBR7u+7cwuCRzWzgjPh07F5N2iIUNgblnMHepBY16xgj5t1lG9iOP9k/TEafY1qhRzaw==",
|
||||
"requires": {
|
||||
"any-base": "^1.1.0",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"uuid": {
|
||||
"version": "8.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"signal-exit": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
|
||||
@ -40969,7 +41002,8 @@
|
||||
"uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
||||
"dev": true
|
||||
},
|
||||
"v8-compile-cache": {
|
||||
"version": "2.3.0",
|
||||
|
@ -7,7 +7,7 @@
|
||||
"build": "ng build --prod --extraWebpackConfig webpack.extra.js --progress=false",
|
||||
"test": "ng test",
|
||||
"test-ci": "ng run dashboard:test-ci",
|
||||
"lint": "eslint \"src/**/*.{ts,js,html}\" --max-warnings 2247 --cache",
|
||||
"lint": "eslint \"src/**/*.{ts,js,html}\" --max-warnings 2226 --cache",
|
||||
"lint-errors": "npm run lint -- --quiet",
|
||||
"lint-fix": "npm run lint -- --fix",
|
||||
"e2e": "ng e2e",
|
||||
@ -40,6 +40,7 @@
|
||||
"@ngneat/reactive-forms": "^1.5.0",
|
||||
"@ngneat/transloco": "^2.19.1",
|
||||
"@ngneat/until-destroy": "^8.0.3",
|
||||
"@rbkmoney/id-generator": "^0.1.3",
|
||||
"@rbkmoney/partial-fetcher": "~0.4.0",
|
||||
"@rbkmoney/utils": "~0.4.0",
|
||||
"@s-libs/js-core": "^11.3.0",
|
||||
@ -69,7 +70,6 @@
|
||||
"ts-keycode-enum": "^1.0.6",
|
||||
"tslib": "^2.0.0",
|
||||
"utility-types": "^3.10.0",
|
||||
"uuid": "^3.3.3",
|
||||
"zone.js": "~0.10.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -94,7 +94,6 @@
|
||||
"@types/moment": "^2.13.0",
|
||||
"@types/node": "^12.12.32",
|
||||
"@types/prettier": "^2.2.3",
|
||||
"@types/uuid": "^3.4.5",
|
||||
"@typescript-eslint/parser": "~4.22.0",
|
||||
"del": "^5.1.0",
|
||||
"eslint": "^7.25.0",
|
||||
|
@ -1,15 +1,14 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { Account, AccountsService } from '@dsh/api-codegen/capi/swagger-codegen';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class AccountService {
|
||||
constructor(private accountsService: AccountsService) {}
|
||||
constructor(private accountsService: AccountsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
getAccountByID(accountID: number): Observable<Account> {
|
||||
return this.accountsService.getAccountByID(genXRequestID(), accountID);
|
||||
return this.accountsService.getAccountByID(this.idGenerator.shortUuid(), accountID);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
import { switchMap } from 'rxjs/operators';
|
||||
|
||||
@ -17,7 +18,7 @@ import {
|
||||
import { KeycloakTokenInfoService } from '@dsh/app/shared/services';
|
||||
|
||||
import { PaymentInstitutionRealm } from '../model';
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class AnalyticsService {
|
||||
@ -25,7 +26,8 @@ export class AnalyticsService {
|
||||
|
||||
constructor(
|
||||
private analyticsService: APIAnalyticsService,
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
getAveragePayment(
|
||||
@ -40,7 +42,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getAveragePayment(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -65,7 +67,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsAmount(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -90,7 +92,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsCount(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -115,7 +117,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsErrorDistribution(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -140,7 +142,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsSubErrorDistribution(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -165,7 +167,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsToolDistribution(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -190,7 +192,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getRefundsAmount(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -216,7 +218,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsSplitAmount(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -243,7 +245,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getPaymentsSplitCount(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -265,7 +267,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getCurrentBalances(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
undefined,
|
||||
params.shopIDs,
|
||||
@ -280,7 +282,7 @@ export class AnalyticsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.analyticsService.getCurrentBalancesGroupByShop(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
undefined,
|
||||
params.shopIDs,
|
||||
|
@ -1,14 +1,13 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
|
||||
import { ClaimChangeset, ClaimsService } from '@dsh/api-codegen/capi';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class CapiClaimsService {
|
||||
constructor(private claimsService: ClaimsService) {}
|
||||
constructor(private claimsService: ClaimsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
createClaim(claimChangeset: ClaimChangeset) {
|
||||
return this.claimsService.createClaim(genXRequestID(), claimChangeset);
|
||||
return this.claimsService.createClaim(this.idGenerator.shortUuid(), claimChangeset);
|
||||
}
|
||||
}
|
||||
|
@ -1,18 +1,17 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { PartiesService, Party } from '@dsh/api-codegen/capi';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class CapiPartiesService {
|
||||
constructor(private partiesService: PartiesService) {}
|
||||
constructor(private partiesService: PartiesService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
/**
|
||||
* Create if not exist and return party
|
||||
*/
|
||||
getMyParty(): Observable<Party> {
|
||||
return this.partiesService.getMyParty(genXRequestID());
|
||||
return this.partiesService.getMyParty(this.idGenerator.shortUuid());
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
import moment from 'moment';
|
||||
import * as uuid from 'uuid/v4';
|
||||
|
||||
import {
|
||||
ClaimChangeset,
|
||||
@ -127,11 +126,11 @@ const shopAccountCreationChange = (shopID: string, currency: string): ShopAccoun
|
||||
};
|
||||
};
|
||||
|
||||
export const createTestShopClaimChangeset = (id?: string): ClaimChangeset => {
|
||||
const testShopID = id || uuid();
|
||||
const testContractID = id || uuid();
|
||||
const testPayoutToolID = id || uuid();
|
||||
|
||||
export const createTestShopClaimChangeset = (
|
||||
testShopID: string,
|
||||
testContractID: string,
|
||||
testPayoutToolID: string
|
||||
): ClaimChangeset => {
|
||||
return [
|
||||
contractCreationChange(testContractID, 1),
|
||||
contractPayoutToolCreationChange(testContractID, testPayoutToolID, 'RUB'),
|
||||
|
@ -1,11 +1,11 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { BehaviorSubject } from 'rxjs';
|
||||
import { shareReplay, switchMap } from 'rxjs/operators';
|
||||
|
||||
import { CategoriesService as CategoriesApiService } from '@dsh/api-codegen/capi';
|
||||
|
||||
import { SHARE_REPLAY_CONF } from '../../custom-operators';
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class CategoriesService {
|
||||
@ -13,11 +13,11 @@ export class CategoriesService {
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/member-ordering
|
||||
categories$ = this.reloadCategories$.pipe(
|
||||
switchMap(() => this.categoriesService.getCategories(genXRequestID())),
|
||||
switchMap(() => this.categoriesService.getCategories(this.idGenerator.shortUuid())),
|
||||
shareReplay(SHARE_REPLAY_CONF)
|
||||
);
|
||||
|
||||
constructor(private categoriesService: CategoriesApiService) {}
|
||||
constructor(private categoriesService: CategoriesApiService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
reload() {
|
||||
this.reloadCategories$.next();
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
import { shareReplay } from 'rxjs/operators';
|
||||
|
||||
@ -11,14 +12,13 @@ import {
|
||||
} from '@dsh/api-codegen/claim-management';
|
||||
|
||||
import { mapResult, noContinuationToken } from '../../custom-operators';
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
export const CLAIM_STATUS = StatusModificationUnit.StatusEnum;
|
||||
|
||||
// TODO: refactor this service as claim requests service
|
||||
@Injectable()
|
||||
export class ClaimsService {
|
||||
constructor(private claimsService: APIClaimsService) {}
|
||||
constructor(private claimsService: APIClaimsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
searchClaims(
|
||||
limit: number,
|
||||
@ -27,7 +27,7 @@ export class ClaimsService {
|
||||
continuationToken?: string
|
||||
) {
|
||||
return this.claimsService.searchClaims(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
limit,
|
||||
undefined,
|
||||
continuationToken,
|
||||
@ -41,22 +41,28 @@ export class ClaimsService {
|
||||
}
|
||||
|
||||
getClaimByID(claimID: number): Observable<Claim> {
|
||||
return this.claimsService.getClaimByID(genXRequestID(), claimID);
|
||||
return this.claimsService.getClaimByID(this.idGenerator.shortUuid(), claimID);
|
||||
}
|
||||
|
||||
createClaim(changeset: Modification[]): Observable<Claim> {
|
||||
return this.claimsService.createClaim(genXRequestID(), changeset);
|
||||
return this.claimsService.createClaim(this.idGenerator.shortUuid(), changeset);
|
||||
}
|
||||
|
||||
updateClaimByID(claimID: number, claimRevision: number, changeset: Modification[]): Observable<void> {
|
||||
return this.claimsService.updateClaimByID(genXRequestID(), claimID, claimRevision, changeset);
|
||||
return this.claimsService.updateClaimByID(this.idGenerator.shortUuid(), claimID, claimRevision, changeset);
|
||||
}
|
||||
|
||||
revokeClaimByID(claimID: number, claimRevision: number, reason: Reason): Observable<void> {
|
||||
return this.claimsService.revokeClaimByID(genXRequestID(), claimID, claimRevision, undefined, reason);
|
||||
return this.claimsService.revokeClaimByID(
|
||||
this.idGenerator.shortUuid(),
|
||||
claimID,
|
||||
claimRevision,
|
||||
undefined,
|
||||
reason
|
||||
);
|
||||
}
|
||||
|
||||
requestReviewClaimByID(claimID: number, claimRevision: number): Observable<void> {
|
||||
return this.claimsService.requestReviewClaimByID(genXRequestID(), claimID, claimRevision);
|
||||
return this.claimsService.requestReviewClaimByID(this.idGenerator.shortUuid(), claimID, claimRevision);
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,14 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { Contract, ContractsService as ContractsAPIService } from '@dsh/api-codegen/capi/swagger-codegen';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class ContractsService {
|
||||
constructor(private contractsService: ContractsAPIService) {}
|
||||
constructor(private contractsService: ContractsAPIService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
getContractByID(contractID: string): Observable<Contract> {
|
||||
return this.contractsService.getContractByID(genXRequestID(), contractID);
|
||||
return this.contractsService.getContractByID(this.idGenerator.shortUuid(), contractID);
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
|
||||
import { DepositsService as ApiDepositsService } from '@dsh/api-codegen/wallet-api/swagger-codegen';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { DepositsSearchParams } from './deposits-search-params';
|
||||
|
||||
@Injectable()
|
||||
export class DepositsService {
|
||||
constructor(private depositsService: ApiDepositsService) {}
|
||||
constructor(private depositsService: ApiDepositsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
listDeposits(params: DepositsSearchParams, limit = 20, continuationToken?: string) {
|
||||
return this.depositsService.listDeposits(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
limit,
|
||||
undefined,
|
||||
params.walletID,
|
||||
@ -30,7 +31,7 @@ export class DepositsService {
|
||||
|
||||
listDepositReverts(params: DepositsSearchParams, limit = 20, continuationToken?: string) {
|
||||
return this.depositsService.listDepositReverts(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
limit,
|
||||
undefined,
|
||||
params.walletID,
|
||||
|
@ -1,16 +1,19 @@
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { forkJoin, Observable, of } from 'rxjs';
|
||||
import { map, switchMap } from 'rxjs/operators';
|
||||
|
||||
import { FilesService as FilesApiService } from '@dsh/api-codegen/dark-api';
|
||||
import { FileData, FileDownload, FileUploadData } from '@dsh/api-codegen/dark-api/swagger-codegen';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class FilesService {
|
||||
constructor(private filesService: FilesApiService, private http: HttpClient) {}
|
||||
constructor(
|
||||
private filesService: FilesApiService,
|
||||
private http: HttpClient,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
uploadFiles(files: File[]): Observable<string[]> {
|
||||
return forkJoin(
|
||||
@ -26,7 +29,7 @@ export class FilesService {
|
||||
}
|
||||
|
||||
getFileInfo(fileID: string): Observable<FileData> {
|
||||
return this.filesService.getFileInfo(genXRequestID(), fileID).pipe(
|
||||
return this.filesService.getFileInfo(this.idGenerator.shortUuid(), fileID).pipe(
|
||||
map((file) => ({
|
||||
...file,
|
||||
fileName: decodeURI(file.fileName),
|
||||
@ -35,7 +38,7 @@ export class FilesService {
|
||||
}
|
||||
|
||||
downloadFile(fileID: string): Observable<FileDownload> {
|
||||
return this.filesService.downloadFile(genXRequestID(), fileID);
|
||||
return this.filesService.downloadFile(this.idGenerator.shortUuid(), fileID);
|
||||
}
|
||||
|
||||
private uploadFileToUrl(file: File, url: string): Observable<any> {
|
||||
@ -50,6 +53,6 @@ export class FilesService {
|
||||
}
|
||||
|
||||
private getUploadLink(): Observable<FileUploadData> {
|
||||
return this.filesService.uploadFile(genXRequestID(), { metadata: {} });
|
||||
return this.filesService.uploadFile(this.idGenerator.shortUuid(), { metadata: {} });
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
import { pluck, shareReplay, startWith, switchMapTo } from 'rxjs/operators';
|
||||
|
||||
import { IdentitiesService, Identity } from '@dsh/api-codegen/wallet-api/swagger-codegen';
|
||||
|
||||
import { SHARE_REPLAY_CONF } from '../../custom-operators';
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class IdentityService {
|
||||
@ -19,13 +19,13 @@ export class IdentityService {
|
||||
shareReplay(SHARE_REPLAY_CONF)
|
||||
);
|
||||
|
||||
constructor(private identityService: IdentitiesService) {}
|
||||
constructor(private identityService: IdentitiesService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
reloadIdentities() {
|
||||
this.reloadIdentities$.next();
|
||||
}
|
||||
|
||||
listIdentities() {
|
||||
return this.identityService.listIdentities(genXRequestID(), 1000);
|
||||
return this.identityService.listIdentities(this.idGenerator.shortUuid(), 1000);
|
||||
}
|
||||
}
|
||||
|
@ -1,21 +1,23 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
|
||||
import {
|
||||
InvoiceTemplateCreateParams,
|
||||
InvoiceTemplatesService as InvoiceTemplatesApiService,
|
||||
} from '@dsh/api-codegen/capi';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class InvoiceTemplatesService {
|
||||
constructor(private invoiceTemplatesService: InvoiceTemplatesApiService) {}
|
||||
constructor(private invoiceTemplatesService: InvoiceTemplatesApiService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
createInvoiceTemplate(params: InvoiceTemplateCreateParams) {
|
||||
return this.invoiceTemplatesService.createInvoiceTemplate(genXRequestID(), params);
|
||||
return this.invoiceTemplatesService.createInvoiceTemplate(this.idGenerator.shortUuid(), params);
|
||||
}
|
||||
|
||||
getInvoicePaymentMethodsByTemplateID(invoiceTemplateID: string) {
|
||||
return this.invoiceTemplatesService.getInvoicePaymentMethodsByTemplateID(genXRequestID(), invoiceTemplateID);
|
||||
return this.invoiceTemplatesService.getInvoicePaymentMethodsByTemplateID(
|
||||
this.idGenerator.shortUuid(),
|
||||
invoiceTemplateID
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,40 +1,40 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { Invoice, InvoiceParams, Reason } from '@dsh/api-codegen/capi';
|
||||
import { InvoicesService } from '@dsh/api-codegen/capi/invoices.service';
|
||||
|
||||
import { Replace } from '../../../type-utils';
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class InvoiceService {
|
||||
constructor(private invoicesService: InvoicesService) {}
|
||||
constructor(private invoicesService: InvoicesService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
getInvoiceByID(invoiceID: string): Observable<Invoice> {
|
||||
return this.invoicesService.getInvoiceByID(genXRequestID(), invoiceID);
|
||||
return this.invoicesService.getInvoiceByID(this.idGenerator.shortUuid(), invoiceID);
|
||||
}
|
||||
|
||||
createInvoice({ dueDate, ...invoiceParams }: Replace<InvoiceParams, { dueDate: string }>) {
|
||||
return this.invoicesService.createInvoice(genXRequestID(), {
|
||||
return this.invoicesService.createInvoice(this.idGenerator.shortUuid(), {
|
||||
...invoiceParams,
|
||||
dueDate: dueDate as any as Date,
|
||||
});
|
||||
}
|
||||
|
||||
createInvoiceAccessToken(invoiceID: string) {
|
||||
return this.invoicesService.createInvoiceAccessToken(genXRequestID(), invoiceID);
|
||||
return this.invoicesService.createInvoiceAccessToken(this.idGenerator.shortUuid(), invoiceID);
|
||||
}
|
||||
|
||||
getInvoicePaymentMethods(invoiceID: string) {
|
||||
return this.invoicesService.getInvoicePaymentMethods(genXRequestID(), invoiceID);
|
||||
return this.invoicesService.getInvoicePaymentMethods(this.idGenerator.shortUuid(), invoiceID);
|
||||
}
|
||||
|
||||
fulfillInvoice(invoiceID: string, reason: Reason) {
|
||||
return this.invoicesService.fulfillInvoice(genXRequestID(), invoiceID, reason);
|
||||
return this.invoicesService.fulfillInvoice(this.idGenerator.shortUuid(), invoiceID, reason);
|
||||
}
|
||||
|
||||
rescindInvoice(invoiceID: string, reason: Reason) {
|
||||
return this.invoicesService.rescindInvoice(genXRequestID(), invoiceID, reason);
|
||||
return this.invoicesService.rescindInvoice(this.idGenerator.shortUuid(), invoiceID, reason);
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,8 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { IdGeneratorModule } from '../../shared';
|
||||
import { OrganizationsService } from './organizations.service';
|
||||
|
||||
@NgModule({
|
||||
imports: [IdGeneratorModule],
|
||||
providers: [OrganizationsService],
|
||||
})
|
||||
export class OrganizationsModule {}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import {
|
||||
@ -21,7 +22,6 @@ import {
|
||||
RoleId,
|
||||
RolesService,
|
||||
} from '@dsh/api-codegen/organizations';
|
||||
import { IdGeneratorService } from '@dsh/app/shared';
|
||||
import { PickMutable } from '@dsh/type-utils';
|
||||
|
||||
@Injectable()
|
||||
@ -35,41 +35,37 @@ export class OrganizationsService {
|
||||
) {}
|
||||
|
||||
listOrgMembership(limit?: number, continuationToken?: string): Observable<OrganizationSearchResult> {
|
||||
return this.orgsService.listOrgMembership(
|
||||
this.idGeneratorService.generateRequestID(),
|
||||
limit,
|
||||
continuationToken
|
||||
);
|
||||
return this.orgsService.listOrgMembership(this.idGeneratorService.shortUuid(), limit, continuationToken);
|
||||
}
|
||||
|
||||
getOrg(orgId: Organization['id']): Observable<Organization> {
|
||||
return this.orgsService.getOrg(this.idGeneratorService.generateRequestID(), orgId);
|
||||
return this.orgsService.getOrg(this.idGeneratorService.shortUuid(), orgId);
|
||||
}
|
||||
|
||||
// TODO: Organization.owner should be readonly (maybe fix swag)
|
||||
createOrg(org: Omit<PickMutable<Organization>, 'owner'>): Observable<Organization> {
|
||||
return this.orgsService.createOrg(this.idGeneratorService.generateRequestID(), org as Organization);
|
||||
return this.orgsService.createOrg(this.idGeneratorService.shortUuid(), org as Organization);
|
||||
}
|
||||
|
||||
patchOrg(orgId: Organization['id'], org: InlineObject): Observable<Organization> {
|
||||
return this.orgsService.patchOrg(this.idGeneratorService.generateRequestID(), orgId, org);
|
||||
return this.orgsService.patchOrg(this.idGeneratorService.shortUuid(), orgId, org);
|
||||
}
|
||||
|
||||
joinOrg(request: OrganizationJoinRequest): Observable<OrganizationMembership> {
|
||||
return this.orgsService.joinOrg(this.idGeneratorService.generateRequestID(), request);
|
||||
return this.orgsService.joinOrg(this.idGeneratorService.shortUuid(), request);
|
||||
}
|
||||
|
||||
getOrgRole(orgId: Organization['id'], roleId: RoleId): Observable<Role> {
|
||||
return this.rolesService.getOrgRole(this.idGeneratorService.generateRequestID(), orgId, roleId);
|
||||
return this.rolesService.getOrgRole(this.idGeneratorService.shortUuid(), orgId, roleId);
|
||||
}
|
||||
|
||||
getOrgMember(orgId: Organization['id'], userId: string): Observable<Member> {
|
||||
return this.membersService.getOrgMember(this.idGeneratorService.generateRequestID(), orgId, userId);
|
||||
return this.membersService.getOrgMember(this.idGeneratorService.shortUuid(), orgId, userId);
|
||||
}
|
||||
|
||||
assignMemberRole(orgId: string, userId: string, memberRole: PickMutable<MemberRole>): Observable<MemberRole> {
|
||||
return this.membersService.assignMemberRole(
|
||||
this.idGeneratorService.generateRequestID(),
|
||||
this.idGeneratorService.shortUuid(),
|
||||
orgId,
|
||||
userId,
|
||||
memberRole as MemberRole
|
||||
@ -77,32 +73,27 @@ export class OrganizationsService {
|
||||
}
|
||||
|
||||
removeMemberRole(orgId: string, userId: string, memberRoleId: MemberRole['id']): Observable<any> {
|
||||
return this.membersService.removeMemberRole(
|
||||
this.idGeneratorService.generateRequestID(),
|
||||
orgId,
|
||||
userId,
|
||||
memberRoleId
|
||||
);
|
||||
return this.membersService.removeMemberRole(this.idGeneratorService.shortUuid(), orgId, userId, memberRoleId);
|
||||
}
|
||||
|
||||
listOrgMembers(orgId: Organization['id']): Observable<MemberOrgListResult> {
|
||||
return this.membersService.listOrgMembers(this.idGeneratorService.generateRequestID(), orgId);
|
||||
return this.membersService.listOrgMembers(this.idGeneratorService.shortUuid(), orgId);
|
||||
}
|
||||
|
||||
expelOrgMember(orgId: Organization['id'], userId: string): Observable<any> {
|
||||
return this.membersService.expelOrgMember(this.idGeneratorService.generateRequestID(), orgId, userId);
|
||||
return this.membersService.expelOrgMember(this.idGeneratorService.shortUuid(), orgId, userId);
|
||||
}
|
||||
|
||||
cancelOrgMembership(orgId: Organization['id']): Observable<any> {
|
||||
return this.orgsService.cancelOrgMembership(this.idGeneratorService.generateRequestID(), orgId);
|
||||
return this.orgsService.cancelOrgMembership(this.idGeneratorService.shortUuid(), orgId);
|
||||
}
|
||||
|
||||
createInvitation(orgId: Organization['id'], invitation: InvitationRequest): Observable<Invitation> {
|
||||
return this.invitationsService.createInvitation(this.idGeneratorService.generateRequestID(), orgId, invitation);
|
||||
return this.invitationsService.createInvitation(this.idGeneratorService.shortUuid(), orgId, invitation);
|
||||
}
|
||||
|
||||
listInvitations(orgId: Organization['id']): Observable<InvitationListResult> {
|
||||
return this.invitationsService.listInvitations(this.idGeneratorService.generateRequestID(), orgId);
|
||||
return this.invitationsService.listInvitations(this.idGeneratorService.shortUuid(), orgId);
|
||||
}
|
||||
|
||||
revokeInvitation(
|
||||
@ -111,7 +102,7 @@ export class OrganizationsService {
|
||||
status?: InlineObject1
|
||||
): Observable<any> {
|
||||
return this.invitationsService.revokeInvitation(
|
||||
this.idGeneratorService.generateRequestID(),
|
||||
this.idGeneratorService.shortUuid(),
|
||||
orgId,
|
||||
invitationId,
|
||||
status
|
||||
|
@ -1,27 +1,26 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { CaptureParams, Payment, PaymentsService } from '@dsh/api-codegen/capi/swagger-codegen';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class PaymentService {
|
||||
constructor(private paymentsService: PaymentsService) {}
|
||||
constructor(private paymentsService: PaymentsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
cancelPayment(invoiceID: string, paymentID: string, reason: string): Observable<void> {
|
||||
return this.paymentsService.cancelPayment(genXRequestID(), invoiceID, paymentID, { reason });
|
||||
return this.paymentsService.cancelPayment(this.idGenerator.shortUuid(), invoiceID, paymentID, { reason });
|
||||
}
|
||||
|
||||
capturePayment(invoiceID: string, paymentID: string, params: CaptureParams): Observable<void> {
|
||||
return this.paymentsService.capturePayment(genXRequestID(), invoiceID, paymentID, params);
|
||||
return this.paymentsService.capturePayment(this.idGenerator.shortUuid(), invoiceID, paymentID, params);
|
||||
}
|
||||
|
||||
getPaymentByID(invoiceID: string, paymentID: string): Observable<Payment> {
|
||||
return this.paymentsService.getPaymentByID(genXRequestID(), invoiceID, paymentID);
|
||||
return this.paymentsService.getPaymentByID(this.idGenerator.shortUuid(), invoiceID, paymentID);
|
||||
}
|
||||
|
||||
getPayments(invoiceID: string): Observable<Payment[]> {
|
||||
return this.paymentsService.getPayments(genXRequestID(), invoiceID);
|
||||
return this.paymentsService.getPayments(this.idGenerator.shortUuid(), invoiceID);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import {
|
||||
@ -8,21 +9,19 @@ import {
|
||||
PayoutTool,
|
||||
} from '@dsh/api-codegen/capi/swagger-codegen';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class PayoutsService {
|
||||
constructor(private payoutsService: PayoutsAPIService) {}
|
||||
constructor(private payoutsService: PayoutsAPIService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
createPayout(params: PayoutParams): Observable<Payout> {
|
||||
return this.payoutsService.createPayout(genXRequestID(), params);
|
||||
return this.payoutsService.createPayout(this.idGenerator.shortUuid(), params);
|
||||
}
|
||||
|
||||
getPayoutTools(contractID: string): Observable<PayoutTool[]> {
|
||||
return this.payoutsService.getPayoutTools(genXRequestID(), contractID);
|
||||
return this.payoutsService.getPayoutTools(this.idGenerator.shortUuid(), contractID);
|
||||
}
|
||||
|
||||
getPayoutToolByID(contractID: string, payoutToolID: string): Observable<PayoutTool> {
|
||||
return this.payoutsService.getPayoutToolByID(genXRequestID(), contractID, payoutToolID);
|
||||
return this.payoutsService.getPayoutToolByID(this.idGenerator.shortUuid(), contractID, payoutToolID);
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,8 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { IdGeneratorModule } from '@dsh/app/shared/services';
|
||||
|
||||
import { RefundService } from './refund.service';
|
||||
|
||||
@NgModule({
|
||||
imports: [IdGeneratorModule],
|
||||
providers: [RefundService],
|
||||
})
|
||||
export class RefundModule {}
|
||||
|
@ -1,23 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { PaymentsService, Refund, RefundParams } from '@dsh/api-codegen/capi/swagger-codegen';
|
||||
import { IdGeneratorService } from '@dsh/app/shared/services/id-generator/id-generator.service';
|
||||
|
||||
@Injectable()
|
||||
export class RefundService {
|
||||
constructor(private paymentsService: PaymentsService, private idsService: IdGeneratorService) {}
|
||||
|
||||
createRefund(invoiceID: string, paymentID: string, refundParams: RefundParams): Observable<Refund> {
|
||||
return this.paymentsService.createRefund(
|
||||
this.idsService.generateRequestID(),
|
||||
invoiceID,
|
||||
paymentID,
|
||||
refundParams
|
||||
);
|
||||
return this.paymentsService.createRefund(this.idsService.shortUuid(), invoiceID, paymentID, refundParams);
|
||||
}
|
||||
|
||||
getRefunds(invoiceID: string, paymentID: string): Observable<Refund[]> {
|
||||
return this.paymentsService.getRefunds(this.idsService.generateRequestID(), invoiceID, paymentID);
|
||||
return this.paymentsService.getRefunds(this.idsService.shortUuid(), invoiceID, paymentID);
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,12 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
import { switchMap } from 'rxjs/operators';
|
||||
|
||||
import { InlineResponse20013, Report, ReportLink, ReportsService as ReportsApiService } from '@dsh/api-codegen/anapi';
|
||||
import { KeycloakTokenInfoService } from '@dsh/app/shared/services';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { CreateReportReq } from './create-reports';
|
||||
import { SearchReportsReq } from './search-reports';
|
||||
|
||||
@ -15,14 +16,15 @@ export class ReportsService {
|
||||
|
||||
constructor(
|
||||
private reportsService: ReportsApiService,
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
createReport({ fromTime, toTime, shopID }: CreateReportReq): Observable<Report> {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.reportsService.createReport(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -44,7 +46,7 @@ export class ReportsService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.reportsService.searchReports(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
@ -61,10 +63,10 @@ export class ReportsService {
|
||||
}
|
||||
|
||||
downloadFile(reportID: number, fileID: string): Observable<ReportLink> {
|
||||
return this.reportsService.downloadFile(genXRequestID(), reportID, fileID);
|
||||
return this.reportsService.downloadFile(this.idGenerator.shortUuid(), reportID, fileID);
|
||||
}
|
||||
|
||||
cancelReport(reportID: number): Observable<void> {
|
||||
return this.reportsService.cancelReport(genXRequestID(), reportID);
|
||||
return this.reportsService.cancelReport(this.idGenerator.shortUuid(), reportID);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import moment from 'moment';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map, switchMap } from 'rxjs/operators';
|
||||
@ -6,7 +7,7 @@ import { map, switchMap } from 'rxjs/operators';
|
||||
import { InlineResponse2009, Invoice, SearchService } from '@dsh/api-codegen/anapi';
|
||||
import { KeycloakTokenInfoService } from '@dsh/app/shared/services';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { Duration, InvoicesSearchParams } from './model';
|
||||
|
||||
export type InvoicesAndContinuationToken = InlineResponse2009;
|
||||
@ -15,7 +16,11 @@ export type InvoicesAndContinuationToken = InlineResponse2009;
|
||||
export class InvoiceSearchService {
|
||||
private partyID$: Observable<string> = this.keycloakTokenInfoService.partyID$;
|
||||
|
||||
constructor(private searchService: SearchService, private keycloakTokenInfoService: KeycloakTokenInfoService) {}
|
||||
constructor(
|
||||
private searchService: SearchService,
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
searchInvoices(
|
||||
fromTime: string,
|
||||
@ -27,7 +32,7 @@ export class InvoiceSearchService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.searchService.searchInvoices(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import moment from 'moment';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map, switchMap } from 'rxjs/operators';
|
||||
@ -6,7 +7,7 @@ import { map, switchMap } from 'rxjs/operators';
|
||||
import { InlineResponse20010, PaymentSearchResult, SearchService } from '@dsh/api-codegen/anapi';
|
||||
import { KeycloakTokenInfoService } from '@dsh/app/shared/services';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { Duration, PaymentsSearchParams } from './model';
|
||||
|
||||
export type PaymentsAndContinuationToken = InlineResponse20010;
|
||||
@ -15,7 +16,11 @@ export type PaymentsAndContinuationToken = InlineResponse20010;
|
||||
export class PaymentSearchService {
|
||||
private partyID$: Observable<string> = this.keycloakTokenInfoService.partyID$;
|
||||
|
||||
constructor(private searchService: SearchService, private keycloakTokenInfoService: KeycloakTokenInfoService) {}
|
||||
constructor(
|
||||
private searchService: SearchService,
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
searchPayments(
|
||||
fromTime: string,
|
||||
@ -27,7 +32,7 @@ export class PaymentSearchService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.searchService.searchPayments(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
|
@ -1,11 +1,12 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
import { switchMap } from 'rxjs/operators';
|
||||
|
||||
import { InlineResponse20011, SearchService } from '@dsh/api-codegen/anapi';
|
||||
import { KeycloakTokenInfoService } from '@dsh/app/shared/services';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { PayoutsSearchParams } from './model';
|
||||
|
||||
type PayoutsAndContinuationToken = InlineResponse20011;
|
||||
@ -14,7 +15,11 @@ type PayoutsAndContinuationToken = InlineResponse20011;
|
||||
export class PayoutSearchService {
|
||||
private partyID$: Observable<string> = this.keycloakTokenInfoService.partyID$;
|
||||
|
||||
constructor(private searchService: SearchService, private keycloakTokenInfoService: KeycloakTokenInfoService) {}
|
||||
constructor(
|
||||
private searchService: SearchService,
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
searchPayouts(
|
||||
fromTime: string,
|
||||
@ -25,7 +30,7 @@ export class PayoutSearchService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.searchService.searchPayouts(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import moment from 'moment';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map, switchMap } from 'rxjs/operators';
|
||||
@ -6,7 +7,7 @@ import { map, switchMap } from 'rxjs/operators';
|
||||
import { InlineResponse20012, Refund, SearchService } from '@dsh/api-codegen/anapi';
|
||||
import { KeycloakTokenInfoService } from '@dsh/app/shared/services';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { Duration, RefundsSearchParams } from './model';
|
||||
|
||||
export type RefundsAndContinuationToken = InlineResponse20012;
|
||||
@ -15,7 +16,11 @@ export type RefundsAndContinuationToken = InlineResponse20012;
|
||||
export class RefundSearchService {
|
||||
private partyID$: Observable<string> = this.keycloakTokenInfoService.partyID$;
|
||||
|
||||
constructor(private searchService: SearchService, private keycloakTokenInfoService: KeycloakTokenInfoService) {}
|
||||
constructor(
|
||||
private searchService: SearchService,
|
||||
private keycloakTokenInfoService: KeycloakTokenInfoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
searchRefunds(
|
||||
fromTime: string,
|
||||
@ -27,7 +32,7 @@ export class RefundSearchService {
|
||||
return this.partyID$.pipe(
|
||||
switchMap((partyID) =>
|
||||
this.searchService.searchRefunds(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
partyID,
|
||||
toDateLike(fromTime),
|
||||
toDateLike(toTime),
|
||||
|
@ -1,11 +1,10 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { SenderModule as ApiSenderModule } from '../../api-codegen/sender';
|
||||
import { IdGeneratorModule } from '../../shared/services';
|
||||
import { MessagesService } from './services/messages/messages.service';
|
||||
|
||||
@NgModule({
|
||||
imports: [ApiSenderModule, IdGeneratorModule],
|
||||
imports: [ApiSenderModule],
|
||||
providers: [MessagesService],
|
||||
})
|
||||
export class SenderModule {}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
|
||||
import { IdGeneratorService } from '@dsh/app/shared/services/id-generator/id-generator.service';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { MessagesService as ApiMessagesService } from '../../../../api-codegen/sender';
|
||||
|
||||
@ -8,7 +8,7 @@ import { MessagesService as ApiMessagesService } from '../../../../api-codegen/s
|
||||
export class MessagesService {
|
||||
constructor(private messagesService: ApiMessagesService, private idGeneratorService: IdGeneratorService) {}
|
||||
|
||||
sendFeedbackEmailMsg(text: string) {
|
||||
return this.messagesService.sendFeedbackEmailMsg(this.idGeneratorService.generateRequestID(), { text });
|
||||
sendFeedbackEmailMsg(text: string): Observable<any> {
|
||||
return this.messagesService.sendFeedbackEmailMsg(this.idGeneratorService.shortUuid(), { text });
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable, Subject } from 'rxjs';
|
||||
import { shareReplay, startWith, switchMapTo } from 'rxjs/operators';
|
||||
|
||||
@ -6,7 +7,6 @@ import { Shop } from '@dsh/api-codegen/capi';
|
||||
import { ShopsService } from '@dsh/api-codegen/capi/shops.service';
|
||||
|
||||
import { SHARE_REPLAY_CONF } from '../../custom-operators';
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class ApiShopsService {
|
||||
@ -15,18 +15,18 @@ export class ApiShopsService {
|
||||
// eslint-disable-next-line @typescript-eslint/member-ordering
|
||||
shops$: Observable<Shop[]> = this.reloadShops$.pipe(
|
||||
startWith<void, null>(null),
|
||||
switchMapTo(this.shopsService.getShops(genXRequestID())),
|
||||
switchMapTo(this.shopsService.getShops(this.idGenerator.shortUuid())),
|
||||
shareReplay(SHARE_REPLAY_CONF)
|
||||
);
|
||||
|
||||
constructor(private shopsService: ShopsService) {}
|
||||
constructor(private shopsService: ShopsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
getShopByID(shopID: string): Observable<Shop> {
|
||||
return this.shopsService.getShopByID(genXRequestID(), shopID);
|
||||
return this.shopsService.getShopByID(this.idGenerator.shortUuid(), shopID);
|
||||
}
|
||||
|
||||
getShops(): Observable<Shop[]> {
|
||||
return this.shopsService.getShops(genXRequestID());
|
||||
return this.shopsService.getShops(this.idGenerator.shortUuid());
|
||||
}
|
||||
|
||||
reloadShops() {
|
||||
@ -34,10 +34,10 @@ export class ApiShopsService {
|
||||
}
|
||||
|
||||
suspendShop(shopID: string) {
|
||||
return this.shopsService.suspendShop(genXRequestID(), shopID);
|
||||
return this.shopsService.suspendShop(this.idGenerator.shortUuid(), shopID);
|
||||
}
|
||||
|
||||
activateShop(shopID: string) {
|
||||
return this.shopsService.activateShop(genXRequestID(), shopID);
|
||||
return this.shopsService.activateShop(this.idGenerator.shortUuid(), shopID);
|
||||
}
|
||||
}
|
||||
|
@ -1,14 +1,16 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
|
||||
import { ShortenerService } from '@dsh/api-codegen/url-shortener';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class UrlShortenerService {
|
||||
constructor(private shortenerService: ShortenerService) {}
|
||||
constructor(private shortenerService: ShortenerService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
shortenUrl(sourceUrl: string, expiresAt: string) {
|
||||
return this.shortenerService.shortenUrl(genXRequestID(), { sourceUrl, expiresAt: expiresAt as any as Date });
|
||||
return this.shortenerService.shortenUrl(this.idGenerator.shortUuid(), {
|
||||
sourceUrl,
|
||||
expiresAt: expiresAt as any as Date,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +0,0 @@
|
||||
import { randomString as s } from '../../../utils';
|
||||
|
||||
/**
|
||||
* @deprecated use IdGeneratorService
|
||||
*/
|
||||
export function genXRequestID() {
|
||||
return `${s(8)}-${s(4)}-${s(4)}`;
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
export * from './to-date-like';
|
||||
export * from './gen-x-request-id';
|
||||
export * from './create-union-type-guard-creator';
|
||||
|
@ -1,27 +1,26 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { Webhook, WebhooksService as ApiWebhooksService } from '@dsh/api-codegen/wallet-api';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class WalletWebhooksService {
|
||||
constructor(private apiWebhooksService: ApiWebhooksService) {}
|
||||
constructor(private apiWebhooksService: ApiWebhooksService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
createWebhook(params: Webhook): Observable<Webhook> {
|
||||
return this.apiWebhooksService.createWebhook(genXRequestID(), params);
|
||||
return this.apiWebhooksService.createWebhook(this.idGenerator.shortUuid(), params);
|
||||
}
|
||||
|
||||
getWebhooks(identityID: string): Observable<Webhook[]> {
|
||||
return this.apiWebhooksService.getWebhooks(genXRequestID(), identityID);
|
||||
return this.apiWebhooksService.getWebhooks(this.idGenerator.shortUuid(), identityID);
|
||||
}
|
||||
|
||||
getWebhookByID(webhookID: string, identityID: string): Observable<Webhook> {
|
||||
return this.apiWebhooksService.getWebhookByID(genXRequestID(), webhookID, identityID);
|
||||
return this.apiWebhooksService.getWebhookByID(this.idGenerator.shortUuid(), webhookID, identityID);
|
||||
}
|
||||
|
||||
deleteWebhookByID(webhookID: string, identityID: string): Observable<any> {
|
||||
return this.apiWebhooksService.deleteWebhookByID(genXRequestID(), webhookID, identityID);
|
||||
return this.apiWebhooksService.deleteWebhookByID(this.idGenerator.shortUuid(), webhookID, identityID);
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { of } from 'rxjs';
|
||||
import { catchError, map, pluck, shareReplay } from 'rxjs/operators';
|
||||
|
||||
import { Wallet, WalletGrantRequest, WalletService as ApiWalletsService } from '@dsh/api-codegen/wallet-api';
|
||||
|
||||
import { SHARE_REPLAY_CONF } from '../../custom-operators';
|
||||
import { genXRequestID } from '../utils';
|
||||
import { WalletsSearchParams } from './wallets-search-params';
|
||||
|
||||
@Injectable()
|
||||
@ -23,15 +23,15 @@ export class WalletService {
|
||||
shareReplay(SHARE_REPLAY_CONF)
|
||||
);
|
||||
|
||||
constructor(private apiWalletsService: ApiWalletsService) {}
|
||||
constructor(private apiWalletsService: ApiWalletsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
getWalletByExternalID(externalID: string) {
|
||||
return this.apiWalletsService.getWalletByExternalID(genXRequestID(), externalID);
|
||||
return this.apiWalletsService.getWalletByExternalID(this.idGenerator.shortUuid(), externalID);
|
||||
}
|
||||
|
||||
listWallets(limit: number, params?: WalletsSearchParams, continuationToken?: string) {
|
||||
return this.apiWalletsService.listWallets(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
limit,
|
||||
undefined,
|
||||
params?.identityID,
|
||||
@ -41,18 +41,18 @@ export class WalletService {
|
||||
}
|
||||
|
||||
createWallet(wallet: Wallet) {
|
||||
return this.apiWalletsService.createWallet(genXRequestID(), wallet, undefined);
|
||||
return this.apiWalletsService.createWallet(this.idGenerator.shortUuid(), wallet, undefined);
|
||||
}
|
||||
|
||||
getWallet(walletID: string) {
|
||||
return this.apiWalletsService.getWallet(genXRequestID(), walletID);
|
||||
return this.apiWalletsService.getWallet(this.idGenerator.shortUuid(), walletID);
|
||||
}
|
||||
|
||||
getWalletAccount(walletID: string) {
|
||||
return this.apiWalletsService.getWalletAccount(genXRequestID(), walletID);
|
||||
return this.apiWalletsService.getWalletAccount(this.idGenerator.shortUuid(), walletID);
|
||||
}
|
||||
|
||||
issueWalletGrant(walletID: string, request: WalletGrantRequest) {
|
||||
return this.apiWalletsService.issueWalletGrant(genXRequestID(), walletID, request);
|
||||
return this.apiWalletsService.issueWalletGrant(this.idGenerator.shortUuid(), walletID, request);
|
||||
}
|
||||
}
|
||||
|
@ -1,27 +1,26 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
import { Webhook, WebhooksService as ApiWebhooksService } from '@dsh/api-codegen/capi';
|
||||
|
||||
import { genXRequestID } from '../utils';
|
||||
|
||||
@Injectable()
|
||||
export class WebhooksService {
|
||||
constructor(private apiWebhooksService: ApiWebhooksService) {}
|
||||
constructor(private apiWebhooksService: ApiWebhooksService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
createWebhook(params: Webhook): Observable<Webhook> {
|
||||
return this.apiWebhooksService.createWebhook(genXRequestID(), params);
|
||||
return this.apiWebhooksService.createWebhook(this.idGenerator.shortUuid(), params);
|
||||
}
|
||||
|
||||
getWebhooks(): Observable<Webhook[]> {
|
||||
return this.apiWebhooksService.getWebhooks(genXRequestID());
|
||||
return this.apiWebhooksService.getWebhooks(this.idGenerator.shortUuid());
|
||||
}
|
||||
|
||||
getWebhookByID(webhookID: string): Observable<Webhook> {
|
||||
return this.apiWebhooksService.getWebhookByID(genXRequestID(), webhookID);
|
||||
return this.apiWebhooksService.getWebhookByID(this.idGenerator.shortUuid(), webhookID);
|
||||
}
|
||||
|
||||
deleteWebhookByID(webhookID: string): Observable<any> {
|
||||
return this.apiWebhooksService.deleteWebhookByID(genXRequestID(), webhookID);
|
||||
return this.apiWebhooksService.deleteWebhookByID(this.idGenerator.shortUuid(), webhookID);
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +1,18 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
|
||||
import { WithdrawalsService as ApiWithdrawalsService } from '@dsh/api-codegen/wallet-api/swagger-codegen';
|
||||
|
||||
import { genXRequestID, toDateLike } from '../utils';
|
||||
import { toDateLike } from '../utils';
|
||||
import { WithdrawalsSearchParams } from './withdrawals-search-params';
|
||||
|
||||
@Injectable()
|
||||
export class WithdrawalsService {
|
||||
constructor(private withdrawalsService: ApiWithdrawalsService) {}
|
||||
constructor(private withdrawalsService: ApiWithdrawalsService, private idGenerator: IdGeneratorService) {}
|
||||
|
||||
listWithdrawals(params: WithdrawalsSearchParams, limit = 20, continuationToken?: string) {
|
||||
return this.withdrawalsService.listWithdrawals(
|
||||
genXRequestID(),
|
||||
this.idGenerator.shortUuid(),
|
||||
limit,
|
||||
undefined,
|
||||
params.walletID,
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { TranslocoService } from '@ngneat/transloco';
|
||||
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { concat, defer, Observable, of, ReplaySubject, throwError } from 'rxjs';
|
||||
import { catchError, first, mapTo, shareReplay, switchMap, takeLast, tap } from 'rxjs/operators';
|
||||
|
||||
@ -31,7 +32,8 @@ export class BootstrapService {
|
||||
private capiPartiesService: CapiPartiesService,
|
||||
private errorService: ErrorService,
|
||||
private organizationsService: OrganizationsService,
|
||||
private transloco: TranslocoService
|
||||
private transloco: TranslocoService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {}
|
||||
|
||||
bootstrap(): void {
|
||||
@ -77,6 +79,10 @@ export class BootstrapService {
|
||||
}
|
||||
|
||||
private createTestShop(): Observable<boolean> {
|
||||
return this.capiClaimsService.createClaim(createTestShopClaimChangeset()).pipe(mapTo(true));
|
||||
return this.capiClaimsService
|
||||
.createClaim(
|
||||
createTestShopClaimChangeset(this.idGenerator.uuid(), this.idGenerator.uuid(), this.idGenerator.uuid())
|
||||
)
|
||||
.pipe(mapTo(true));
|
||||
}
|
||||
}
|
||||
|
@ -4,9 +4,9 @@ import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatSnackBar } from '@angular/material/snack-bar';
|
||||
import { Router } from '@angular/router';
|
||||
import { TranslocoService } from '@ngneat/transloco';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { forkJoin, Observable, of, Subject, throwError } from 'rxjs';
|
||||
import { catchError, filter, map, pluck, switchMap } from 'rxjs/operators';
|
||||
import * as uuid from 'uuid/v4';
|
||||
|
||||
import { OrgType, PartyContent, ReqResponse } from '@dsh/api-codegen/aggr-proxy';
|
||||
import { QuestionaryData } from '@dsh/api-codegen/questionary';
|
||||
@ -35,7 +35,8 @@ export class CompanySearchService {
|
||||
private transloco: TranslocoService,
|
||||
private snackBar: MatSnackBar,
|
||||
private konturFocusService: KonturFocusService,
|
||||
private keycloakService: KeycloakService
|
||||
private keycloakService: KeycloakService,
|
||||
private idGenerator: IdGeneratorService
|
||||
) {
|
||||
this.leaveOnboarding$
|
||||
.pipe(
|
||||
@ -54,7 +55,7 @@ export class CompanySearchService {
|
||||
}
|
||||
|
||||
createInitialClaim(data: QuestionaryData): Observable<{ claimID: number; documentID: string }> {
|
||||
const initialDocumentID = uuid();
|
||||
const initialDocumentID = this.idGenerator.uuid();
|
||||
const changeset = [createDocumentModificationUnit(initialDocumentID)];
|
||||
const defaultEmail = this.keycloakService.getUsername();
|
||||
const questionaryData: QuestionaryData = { ...data, contactInfo: { email: defaultEmail, ...data.contactInfo } };
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { cold } from 'jasmine-marbles';
|
||||
import { of } from 'rxjs';
|
||||
import { take } from 'rxjs/operators';
|
||||
@ -7,7 +8,6 @@ import { deepEqual, instance, mock, verify, when } from 'ts-mockito';
|
||||
import { Claim, Modification } from '@dsh/api-codegen/claim-management';
|
||||
import { ClaimsService } from '@dsh/api/claims';
|
||||
import { createTestContractCreationModification } from '@dsh/api/claims/claim-party-modification';
|
||||
import { IdGeneratorService } from '@dsh/app/shared/services/id-generator/id-generator.service';
|
||||
|
||||
import { createTestContractPayoutToolModification } from '../../tests/create-test-contract-payout-tool-modification';
|
||||
import { createTestInternationalLegalEntityModification } from '../../tests/create-test-international-legal-entity-modification';
|
||||
@ -82,7 +82,7 @@ describe('CreateInternationalShopEntityService', () => {
|
||||
];
|
||||
|
||||
beforeEach(() => {
|
||||
when(mockIdGeneratorService.generateUUID()).thenReturn(TEST_UUID);
|
||||
when(mockIdGeneratorService.uuid()).thenReturn(TEST_UUID);
|
||||
when(mockClaimsService.createClaim(deepEqual(modifications))).thenReturn(of(claim));
|
||||
when(mockClaimsService.requestReviewClaimByID(claim.id, claim.revision)).thenReturn(of(null));
|
||||
});
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import isNil from 'lodash-es/isNil';
|
||||
import { forkJoin, of } from 'rxjs';
|
||||
import { pluck, switchMap } from 'rxjs/operators';
|
||||
@ -12,7 +13,6 @@ import {
|
||||
makeShopLocation,
|
||||
} from '@dsh/api/claims/claim-party-modification';
|
||||
import { createInternationalContractPayoutToolModification } from '@dsh/api/claims/claim-party-modification/claim-contract-modification/create-international-contract-payout-tool-modification';
|
||||
import { IdGeneratorService } from '@dsh/app/shared/services/id-generator/id-generator.service';
|
||||
|
||||
import { InternationalShopEntityFormValue } from '../../types/international-shop-entity-form-value';
|
||||
|
||||
@ -39,10 +39,10 @@ export class CreateInternationalShopEntityService {
|
||||
payoutTool,
|
||||
correspondentPayoutTool = null,
|
||||
}: InternationalShopEntityFormValue): Modification[] {
|
||||
const contractorID = this.idGenerator.generateUUID();
|
||||
const contractID = this.idGenerator.generateUUID();
|
||||
const payoutToolID = this.idGenerator.generateUUID();
|
||||
const shopID = this.idGenerator.generateUUID();
|
||||
const contractorID = this.idGenerator.uuid();
|
||||
const contractID = this.idGenerator.uuid();
|
||||
const payoutToolID = this.idGenerator.uuid();
|
||||
const shopID = this.idGenerator.uuid();
|
||||
|
||||
return [
|
||||
createInternationalLegalEntityModification(contractorID, {
|
||||
|
@ -13,7 +13,6 @@ import { ClaimsModule } from '@dsh/api/claims';
|
||||
import { PayoutToolDetailsModule } from '@dsh/app/shared/components';
|
||||
import { BaseDialogModule } from '@dsh/app/shared/components/dialog/base-dialog';
|
||||
import { AutocompleteVirtualScrollModule } from '@dsh/app/shared/components/selects/autocomplete-virtual-scroll';
|
||||
import { IdGeneratorModule } from '@dsh/app/shared/services';
|
||||
import { ButtonModule } from '@dsh/components/buttons';
|
||||
import { FormatInputModule } from '@dsh/components/form-controls';
|
||||
import { DetailsItemModule } from '@dsh/components/layout';
|
||||
@ -45,7 +44,6 @@ import { CreateRussianShopEntityService } from './services/create-russian-shop-e
|
||||
DetailsItemModule,
|
||||
AutocompleteVirtualScrollModule,
|
||||
ClaimsModule,
|
||||
IdGeneratorModule,
|
||||
BaseDialogModule,
|
||||
],
|
||||
declarations: [
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { cold } from 'jasmine-marbles';
|
||||
import { of } from 'rxjs';
|
||||
import { take } from 'rxjs/operators';
|
||||
@ -8,7 +9,6 @@ import { Contract } from '@dsh/api-codegen/capi';
|
||||
import { Claim, Modification } from '@dsh/api-codegen/claim-management';
|
||||
import { ClaimsService } from '@dsh/api/claims';
|
||||
import { createContractCreationModification } from '@dsh/api/claims/claim-party-modification';
|
||||
import { IdGeneratorService } from '@dsh/app/shared/services/id-generator/id-generator.service';
|
||||
|
||||
import { createTestLegalEntityModification } from '../../tests/create-test-legal-entity-modification';
|
||||
import { createTestRussianContractPayoutToolModification } from '../../tests/create-test-russian-contract-payout-tool-modification';
|
||||
@ -92,7 +92,7 @@ describe('CreateRussianShopEntityService', () => {
|
||||
let modifications: Modification[];
|
||||
|
||||
beforeEach(() => {
|
||||
when(mockIdGeneratorService.generateUUID()).thenReturn(TEST_UUID);
|
||||
when(mockIdGeneratorService.uuid()).thenReturn(TEST_UUID);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { IdGeneratorService } from '@rbkmoney/id-generator';
|
||||
import { forkJoin, Observable, of } from 'rxjs';
|
||||
import { pluck, switchMap } from 'rxjs/operators';
|
||||
|
||||
@ -12,7 +13,6 @@ import {
|
||||
createShopCreationModification,
|
||||
makeShopLocation,
|
||||
} from '@dsh/api/claims/claim-party-modification';
|
||||
import { IdGeneratorService } from '@dsh/app/shared/services/id-generator/id-generator.service';
|
||||
|
||||
import { RussianShopCreateData } from '../../types/russian-shop-create-data';
|
||||
|
||||
@ -36,9 +36,9 @@ export class CreateRussianShopEntityService {
|
||||
payoutToolID,
|
||||
bankAccount: { account, bankName, bankPostAccount, bankBik },
|
||||
}: RussianShopCreateData): PartyModification[] {
|
||||
const contractorID = this.idGenerator.generateUUID();
|
||||
const contractID = this.idGenerator.generateUUID();
|
||||
const shopID = this.idGenerator.generateUUID();
|
||||
const contractorID = this.idGenerator.uuid();
|
||||
const contractID = this.idGenerator.uuid();
|
||||
const shopID = this.idGenerator.uuid();
|
||||
|
||||
const {
|
||||
actualAddress,
|
||||
@ -77,13 +77,9 @@ export class CreateRussianShopEntityService {
|
||||
}),
|
||||
];
|
||||
if (!payoutToolID) {
|
||||
payoutToolID = this.idGenerator.generateUUID();
|
||||
payoutToolID = this.idGenerator.uuid();
|
||||
result.push(
|
||||
createRussianContractPayoutToolCreationModification(
|
||||
contractID,
|
||||
this.idGenerator.generateUUID(),
|
||||
bankAccount
|
||||
)
|
||||
createRussianContractPayoutToolCreationModification(contractID, this.idGenerator.uuid(), bankAccount)
|
||||
);
|
||||
}
|
||||
return [
|
||||
|
@ -1,8 +0,0 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { IdGeneratorService } from './id-generator.service';
|
||||
|
||||
@NgModule({
|
||||
providers: [IdGeneratorService],
|
||||
})
|
||||
export class IdGeneratorModule {}
|
@ -1,28 +0,0 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { IdGeneratorService } from './id-generator.service';
|
||||
|
||||
describe('IdGeneratorService', () => {
|
||||
let service: IdGeneratorService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
providers: [IdGeneratorService],
|
||||
});
|
||||
service = TestBed.inject(IdGeneratorService);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
|
||||
describe('generateUUID', () => {
|
||||
it('should generate uuid', () => {
|
||||
expect(service.generateUUID()).toBeTruthy();
|
||||
});
|
||||
|
||||
it('new generated uuid should be not like it was before', () => {
|
||||
expect(service.generateUUID()).not.toBe(service.generateUUID());
|
||||
});
|
||||
});
|
||||
});
|
@ -1,15 +0,0 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import uuid from 'uuid';
|
||||
|
||||
import { genXRequestID } from '@dsh/api/utils';
|
||||
|
||||
@Injectable()
|
||||
export class IdGeneratorService {
|
||||
generateUUID(): string {
|
||||
return uuid();
|
||||
}
|
||||
|
||||
generateRequestID(): string {
|
||||
return genXRequestID();
|
||||
}
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
export * from './id-generator.module';
|
||||
export * from './id-generator.service';
|
@ -2,7 +2,6 @@ export * from './country-codes';
|
||||
export * from './query-params-store';
|
||||
export * from './expanded-id-manager';
|
||||
export * from './logger';
|
||||
export * from './id-generator';
|
||||
export * from './fake-paginator.service';
|
||||
export * from './notification';
|
||||
export * from './error';
|
||||
|
@ -3,7 +3,7 @@
|
||||
*/
|
||||
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
||||
|
||||
export async function download(url: string, name?: string) {
|
||||
export async function download(url: string, name?: string): Promise<void> {
|
||||
const a = document.createElement('a');
|
||||
a.id = url;
|
||||
a.download = name;
|
||||
@ -16,7 +16,7 @@ export async function download(url: string, name?: string) {
|
||||
a.remove();
|
||||
}
|
||||
|
||||
export function multipleDownload(urls: string[]) {
|
||||
export function multipleDownload(urls: string[]): void {
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
||||
urls.forEach(async (url, i) => {
|
||||
await delay(i * 1000);
|
||||
|
Loading…
Reference in New Issue
Block a user