forked from Yara724/api
Fixed Lock for Field expert + user view of files
This commit is contained in:
@@ -44,3 +44,28 @@ export function buildUserLookupByPhone(
|
||||
$or: variants.flatMap((v) => [{ username: v }, { mobile: v }]),
|
||||
};
|
||||
}
|
||||
|
||||
/** True when a blame party person row belongs to the authenticated user. */
|
||||
export function partyPersonMatchesUser(
|
||||
person:
|
||||
| { userId?: unknown; phoneNumber?: string }
|
||||
| null
|
||||
| undefined,
|
||||
user: { sub?: string; username?: string } | null | undefined,
|
||||
): boolean {
|
||||
if (!person || !user) return false;
|
||||
if (
|
||||
person.userId != null &&
|
||||
user.sub &&
|
||||
String(person.userId) === String(user.sub)
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
if (!person.phoneNumber || !user.username) return false;
|
||||
const stored =
|
||||
normalizeIranMobile(person.phoneNumber) ?? person.phoneNumber;
|
||||
const variants = iranMobileLookupVariants(user.username);
|
||||
return variants.some(
|
||||
(v) => v === stored || v === person.phoneNumber,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user