({
expirationTimestampInMS,
databaseResources,
environments,
}: {
expirationTimestampInMS?: number;
databaseResources?: DatabaseResource[];
environments?: string[];
})
| 225 | }; |
| 226 | |
| 227 | export const stringifyConditionExpression = ({ |
| 228 | expirationTimestampInMS, |
| 229 | databaseResources, |
| 230 | environments, |
| 231 | }: { |
| 232 | expirationTimestampInMS?: number; |
| 233 | databaseResources?: DatabaseResource[]; |
| 234 | environments?: string[]; |
| 235 | }): string => { |
| 236 | const expression: string[] = []; |
| 237 | if (databaseResources !== undefined && databaseResources.length > 0) { |
| 238 | expression.push(stringifyDatabaseResources(databaseResources)); |
| 239 | } |
| 240 | if (expirationTimestampInMS) { |
| 241 | expression.push( |
| 242 | `${CEL_ATTRIBUTE_REQUEST_TIME} < timestamp("${dayjs(expirationTimestampInMS).toISOString()}")` |
| 243 | ); |
| 244 | } |
| 245 | if (environments !== undefined) { |
| 246 | expression.push( |
| 247 | `${CEL_ATTRIBUTE_RESOURCE_ENVIRONMENT_ID} in [${environments.map((env) => `"${getEnvironmentId(env)}"`)}]` |
| 248 | ); |
| 249 | } |
| 250 | return expression.join(" && "); |
| 251 | }; |
| 252 | |
| 253 | const convertToCELString = ( |
| 254 | conditions: ( |
no test coverage detected