Skip to content

Commit c674d68

Browse files
authored
Merge pull request #516 from impresso/develop
Release v3.1.1
2 parents 78a8897 + c2b73c4 commit c674d68

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/hooks/redaction.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { Redactable, RedactionPolicy, redactObject } from '../util/redaction'
55
import { SlimUser } from '../authentication'
66
import { AuthorizationBitmapsDTO, AuthorizationBitmapsKey, isAuthorizationBitmapsDTO } from '../models/authorization'
77
import { BufferUserPlanGuest } from '../models/user-bitmap.model'
8+
import { OpenPermissions, bitmapsAlign as bitmapsAlignCheck } from '../util/bigint'
89

910
export type RedactCondition = (context: HookContext<ImpressoApplication>, redactable?: Redactable) => boolean
1011

@@ -103,19 +104,19 @@ export const bitmapsAlign = (
103104
const userBitmap = user?.bitmap ?? BufferUserPlanGuest
104105

105106
const contentBitmap =
106-
contentBitmapExtractor != null && redactable != null ? contentBitmapExtractor(redactable) : BigInt(0)
107+
contentBitmapExtractor != null && redactable != null ? contentBitmapExtractor(redactable) : OpenPermissions
107108

108-
return (contentBitmap & userBitmap) != BigInt(0)
109+
return bitmapsAlignCheck(contentBitmap, userBitmap)
109110
}
110111

111112
export type { RedactionPolicy }
112113

113114
const authBitmapExtractor = (redactable: Redactable, kind: keyof AuthorizationBitmapsDTO) => {
114115
const authorizationBitmapDto = redactable[AuthorizationBitmapsKey]
115116
if (isAuthorizationBitmapsDTO(authorizationBitmapDto)) {
116-
return authorizationBitmapDto[kind] ?? BigInt(0)
117+
return authorizationBitmapDto[kind] ?? OpenPermissions
117118
}
118-
return BigInt(0)
119+
return OpenPermissions
119120
}
120121

121122
/**
@@ -137,7 +138,7 @@ const webappAuthBitmapExtractor = (redactable: Redactable, kind: keyof Authoriza
137138
}
138139
const actualKey = `bitmap${kind.charAt(0).toUpperCase() + kind.slice(1)}`
139140
const value = redactable[actualKey]
140-
return value != null ? BigInt(value) : BigInt(0)
141+
return value != null ? BigInt(value) : OpenPermissions
141142
}
142143

143144
/**

0 commit comments

Comments
 (0)