mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: Validate swagger definitions (#5694)
* docs: audit, deploymentconfig, files, parameters * Swagger comments in workspacebuilds.go * structs in workspacebuilds.go * workspaceagents: instance identity * workspaceagents.go in progress * workspaceagents.go in progress * Agents * workspacebuilds.go * /workspaces * templates.go, templateversions.go * templateversion.go in progress * cancel * templateversions * wip * Merge * x-apidocgen * NullTime hack not needed anymore * Fix: x-apidocgen * Members * Fixes * Fix * WIP * WIP * Users * Logout * User profile * Status suspend activate * User roles * User tokens * Keys * SSH key * All * Typo * Fix * Entitlements * Groups * SCIM * Fix * Fix * Clean templates * Sort API pages * Fix: HashedSecret * WIP * WIP * WIP * Fix: cover workspaceagents * Assert: consistent ID and summary * Assert: success or failure defined * Fix: parallel * Refactor * Support enterprise * Go comment goes to top * Security * assertPathParametersDefined * assertUniqueRoutes * assertRequestBody * More fixes * Fix: exceptions * Fix field format * Address PR comments * Refactor
This commit is contained in:
+7
-7
@@ -88,14 +88,14 @@ type AuditDiffField struct {
|
||||
}
|
||||
|
||||
type AuditLog struct {
|
||||
ID uuid.UUID `json:"id"`
|
||||
RequestID uuid.UUID `json:"request_id"`
|
||||
Time time.Time `json:"time"`
|
||||
OrganizationID uuid.UUID `json:"organization_id"`
|
||||
ID uuid.UUID `json:"id" format:"uuid"`
|
||||
RequestID uuid.UUID `json:"request_id" format:"uuid"`
|
||||
Time time.Time `json:"time" format:"date-time"`
|
||||
OrganizationID uuid.UUID `json:"organization_id" format:"uuid"`
|
||||
IP netip.Addr `json:"ip"`
|
||||
UserAgent string `json:"user_agent"`
|
||||
ResourceType ResourceType `json:"resource_type"`
|
||||
ResourceID uuid.UUID `json:"resource_id"`
|
||||
ResourceID uuid.UUID `json:"resource_id" format:"uuid"`
|
||||
// ResourceTarget is the name of the resource.
|
||||
ResourceTarget string `json:"resource_target"`
|
||||
ResourceIcon string `json:"resource_icon"`
|
||||
@@ -123,8 +123,8 @@ type AuditLogResponse struct {
|
||||
type CreateTestAuditLogRequest struct {
|
||||
Action AuditAction `json:"action,omitempty" enums:"create,write,delete,start,stop"`
|
||||
ResourceType ResourceType `json:"resource_type,omitempty" enums:"organization,template,template_version,user,workspace,workspace_build,git_ssh_key,api_key,group"`
|
||||
ResourceID uuid.UUID `json:"resource_id,omitempty"`
|
||||
Time time.Time `json:"time,omitempty"`
|
||||
ResourceID uuid.UUID `json:"resource_id,omitempty" format:"uuid"`
|
||||
Time time.Time `json:"time,omitempty" format:"date-time"`
|
||||
}
|
||||
|
||||
// AuditLogs retrieves audit logs from the given page.
|
||||
|
||||
@@ -67,7 +67,7 @@ type CreateTemplateRequest struct {
|
||||
// This is required on creation to enable a user-flow of validating a
|
||||
// template works. There is no reason the data-model cannot support empty
|
||||
// templates, but it doesn't make sense for users.
|
||||
VersionID uuid.UUID `json:"template_version_id" validate:"required"`
|
||||
VersionID uuid.UUID `json:"template_version_id" validate:"required" format:"uuid"`
|
||||
ParameterValues []CreateParameterRequest `json:"parameter_values,omitempty"`
|
||||
|
||||
// DefaultTTLMillis allows optionally specifying the default TTL
|
||||
@@ -81,7 +81,7 @@ type CreateTemplateRequest struct {
|
||||
|
||||
// CreateWorkspaceRequest provides options for creating a new workspace.
|
||||
type CreateWorkspaceRequest struct {
|
||||
TemplateID uuid.UUID `json:"template_id" validate:"required"`
|
||||
TemplateID uuid.UUID `json:"template_id" validate:"required" format:"uuid"`
|
||||
Name string `json:"name" validate:"workspace_name,required"`
|
||||
AutostartSchedule *string `json:"autostart_schedule"`
|
||||
TTLMillis *int64 `json:"ttl_ms,omitempty"`
|
||||
|
||||
@@ -14,7 +14,7 @@ type Pagination struct {
|
||||
// Offset for better performance. To use it as an alternative,
|
||||
// set AfterID to the last UUID returned by the previous
|
||||
// request.
|
||||
AfterID uuid.UUID `json:"after_id,omitempty"`
|
||||
AfterID uuid.UUID `json:"after_id,omitempty" format:"uuid"`
|
||||
// Limit sets the maximum number of users to be returned
|
||||
// in a single page. If the limit is <= 0, there is no limit
|
||||
// and all users are returned.
|
||||
|
||||
@@ -176,7 +176,7 @@ func (c *Client) UpdateActiveTemplateVersion(ctx context.Context, template uuid.
|
||||
// TemplateVersionsByTemplateRequest defines the request parameters for
|
||||
// TemplateVersionsByTemplate.
|
||||
type TemplateVersionsByTemplateRequest struct {
|
||||
TemplateID uuid.UUID `json:"template_id" validate:"required"`
|
||||
TemplateID uuid.UUID `json:"template_id" validate:"required" format:"uuid"`
|
||||
Pagination
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ func (c *Client) TemplateVersionByName(ctx context.Context, template uuid.UUID,
|
||||
}
|
||||
|
||||
type DAUEntry struct {
|
||||
Date time.Time `json:"date"`
|
||||
Date time.Time `json:"date" format:"date-time"`
|
||||
Amount int `json:"amount"`
|
||||
}
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ type WorkspacesResponse struct {
|
||||
|
||||
// CreateWorkspaceBuildRequest provides options to update the latest workspace build.
|
||||
type CreateWorkspaceBuildRequest struct {
|
||||
TemplateVersionID uuid.UUID `json:"template_version_id,omitempty"`
|
||||
TemplateVersionID uuid.UUID `json:"template_version_id,omitempty" format:"uuid"`
|
||||
Transition WorkspaceTransition `json:"transition" validate:"oneof=create start stop delete,required"`
|
||||
DryRun bool `json:"dry_run,omitempty"`
|
||||
ProvisionerState []byte `json:"state,omitempty"`
|
||||
@@ -245,7 +245,7 @@ func (c *Client) UpdateWorkspaceTTL(ctx context.Context, id uuid.UUID, req Updat
|
||||
// PutExtendWorkspaceRequest is a request to extend the deadline of
|
||||
// the active workspace build.
|
||||
type PutExtendWorkspaceRequest struct {
|
||||
Deadline time.Time `json:"deadline" validate:"required"`
|
||||
Deadline time.Time `json:"deadline" validate:"required" format:"date-time"`
|
||||
}
|
||||
|
||||
// PutExtendWorkspace updates the deadline for resources of the latest workspace build.
|
||||
|
||||
Reference in New Issue
Block a user