Skip to content

Commit d80121b

Browse files
committed
chore: check expire time
1 parent dd1d24e commit d80121b

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

provider/resource_policy.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"fmt"
66
"regexp"
77
"strings"
8+
"time"
89

910
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -266,7 +267,11 @@ func convertToMaskingExceptionPolicy(d *schema.ResourceData) (*v1pb.MaskingExcep
266267
expressions = append(expressions, fmt.Sprintf(`resource.column_name == "%s"`, column))
267268
}
268269
if expire, ok := rawException["expire_timestamp"].(string); ok && expire != "" {
269-
expressions = append(expressions, fmt.Sprintf(`request.time < timestamp("%s")`, expire))
270+
formattedTime, err := time.Parse(time.RFC3339, expire)
271+
if err != nil {
272+
return nil, errors.Wrapf(err, "invalid time: %v", expire)
273+
}
274+
expressions = append(expressions, fmt.Sprintf(`request.time < timestamp("%s")`, formattedTime.Format(time.RFC3339)))
270275
}
271276
member := rawException["member"].(string)
272277
if err := internal.ValidateMemberBinding(member); err != nil {

provider/resource_project.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ import (
44
"context"
55
"fmt"
66
"strings"
7+
"time"
78

89
"github.com/hashicorp/terraform-plugin-log/tflog"
910
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1112
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
13+
"github.com/pkg/errors"
1214
"google.golang.org/genproto/googleapis/type/expr"
1315

1416
"github.com/bytebase/terraform-provider-bytebase/api"
@@ -451,7 +453,11 @@ func updateMembersInProject(ctx context.Context, d *schema.ResourceData, client
451453
expressions = append(expressions, fmt.Sprintf(`request.row_limit <= %d`, rowLimit))
452454
}
453455
if expire, ok := rawCondition["expire_timestamp"].(string); ok && expire != "" {
454-
expressions = append(expressions, fmt.Sprintf(`request.time < timestamp("%s")`, expire))
456+
formattedTime, err := time.Parse(time.RFC3339, expire)
457+
if err != nil {
458+
return diag.FromErr(errors.Wrapf(err, "invalid time: %v", expire))
459+
}
460+
expressions = append(expressions, fmt.Sprintf(`request.time < timestamp("%s")`, formattedTime.Format(time.RFC3339)))
455461
}
456462
}
457463
}

0 commit comments

Comments
 (0)