Feature/add user id to symbol profile database schema (#4122)
* Add userId to SymbolProfile database schema * Update changelog
This commit is contained in:
parent
57659d2c04
commit
de68841843
@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Added `userId` to the `SymbolProfile` database schema
|
||||||
|
|
||||||
## 2.128.0 - 2024-12-12
|
## 2.128.0 - 2024-12-12
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
@ -224,7 +224,7 @@ export class ImportService {
|
|||||||
|
|
||||||
for (const activity of activitiesDto) {
|
for (const activity of activitiesDto) {
|
||||||
if (!activity.dataSource) {
|
if (!activity.dataSource) {
|
||||||
if (activity.type === 'ITEM' || activity.type === 'LIABILITY') {
|
if (['FEE', 'INTEREST', 'ITEM', 'LIABILITY'].includes(activity.type)) {
|
||||||
activity.dataSource = DataSource.MANUAL;
|
activity.dataSource = DataSource.MANUAL;
|
||||||
} else {
|
} else {
|
||||||
activity.dataSource =
|
activity.dataSource =
|
||||||
@ -356,6 +356,7 @@ export class ImportService {
|
|||||||
quantity,
|
quantity,
|
||||||
type,
|
type,
|
||||||
unitPrice,
|
unitPrice,
|
||||||
|
Account: validatedAccount,
|
||||||
accountId: validatedAccount?.id,
|
accountId: validatedAccount?.id,
|
||||||
accountUserId: undefined,
|
accountUserId: undefined,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
@ -380,10 +381,10 @@ export class ImportService {
|
|||||||
symbolMapping,
|
symbolMapping,
|
||||||
updatedAt,
|
updatedAt,
|
||||||
url,
|
url,
|
||||||
|
comment: assetProfile.comment,
|
||||||
currency: assetProfile.currency,
|
currency: assetProfile.currency,
|
||||||
comment: assetProfile.comment
|
userId: dataSource === 'MANUAL' ? user.id : undefined
|
||||||
},
|
},
|
||||||
Account: validatedAccount,
|
|
||||||
symbolProfileId: undefined,
|
symbolProfileId: undefined,
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
userId: user.id
|
userId: user.id
|
||||||
@ -406,7 +407,8 @@ export class ImportService {
|
|||||||
create: {
|
create: {
|
||||||
dataSource,
|
dataSource,
|
||||||
symbol,
|
symbol,
|
||||||
currency: assetProfile.currency
|
currency: assetProfile.currency,
|
||||||
|
userId: dataSource === 'MANUAL' ? user.id : undefined
|
||||||
},
|
},
|
||||||
where: {
|
where: {
|
||||||
dataSource_symbol: {
|
dataSource_symbol: {
|
||||||
|
@ -93,7 +93,7 @@ export class OrderService {
|
|||||||
userId: string;
|
userId: string;
|
||||||
}
|
}
|
||||||
): Promise<Order> {
|
): Promise<Order> {
|
||||||
let Account;
|
let Account: Prisma.AccountCreateNestedOneWithoutOrderInput;
|
||||||
|
|
||||||
if (data.accountId) {
|
if (data.accountId) {
|
||||||
Account = {
|
Account = {
|
||||||
@ -124,6 +124,7 @@ export class OrderService {
|
|||||||
data.SymbolProfile.connectOrCreate.create.dataSource = dataSource;
|
data.SymbolProfile.connectOrCreate.create.dataSource = dataSource;
|
||||||
data.SymbolProfile.connectOrCreate.create.name = name;
|
data.SymbolProfile.connectOrCreate.create.name = name;
|
||||||
data.SymbolProfile.connectOrCreate.create.symbol = id;
|
data.SymbolProfile.connectOrCreate.create.symbol = id;
|
||||||
|
data.SymbolProfile.connectOrCreate.create.userId = userId;
|
||||||
data.SymbolProfile.connectOrCreate.where.dataSource_symbol = {
|
data.SymbolProfile.connectOrCreate.where.dataSource_symbol = {
|
||||||
dataSource,
|
dataSource,
|
||||||
symbol: id
|
symbol: id
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "SymbolProfile" ADD COLUMN "userId" TEXT;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "SymbolProfile" ADD CONSTRAINT "SymbolProfile_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- Set userIds in SymbolProfile for 'MANUAL' data source
|
||||||
|
UPDATE "SymbolProfile"
|
||||||
|
SET "userId" = (
|
||||||
|
SELECT "userId"
|
||||||
|
FROM "Order"
|
||||||
|
WHERE "Order"."symbolProfileId" = "SymbolProfile"."id"
|
||||||
|
LIMIT 1
|
||||||
|
)
|
||||||
|
WHERE "dataSource" = 'MANUAL';
|
@ -188,8 +188,10 @@ model SymbolProfile {
|
|||||||
symbol String
|
symbol String
|
||||||
symbolMapping Json?
|
symbolMapping Json?
|
||||||
url String?
|
url String?
|
||||||
|
userId String?
|
||||||
Order Order[]
|
Order Order[]
|
||||||
SymbolProfileOverrides SymbolProfileOverrides?
|
SymbolProfileOverrides SymbolProfileOverrides?
|
||||||
|
User User? @relation(fields: [userId], onDelete: Cascade, references: [id])
|
||||||
|
|
||||||
@@unique([dataSource, symbol])
|
@@unique([dataSource, symbol])
|
||||||
@@index([assetClass])
|
@@index([assetClass])
|
||||||
@ -239,14 +241,14 @@ model Tag {
|
|||||||
model User {
|
model User {
|
||||||
accessToken String?
|
accessToken String?
|
||||||
authChallenge String?
|
authChallenge String?
|
||||||
createdAt DateTime @default(now())
|
createdAt DateTime @default(now())
|
||||||
id String @id @default(uuid())
|
id String @id @default(uuid())
|
||||||
provider Provider @default(ANONYMOUS)
|
provider Provider @default(ANONYMOUS)
|
||||||
role Role @default(USER)
|
role Role @default(USER)
|
||||||
thirdPartyId String?
|
thirdPartyId String?
|
||||||
updatedAt DateTime @updatedAt
|
updatedAt DateTime @updatedAt
|
||||||
Access Access[] @relation("accessGet")
|
Access Access[] @relation("accessGet")
|
||||||
AccessGive Access[] @relation("accessGive")
|
AccessGive Access[] @relation("accessGive")
|
||||||
Account Account[]
|
Account Account[]
|
||||||
Analytics Analytics?
|
Analytics Analytics?
|
||||||
ApiKey ApiKey[]
|
ApiKey ApiKey[]
|
||||||
@ -254,6 +256,7 @@ model User {
|
|||||||
Order Order[]
|
Order Order[]
|
||||||
Settings Settings?
|
Settings Settings?
|
||||||
Subscription Subscription[]
|
Subscription Subscription[]
|
||||||
|
SymbolProfile SymbolProfile[]
|
||||||
Tag Tag[]
|
Tag Tag[]
|
||||||
|
|
||||||
@@index([accessToken])
|
@@index([accessToken])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user