Skip to content

Commit c4aaeb0

Browse files
committed
refactor: change proto field from Duration to int32 days
Replaces `google.protobuf.Duration api_token_inactivity_threshold` with `int32 api_token_max_days_inactive` in proto definitions. This eliminates unnecessary duration-to-days conversion in the service and CLI layers since the feature inherently operates on whole days. Signed-off-by: Miguel Martinez <miguel@chainloop.dev>
1 parent cfb9b9b commit c4aaeb0

14 files changed

Lines changed: 144 additions & 156 deletions

app/cli/pkg/action/membership_list.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,8 @@ func pbOrgItemToAction(in *pb.OrgItem) *OrgItem {
146146
i.PolicyViolationBlockingStrategy = PolicyViolationBlockingStrategyAdvisory
147147
}
148148

149-
if in.ApiTokenInactivityThreshold != nil {
150-
d := in.ApiTokenInactivityThreshold.AsDuration()
151-
days := int(d.Hours() / 24)
152-
s := fmt.Sprintf("%d", days)
149+
if in.ApiTokenMaxDaysInactive != nil {
150+
s := fmt.Sprintf("%d", in.GetApiTokenMaxDaysInactive())
153151
i.APITokenMaxDaysInactive = &s
154152
}
155153

app/cli/pkg/action/org_update.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@ package action
1717

1818
import (
1919
"context"
20-
"time"
2120

2221
pb "github.com/chainloop-dev/chainloop/app/controlplane/api/controlplane/v1"
23-
"google.golang.org/protobuf/types/known/durationpb"
2422
)
2523

2624
type OrgUpdate struct {
@@ -57,8 +55,8 @@ func (action *OrgUpdate) Run(ctx context.Context, name string, opts *NewOrgUpdat
5755
}
5856

5957
if opts.APITokenMaxDaysInactive != nil {
60-
d := time.Duration(*opts.APITokenMaxDaysInactive) * 24 * time.Hour
61-
payload.ApiTokenInactivityThreshold = durationpb.New(d)
58+
days := int32(*opts.APITokenMaxDaysInactive)
59+
payload.ApiTokenMaxDaysInactive = &days
6260
}
6361

6462
resp, err := client.Update(ctx, payload)

app/controlplane/api/controlplane/v1/organization.pb.go

Lines changed: 32 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/controlplane/api/controlplane/v1/organization.proto

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ package controlplane.v1;
2020
import "buf/validate/validate.proto";
2121
import "controlplane/v1/pagination.proto";
2222
import "controlplane/v1/response_messages.proto";
23-
import "google/protobuf/duration.proto";
2423

2524
option go_package = "github.com/chainloop-dev/chainloop/app/controlplane/api/controlplane/v1;v1";
2625

@@ -101,8 +100,8 @@ message OrganizationServiceUpdateRequest {
101100
// restrict_contract_creation_to_org_admins restricts contract creation (org-level and project-level) to only organization admins (owner/admin roles)
102101
optional bool restrict_contract_creation_to_org_admins = 6;
103102

104-
// Auto-revoke API tokens inactive for this duration. Set to 0s to disable.
105-
optional google.protobuf.Duration api_token_inactivity_threshold = 7;
103+
// Maximum days of inactivity before API tokens are auto-revoked. Set to 0 to disable.
104+
optional int32 api_token_max_days_inactive = 7;
106105
}
107106

108107
message OrganizationServiceUpdateResponse {

0 commit comments

Comments
 (0)