feat(reimbursement-small-team-form-validation): 完善小团队报销填报校验
这个提交包含在:
@@ -64,6 +64,14 @@ function getConfig() {
|
||||
min: nodeEnv === "production" ? 1 : 0,
|
||||
max: nodeEnv === "production" ? 1 : 8,
|
||||
});
|
||||
const reimbursementMaxAgeDays = parseBoundedInteger(
|
||||
"REIMBURSEMENT_MAX_AGE_DAYS",
|
||||
process.env.REIMBURSEMENT_MAX_AGE_DAYS ?? 365,
|
||||
{ min: 180, max: 365 },
|
||||
);
|
||||
if (![180, 365].includes(reimbursementMaxAgeDays)) {
|
||||
throw new Error("Invalid REIMBURSEMENT_MAX_AGE_DAYS");
|
||||
}
|
||||
|
||||
const passwordResetCodeTtlSeconds = parseBoundedInteger(
|
||||
"PASSWORD_RESET_CODE_TTL_SECONDS",
|
||||
@@ -192,6 +200,7 @@ function getConfig() {
|
||||
wecomApprovalCallbackEvidenceFile: process.env.WECOM_APPROVAL_CALLBACK_EVIDENCE_FILE ?? "",
|
||||
|
||||
appTimezone: process.env.APP_TIMEZONE ?? "Asia/Shanghai",
|
||||
reimbursementMaxAgeDays,
|
||||
storageDir: path.resolve(serverRoot, storageDir),
|
||||
storageDriver: process.env.STORAGE_DRIVER ?? "local",
|
||||
s3Endpoint: process.env.S3_ENDPOINT ?? "",
|
||||
|
||||
在新工单中引用
屏蔽一个用户