Index
← Späť na text-for-presentation
Navigácia:
- Company Service
- Identity / Auth Service
- Employee Service
- Project Service
- Accommodation Service
- Timesheet / Worklog Service
- Invoice / Billing Service
- Document Service
- Approval Workflow Service
- Notification Service
Company Service¶
Tabuľka:
Company
Popis:
Drží základné údaje o firme a tenant konfiguráciu. Ostatné služby sa na firmu neviažu cez relačné FK, ale cez companyId.

Identity / Auth Service¶
Tabuľky:
UserIdentityTenantMembershipRoleDefinitionRolePermissionMembershipRoleBinding
Popis:
Rieši identitu používateľa, jeho členstvo vo firme a oprávnenia.
UserIdentity drží globálnu identitu používateľa, TenantMembership väzbu používateľa na konkrétnu firmu, RoleDefinition definuje roly vo firme, RolePermission ich oprávnenia a MembershipRoleBinding priraďuje roly konkrétnemu členstvu.


Employee Service¶
Tabuľka:
EmployeeProfile
Popis:
Drží pracovný profil zamestnanca. Obsahuje osobné a pracovné údaje pracovníka a odkazuje na identitu iba cez membershipId, nie cez priamu relačnú väzbu na inú databázu.

Project Service¶
Tabuľky:
ProjectProjectAssignment
Popis:
Project drží údaje o projekte a ProjectAssignment drží priradenie pracovníkov na projekt. Väzba na pracovníka je len cez employeeId, teda logická referencia na Employee Service.

Accommodation Service¶
Tabuľka:
Accommodation
Popis:
Drží údaje o ubytovaní. Na projekt sa viaže iba cez projectId, nie cez databázový foreign key do Project Service.

Timesheet / Worklog Service¶
Tabuľky:
TimesheetTimesheetEntry
Popis:
Timesheet predstavuje hlavičku výkazu za obdobie a drží jeho stav, pracovníka a prípadne projekt. TimesheetEntry drží jednotlivé denné alebo pracovné záznamy patriace k jednému timesheetu.

Invoice / Billing Service¶
Tabuľky:
InvoiceInvoiceLine
Popis:
Invoice drží hlavičku faktúry, jej stav, sumu a väzbu na pracovníka alebo zdrojový timesheet cez logické ID. InvoiceLine drží jednotlivé položky faktúry.

Document Service¶
Tabuľka:
DocumentMetadata
Popis:
Drží metadata dokumentov a referenciu na fyzický súbor v object storage. Väzba na inú entitu je riešená cez ownerType a ownerId, takže jeden model vie obslúžiť dokumenty k faktúre, timesheetu, projektu aj firme.

Approval Workflow Service¶
Tabuľky:
ApprovalRecordApprovalDecision
Popis:
ApprovalRecord drží schvaľovaný objekt ako celok, teda napríklad faktúru alebo timesheet, jeho typ a aktuálny stav. ApprovalDecision drží jednotlivé rozhodnutia, teda kto rozhodol, ako rozhodol a s akým komentárom.

Notification Service¶
Tabuľka:
Notification
Popis:
Drží notifikácie pre používateľov. Obsahuje príjemcu, typ notifikácie, stav doručenia a prípadne logickú referenciu na súvisiacu entitu cez referenceType a referenceId.

Každý servis vlastní svoje tabuľky a ostatné domény prepája iba cez logické identifikátory, nie cez priame foreign key väzby medzi databázami.