Browse Source

Merge branch 'main' into task/remove-deprecated-permissions-from-access

pull/7639/head
Thomas Kaul 1 week ago
committed by GitHub
parent
commit
77971a06a4
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 2
      apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts
  3. 17
      apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts
  4. 4
      apps/api/tsconfig.app.json
  5. 3
      apps/api/tsconfig.spec.json
  6. 2
      libs/ui/src/lib/account-selector/account-selector.component.html
  7. 8
      libs/ui/src/lib/account-selector/account-selector.component.ts

1
CHANGELOG.md

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Improved the sorting to be case-insensitive in the account selector component
- Removed the deprecated `permissions` attribute of the access in favor of the scopes - Removed the deprecated `permissions` attribute of the access in favor of the scopes
## 3.55.0 - 2026-08-19 ## 3.55.0 - 2026-08-19

2
apps/api/src/services/data-provider/data-enhancer/yahoo-finance/yahoo-finance.service.ts

@ -20,7 +20,7 @@ import {
} from '@prisma/client'; } from '@prisma/client';
import { isISIN } from 'class-validator'; import { isISIN } from 'class-validator';
import YahooFinance from 'yahoo-finance2'; import YahooFinance from 'yahoo-finance2';
import type { Price } from 'yahoo-finance2/esm/src/modules/quoteSummary-iface'; import type { Price } from 'yahoo-finance2/modules/quoteSummary-iface';
@Injectable() @Injectable()
export class YahooFinanceDataEnhancerService implements DataEnhancerInterface { export class YahooFinanceDataEnhancerService implements DataEnhancerInterface {

17
apps/api/src/services/data-provider/yahoo-finance/yahoo-finance.service.ts

@ -25,20 +25,17 @@ import { addDays, format, isSameDay } from 'date-fns';
import { ReasonPhrases, StatusCodes } from 'http-status-codes'; import { ReasonPhrases, StatusCodes } from 'http-status-codes';
import { uniqBy } from 'lodash'; import { uniqBy } from 'lodash';
import YahooFinance from 'yahoo-finance2'; import YahooFinance from 'yahoo-finance2';
import { ChartResultArray } from 'yahoo-finance2/esm/src/modules/chart'; import type { ChartResultArray } from 'yahoo-finance2/modules/chart';
import { import type {
HistoricalDividendsResult, HistoricalDividendsResult,
HistoricalHistoryResult HistoricalHistoryResult
} from 'yahoo-finance2/esm/src/modules/historical'; } from 'yahoo-finance2/modules/historical';
import { import type { Quote, QuoteResponseArray } from 'yahoo-finance2/modules/quote';
Quote, import type {
QuoteResponseArray
} from 'yahoo-finance2/esm/src/modules/quote';
import {
Price, Price,
QuoteSummaryResult QuoteSummaryResult
} from 'yahoo-finance2/esm/src/modules/quoteSummary'; } from 'yahoo-finance2/modules/quoteSummary';
import { SearchQuoteNonYahoo } from 'yahoo-finance2/esm/src/modules/search'; import type { SearchQuoteNonYahoo } from 'yahoo-finance2/modules/search';
@Injectable() @Injectable()
export class YahooFinanceService implements DataProviderInterface { export class YahooFinanceService implements DataProviderInterface {

4
apps/api/tsconfig.app.json

@ -4,10 +4,8 @@
"outDir": "../../dist/out-tsc", "outDir": "../../dist/out-tsc",
"types": ["node"], "types": ["node"],
"emitDecoratorMetadata": true, "emitDecoratorMetadata": true,
"ignoreDeprecations": "6.0",
"moduleResolution": "node10",
"target": "es2021", "target": "es2021",
"module": "commonjs" "module": "preserve"
}, },
"exclude": ["**/*.spec.ts", "**/*.test.ts", "jest.config.ts"], "exclude": ["**/*.spec.ts", "**/*.test.ts", "jest.config.ts"],
"include": ["**/*.ts"] "include": ["**/*.ts"]

3
apps/api/tsconfig.spec.json

@ -2,8 +2,7 @@
"extends": "./tsconfig.json", "extends": "./tsconfig.json",
"compilerOptions": { "compilerOptions": {
"outDir": "../../dist/out-tsc", "outDir": "../../dist/out-tsc",
"module": "commonjs", "module": "preserve",
"moduleResolution": "node10",
"types": ["jest", "node"] "types": ["jest", "node"]
}, },
"include": ["**/*.spec.ts", "**/*.test.ts", "**/*.d.ts", "jest.config.ts"] "include": ["**/*.spec.ts", "**/*.test.ts", "**/*.d.ts", "jest.config.ts"]

2
libs/ui/src/lib/account-selector/account-selector.component.html

@ -28,7 +28,7 @@
<mat-option [value]="null" /> <mat-option [value]="null" />
} }
@for (account of accounts(); track account.id) { @for (account of sortedAccounts(); track account.id) {
<mat-option [value]="account.id"> <mat-option [value]="account.id">
<div class="d-flex"> <div class="d-flex">
<gf-entity-logo <gf-entity-logo

8
libs/ui/src/lib/account-selector/account-selector.component.ts

@ -61,6 +61,14 @@ export class GfAccountSelectorComponent
}); });
}); });
public readonly sortedAccounts = computed(() => {
return [...this.accounts()].sort((a, b) => {
return (a.name ?? '')
.toLowerCase()
.localeCompare((b.name ?? '').toLowerCase());
});
});
private readonly ngControl = inject(NgControl, { private readonly ngControl = inject(NgControl, {
optional: true, optional: true,
self: true self: true

Loading…
Cancel
Save