package cli

import (
	"context"
	"flag"
	"time"

	"github.com/tidbcloud/account/idl/pbgen/proto/account"
)

func MainCreateAuditLog(ctx context.Context, client Client, args []string) {
	var created_at Time
	set := flag.NewFlagSet("CreateAuditLog", flag.ExitOnError)
	id := set.Uint64("id", 0, "id")
	orgID := set.Uint64("orgID", 0, "orgID")
	user := set.String("user", "", "user")
	content := set.String("content", "", "content")
	set.Var(&created_at, "created_at", "created_at time, in format "+time.RFC3339)
	_ = set.Parse(args)

	request := &account.CreateAuditLogRequest{
		AuditLog: &account.AuditLog{
			Id:        *id,
			CreatedAt: created_at.ToProto(),
			OrgId:     *orgID,
			User:      *user,
			Content:   *content,
		},
	}

	OutputStep("CreateAuditLog(id=%d, orgID=%d, user=%s, content=%s, created_at=%s)", *id, *orgID, *user, *content, created_at)
	response, err := client.CreateAuditLog(ctx, request)
	OutputResponse(response, err)
}
