Browse Source

Feature/rename GranteeUser to granteeUser in Access database schema (#4979)

* Rename GranteeUser to granteeUser in Access database schema

* Update changelog
pull/4981/head
Thomas Kaul 2 weeks ago
committed by GitHub
parent
commit
d5d74eb4db
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 10
      apps/api/src/app/access/access.controller.ts
  3. 2
      apps/api/src/app/access/access.service.ts
  4. 2
      apps/api/src/app/user/user.service.ts
  5. 4
      apps/api/src/services/impersonation/impersonation.service.ts
  6. 2
      libs/common/src/lib/types/access-with-grantee-user.type.ts
  7. 2
      prisma/schema.prisma

1
CHANGELOG.md

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Renamed `GranteeUser` to `granteeUser` in the `Access` database schema
- Improved the language localization for French (`fr`) - Improved the language localization for French (`fr`)
- Upgraded `class-validator` from version `0.14.1` to `0.14.2` - Upgraded `class-validator` from version `0.14.1` to `0.14.2`

10
apps/api/src/app/access/access.controller.ts

@ -37,20 +37,20 @@ export class AccessController {
public async getAllAccesses(): Promise<Access[]> { public async getAllAccesses(): Promise<Access[]> {
const accessesWithGranteeUser = await this.accessService.accesses({ const accessesWithGranteeUser = await this.accessService.accesses({
include: { include: {
GranteeUser: true granteeUser: true
}, },
orderBy: { granteeUserId: 'asc' }, orderBy: { granteeUserId: 'asc' },
where: { userId: this.request.user.id } where: { userId: this.request.user.id }
}); });
return accessesWithGranteeUser.map( return accessesWithGranteeUser.map(
({ alias, GranteeUser, id, permissions }) => { ({ alias, granteeUser, id, permissions }) => {
if (GranteeUser) { if (granteeUser) {
return { return {
alias, alias,
id, id,
permissions, permissions,
grantee: GranteeUser?.id, grantee: granteeUser?.id,
type: 'PRIVATE' type: 'PRIVATE'
}; };
} }
@ -85,7 +85,7 @@ export class AccessController {
try { try {
return this.accessService.createAccess({ return this.accessService.createAccess({
alias: data.alias || undefined, alias: data.alias || undefined,
GranteeUser: data.granteeUserId granteeUser: data.granteeUserId
? { connect: { id: data.granteeUserId } } ? { connect: { id: data.granteeUserId } }
: undefined, : undefined,
permissions: data.permissions, permissions: data.permissions,

2
apps/api/src/app/access/access.service.ts

@ -13,7 +13,7 @@ export class AccessService {
): Promise<AccessWithGranteeUser | null> { ): Promise<AccessWithGranteeUser | null> {
return this.prismaService.access.findFirst({ return this.prismaService.access.findFirst({
include: { include: {
GranteeUser: true granteeUser: true
}, },
where: accessWhereInput where: accessWhereInput
}); });

2
apps/api/src/app/user/user.service.ts

@ -104,7 +104,7 @@ export class UserService {
user: true user: true
}, },
orderBy: { alias: 'asc' }, orderBy: { alias: 'asc' },
where: { GranteeUser: { id } } where: { granteeUserId: id }
}), }),
this.prismaService.order.count({ this.prismaService.order.count({
where: { userId: id } where: { userId: id }

4
apps/api/src/services/impersonation/impersonation.service.ts

@ -16,7 +16,7 @@ export class ImpersonationService {
if (this.request.user) { if (this.request.user) {
const accessObject = await this.prismaService.access.findFirst({ const accessObject = await this.prismaService.access.findFirst({
where: { where: {
GranteeUser: { id: this.request.user.id }, granteeUserId: this.request.user.id,
id: aId id: aId
} }
}); });
@ -35,7 +35,7 @@ export class ImpersonationService {
// Public access // Public access
const accessObject = await this.prismaService.access.findFirst({ const accessObject = await this.prismaService.access.findFirst({
where: { where: {
GranteeUser: null, granteeUserId: null,
user: { id: aId } user: { id: aId }
} }
}); });

2
libs/common/src/lib/types/access-with-grantee-user.type.ts

@ -1,3 +1,3 @@
import { Access, User } from '@prisma/client'; import { Access, User } from '@prisma/client';
export type AccessWithGranteeUser = Access & { GranteeUser?: User }; export type AccessWithGranteeUser = Access & { granteeUser?: User };

2
prisma/schema.prisma

@ -12,12 +12,12 @@ datasource db {
model Access { model Access {
alias String? alias String?
createdAt DateTime @default(now()) createdAt DateTime @default(now())
granteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id])
granteeUserId String? granteeUserId String?
id String @id @default(uuid()) id String @id @default(uuid())
permissions AccessPermission[] @default([READ_RESTRICTED]) permissions AccessPermission[] @default([READ_RESTRICTED])
updatedAt DateTime @updatedAt updatedAt DateTime @updatedAt
userId String userId String
GranteeUser User? @relation("accessGet", fields: [granteeUserId], onDelete: Cascade, references: [id])
user User @relation("accessGive", fields: [userId], onDelete: Cascade, references: [id]) user User @relation("accessGive", fields: [userId], onDelete: Cascade, references: [id])
@@index([alias]) @@index([alias])

Loading…
Cancel
Save