20 lines
819 B
TypeScript
20 lines
819 B
TypeScript
/**
|
|
* Resolve the display name for a task / scheduled-task owner.
|
|
*
|
|
* - A real user name (resolved from the users JOIN) is shown as-is.
|
|
* - No-auth single-user deployments own rows under 'local' (new rows) or NULL
|
|
* (legacy rows created before owner registration was fixed). Both render as
|
|
* 'local' so the lone local operator is shown consistently — instead of the
|
|
* misleading 'system' / 'user' labels the views used to fall back to.
|
|
* - An owner id with no matching user record (e.g. a deleted account in an auth
|
|
* deployment) falls back to 'system'.
|
|
*/
|
|
export function ownerDisplayName(
|
|
ownerId: string | null | undefined,
|
|
ownerName: string | null | undefined,
|
|
): string {
|
|
if (ownerName) return ownerName;
|
|
if (ownerId == null || ownerId === 'local') return 'local';
|
|
return 'system';
|
|
}
|