Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf44e42f

Browse files
committed
type narrowing
1 parentd65392b commitf44e42f

File tree

1 file changed

+23
-52
lines changed

1 file changed

+23
-52
lines changed

‎site/src/pages/DeploymentSettingsPage/LicensesSettingsPage/ManagedAgentsConsumption.tsx‎

Lines changed: 23 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -17,56 +17,9 @@ interface ManagedAgentsConsumptionProps {
1717
managedAgentFeature?:Feature;
1818
}
1919

20-
constvalidateFeature=(feature?:Feature):string|null=>{
21-
if(!feature){
22-
returnnull;// No feature is valid (will show disabled state)
23-
}
24-
25-
// If enabled, we need valid numeric data
26-
if(feature.enabled){
27-
if(
28-
feature.actual===undefined||
29-
feature.soft_limit===undefined||
30-
feature.limit===undefined
31-
){
32-
return"Managed agent feature is enabled but missing required usage data (actual, soft_limit, or limit).";
33-
}
34-
35-
if(feature.actual<0||feature.soft_limit<0||feature.limit<0){
36-
return"Managed agent feature contains invalid negative values for usage metrics.";
37-
}
38-
39-
if(feature.soft_limit>feature.limit){
40-
return"Managed agent feature has invalid configuration: soft limit exceeds total limit.";
41-
}
42-
43-
// Validate usage period if present
44-
if(feature.usage_period){
45-
conststart=dayjs(feature.usage_period.start);
46-
constend=dayjs(feature.usage_period.end);
47-
48-
if(!start.isValid()||!end.isValid()){
49-
return"Managed agent feature has invalid usage period dates.";
50-
}
51-
52-
if(end.isBefore(start)){
53-
return"Managed agent feature has invalid usage period: end date is before start date.";
54-
}
55-
}
56-
}
57-
58-
returnnull;// Valid
59-
};
60-
6120
exportconstManagedAgentsConsumption:FC<ManagedAgentsConsumptionProps>=({
6221
managedAgentFeature,
6322
})=>{
64-
// Validate the feature data
65-
constvalidationError=validateFeature(managedAgentFeature);
66-
if(validationError){
67-
return<ErrorAlerterror={newError(validationError)}/>;
68-
}
69-
7023
// If no feature is provided or it's disabled, show disabled state
7124
if(!managedAgentFeature?.enabled){
7225
return(
@@ -85,11 +38,29 @@ export const ManagedAgentsConsumption: FC<ManagedAgentsConsumptionProps> = ({
8538
);
8639
}
8740

88-
constusage=managedAgentFeature.actual||0;
89-
constincluded=managedAgentFeature.soft_limit||0;
90-
constlimit=managedAgentFeature.limit||0;
91-
conststartDate=managedAgentFeature.usage_period?.start||"";
92-
constendDate=managedAgentFeature.usage_period?.end||"";
41+
constusage=managedAgentFeature.actual;
42+
constincluded=managedAgentFeature.soft_limit;
43+
constlimit=managedAgentFeature.limit;
44+
conststartDate=managedAgentFeature.usage_period?.start;
45+
constendDate=managedAgentFeature.usage_period?.end;
46+
47+
if(!usage||usage<0){
48+
return<ErrorAlerterror="Invalid usage data"/>;
49+
}
50+
51+
if(!included||included<0||!limit||limit<0){
52+
return<ErrorAlerterror="Invalid license usage limits"/>;
53+
}
54+
55+
if(!startDate||!endDate){
56+
return<ErrorAlerterror="Missing license usage period"/>;
57+
}
58+
59+
conststart=dayjs(startDate);
60+
constend=dayjs(endDate);
61+
if(!start.isValid()||!end.isValid()||!start.isBefore(end)){
62+
return<ErrorAlerterror="Invalid license usage period"/>;
63+
}
9364

9465
constusagePercentage=Math.min((usage/limit)*100,100);
9566
constincludedPercentage=Math.min((included/limit)*100,100);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp