API-reference

Datamodel-felt-reference

Felt-for-felt opslag på de vigtigste tabeller i Ressourcify.

Tørt opslagsværk over kerne-modeller. Den autoritative kilde er prisma/schema.prisma. For forklaring af hvorfor modellen ser sådan ud, se Datamodel & ER-diagram.

Alle ID'er er UUID v4 med mindre andet er angivet. Datotyper er PostgreSQL date (ikke timestamp) med mindre felt-navnet ender på At — det indikerer timestamp.

Organization

FeltTypeNote
idUUIDPK
namestringVises i UI + browser-titel
createdAttimestamp
updatedAttimestamp

Department

FeltTypeNote
idUUIDPK
organizationIdUUIDFK → Organization
namestring
codestring?Kort identifier
managerIdUUID?FK → User; afdelingsleder

Team

FeltTypeNote
idUUIDPK
organizationIdUUIDFK → Organization
namestring
isActivebooleanDefault true

Mange-til-mange med User via UserTeam.

User

FeltTypeNote
idUUIDPK
organizationIdUUIDFK → Organization
primaryDepartmentIdUUID?FK → Department
emailstringUnique global
namestring
employmentPctdecimal(3,2)0.001.00
defaultWeeklyHoursdecimal(4,2)Default 37.00
startDatedateAnsættelsesdato
endDatedate?Fratrædelse
statusACTIVE | INACTIVE
isManagerbooleanGiver insights:view
azureAdOidstring?Unique; bruges af NextAuth
azureAdTidstring?Tenant-ID fra Entra
passwordHashstring?Fallback til lokal-auth (ikke aktiv)
deletedAttimestamp?Soft-delete

UserRole

FeltTypeNote
idUUIDPK
userIdUUIDFK → User; cascade-delete
roleenumORG_ADMIN | DEPT_ADMIN | COORDINATOR | RESOURCE | VIEWER
scopeTypeenumORG | DEPT | TEAM
scopeIdUUIDID på scope-target

Unik på (userId, role, scopeType, scopeId).

UserTeam

FeltTypeNote
userIdUUIDFK → User
teamIdUUIDFK → Team
isCoordinatorbooleanUI-flag — ikke samme som COORDINATOR-rollen

Composite-PK (userId, teamId).

Project

FeltTypeNote
idUUIDPK
organizationIdUUIDFK
departmentIdUUID?FK
codestringUnique inden for org
namestring
externalRefstring?Fx Jira-key
statusenumACTIVE | ON_HOLD | DONE
startDatedate?
endDatedate?
managerIdUUID?FK → User
forecastEnabledbooleanDefault false
deletedAttimestamp?Soft-delete

Assignment

FeltTypeNote
idUUIDPK
projectIdUUIDFK → Project; cascade
userIdUUIDFK → User; cascade
startDatedate
endDatedate
allocationKindenumHOURS | PERCENT
valuedecimal(6,2)Timer/md eller procent
monthlyValuesjson?Per-måned override {2026-06: 4, 2026-07: 0}
notestring?
bulkAllocationBatchIdUUID?FK → BulkAllocationBatch
isLockedbooleanRESOURCE kan ikke redigere når true

BulkAllocationBatch

FeltTypeNote
idUUIDPK
organizationIdUUIDFK
createdByIdUUIDFK → User
projectIdUUIDFK → Project
labelstringFx "Afdelingsmøder Q3 2026"
scopeDefinitionjsonOriginal scope-vinduet fra wizarden
parentBatchIdUUID?Reference til original batch ved revision

Leave

FeltTypeNote
idUUIDPK
userIdUUIDFK → User; cascade
leaveTypeIdUUIDFK → LeaveType
startDatedate
endDatedate
hoursPerDaydecimal(4,2)?null = hele dage
notestring?

LeaveType

FeltTypeNote
idUUIDPK
organizationIdUUID?null = global type
namestring
codestring?Kort identifier
colorstringHex, default #6B7280
isAbsencebooleanfalse for "ikke-fravær" typer (fx kursus)

ForecastPlan

FeltTypeNote
idUUIDPK
organizationIdUUIDFK
projectIdUUIDFK → Project; cascade
yearintFx 2027
sizeIdUUIDFK → ForecastSize
startMonthint112
endMonthint112
notestring?

Unique på (projectId, year).

ForecastSize

FeltTypeNote
idUUIDPK
organizationIdUUIDFK
codestringFx S, M, L
labelstringVises i UI
allocationKindenumHOURS | PERCENT
totalHoursdecimal?null for HOURS-kind

MonthlyCapacity (cache)

FeltTypeNote
userIdUUIDFK
yearint
monthint112
workdaysint
baseHoursdecimal
leaveHoursdecimal
netHoursdecimal

Genberegnes når brugerens fravær eller arbejdsmønster ændres.

AuditLog

FeltTypeNote
idUUIDPK
organizationIdUUIDFK
actorUserIdUUID?null ved system-handlinger
actionstringFx assignment.create
targetTypestringModelnavn
targetIdstringID på target
payloadjson?Før/efter-tilstand
createdAttimestamp

Retention konfigureres per organisation under Indstillinger → Audit.

Enums

EnumVærdier
RoleTypeORG_ADMIN, DEPT_ADMIN, COORDINATOR, RESOURCE, VIEWER
ScopeTypeORG, DEPT, TEAM
AllocationKindHOURS, PERCENT
UserStatusACTIVE, INACTIVE
ProjectStatusACTIVE, ON_HOLD, DONE

On this page