MCPcopy Create free account
hub / github.com/bytebase/bytebase / stringifyConditionExpression

Function stringifyConditionExpression

frontend/src/utils/issue/cel.ts:227–251  ·  view source on GitHub ↗
({
  expirationTimestampInMS,
  databaseResources,
  environments,
}: {
  expirationTimestampInMS?: number;
  databaseResources?: DatabaseResource[];
  environments?: string[];
})

Source from the content-addressed store, hash-verified

225};
226
227export 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
253const convertToCELString = (
254 conditions: (

Callers 4

GrantAccessDialogFunction · 0.90
handleSubmitFunction · 0.90
handleSubmitFunction · 0.90
buildConditionExprFunction · 0.85

Calls 2

getEnvironmentIdFunction · 0.90

Tested by

no test coverage detected