mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: fix api param name (#20172)
In https://github.com/coder/coder/pull/20137, we added a new flag to `coder provisioner jobs list`, namely `--initiator`. To make some follow-up worth it, I need to rename an API param used in the process before it becomes part of our released and tagged API. Instead of only accepting UUIDs, we accept an arbitrary string. We still validate it as a UUID now, but we will expand its validation to allow any string and then resolve that string the same way that we resolve the user parameter elsewhere in the API.
This commit is contained in:
@@ -111,7 +111,7 @@ func (api *API) handleAuthAndFetchProvisionerJobs(rw http.ResponseWriter, r *htt
|
||||
ids = p.UUIDs(qp, nil, "ids")
|
||||
}
|
||||
tags := p.JSONStringMap(qp, database.StringMap{}, "tags")
|
||||
initiatorID := p.UUID(qp, uuid.Nil, "initiator_id")
|
||||
initiatorID := p.UUID(qp, uuid.Nil, "initiator")
|
||||
p.ErrorExcessParams(qp)
|
||||
if len(p.Errors) > 0 {
|
||||
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{
|
||||
|
||||
@@ -173,7 +173,7 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
ctx := testutil.Context(t, testutil.WaitMedium)
|
||||
|
||||
jobs, err := templateAdminClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: &member.ID,
|
||||
Initiator: member.ID.String(),
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.GreaterOrEqual(t, len(jobs), 1)
|
||||
@@ -186,8 +186,8 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
|
||||
// Test filtering by initiator ID combined with status filter
|
||||
jobs, err := templateAdminClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: &owner.UserID,
|
||||
Status: []codersdk.ProvisionerJobStatus{codersdk.ProvisionerJobSucceeded},
|
||||
Initiator: owner.UserID.String(),
|
||||
Status: []codersdk.ProvisionerJobStatus{codersdk.ProvisionerJobSucceeded},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -204,8 +204,8 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
|
||||
// Test filtering by initiator ID with limit
|
||||
jobs, err := templateAdminClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: &owner.UserID,
|
||||
Limit: 1,
|
||||
Initiator: owner.UserID.String(),
|
||||
Limit: 1,
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Len(t, jobs, 1)
|
||||
@@ -220,8 +220,8 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
|
||||
// Test filtering by initiator ID combined with tags
|
||||
jobs, err := templateAdminClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: &member.ID,
|
||||
Tags: map[string]string{"initiatorTest": "true"},
|
||||
Initiator: member.ID.String(),
|
||||
Tags: map[string]string{"initiatorTest": "true"},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Len(t, jobs, 1)
|
||||
@@ -238,7 +238,7 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
// Test with non-existent initiator ID
|
||||
nonExistentID := uuid.New()
|
||||
jobs, err := templateAdminClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: &nonExistentID,
|
||||
Initiator: nonExistentID.String(),
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.Len(t, jobs, 0)
|
||||
@@ -250,7 +250,7 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
|
||||
// Test with nil initiator ID (should return all jobs)
|
||||
jobs, err := templateAdminClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: nil,
|
||||
Initiator: "",
|
||||
})
|
||||
require.NoError(t, err)
|
||||
require.GreaterOrEqual(t, len(jobs), 50) // Should return all jobs (up to default limit)
|
||||
@@ -282,7 +282,7 @@ func TestProvisionerJobs(t *testing.T) {
|
||||
ctx := testutil.Context(t, testutil.WaitMedium)
|
||||
// Member should not be able to access jobs even with initiator filter
|
||||
jobs, err := memberClient.OrganizationProvisionerJobs(ctx, owner.OrganizationID, &codersdk.OrganizationProvisionerJobsOptions{
|
||||
InitiatorID: &member.ID,
|
||||
Initiator: member.ID.String(),
|
||||
})
|
||||
require.Error(t, err)
|
||||
require.Len(t, jobs, 0)
|
||||
|
||||
Reference in New Issue
Block a user