diff --git a/apps/api/src/user/admin-seed.service.ts b/apps/api/src/user/admin-seed.service.ts index e742433..73a9ab5 100644 --- a/apps/api/src/user/admin-seed.service.ts +++ b/apps/api/src/user/admin-seed.service.ts @@ -2,6 +2,7 @@ import { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import * as argon2 from 'argon2'; import { GroupsService } from '../groups/groups.service'; +import { getRunningRelease } from '../health/app-version'; import { forTenant } from '../prisma/prisma-tenant.extension'; import { prismaErrorCode } from '../prisma/prisma-error'; import { PrismaService } from '../prisma/prisma.service'; @@ -116,6 +117,10 @@ export class AdminSeedService implements OnApplicationBootstrap { tenantId: tenant.id, mustChangePassword: forceChange, isActive: true, + // quick-260925-bow (D-04): laufende freigegebene Version, damit der + // Erst-Administrator kein "Was ist neu"-Fenster mit Altlasten sieht; + // null auf dev-Staenden. + lastSeenReleaseVersion: getRunningRelease(), }, }); } catch (err: unknown) { diff --git a/apps/api/src/user/user.service.ts b/apps/api/src/user/user.service.ts index ae64136..7df0863 100644 --- a/apps/api/src/user/user.service.ts +++ b/apps/api/src/user/user.service.ts @@ -2,6 +2,7 @@ import { ConflictException, Injectable, Logger } from '@nestjs/common'; import * as argon2 from 'argon2'; import type { User } from '@prisma/client'; import { GroupsService } from '../groups/groups.service'; +import { getRunningRelease } from '../health/app-version'; import { forTenant } from '../prisma/prisma-tenant.extension'; import { prismaErrorCode } from '../prisma/prisma-error'; import { PrismaService } from '../prisma/prisma.service'; @@ -140,6 +141,14 @@ export class UserService { * endet damit bei JEDEM Aufrufer an dieser einen Stelle. Die Meldung * nennt WEDER den Halter NOCH dessen Mandanten, weil das sonst eine * Aussage ueber einen fremden Mandanten waere (T-DAS-08). + * + * "Was ist neu"-Fenster (quick-260925-bow, D-04): neue Benutzer (Admin- + * Anlage, AD-Abgleich und AD-Import) bekommen hier die laufende + * freigegebene Version (`getRunningRelease()`) als + * `lastSeenReleaseVersion` eingetragen, damit sie kein Fenster mit + * Aenderungen aus der Zeit vor ihrem Konto sehen; auf Staenden ohne + * freigegebene Version (`dev`) `null`. Der Wert ist eine Eigenschaft des + * Servers, kein Parameter dieser Methode. */ async create(data: { username: string; @@ -164,6 +173,7 @@ export class UserService { ...rest, username: rest.username.toLowerCase(), passwordHash: password ? await argon2.hash(password) : null, + lastSeenReleaseVersion: getRunningRelease(), }, }); } catch (err: unknown) {