Files
calendar/packages/lib/delegationCredential/clientAndServer.ts
T
MorganandGitHub 7a9ddf2194 chore: rename DWD to DelegationCredential (#19703)
* chore: rename DWD to DelegationCredential

* fixup! chore: rename DWD to DelegationCredential

* fixup! fixup! chore: rename DWD to DelegationCredential

* fixup! Merge branch 'main' into rename-domain-wide-delegation

* fixup! fixup! Merge branch 'main' into rename-domain-wide-delegation

* fixup! fixup! fixup! Merge branch 'main' into rename-domain-wide-delegation
2025-03-04 09:45:39 -03:00

28 lines
952 B
TypeScript

export function isDelegationCredential({ credentialId }: { credentialId: number | null | undefined }) {
// Though it is set as -1 right now, but we might want to set it to some other negative value.
return typeof credentialId === "number" && credentialId < 0;
}
export const buildNonDelegationCredential = <T extends Record<string, unknown> | null>(credential: T) => {
type WithDelegationCredential = T extends null
? null
: T & {
delegatedTo: null;
delegatedToId: null;
};
if (!credential) return null as WithDelegationCredential;
return {
...credential,
delegatedTo: null,
delegatedToId: null,
} as WithDelegationCredential;
};
export const buildNonDelegationCredentials = <T extends Record<string, unknown>>(credentials: T[]) => {
return credentials.map(buildNonDelegationCredential).filter((credential) => !!credential) as (T & {
delegatedTo: null;
delegatedToId: null;
})[];
};