@meshery/schemas 1.2.19 → 1.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constructs/v1beta1/badge/Badge.d.ts +7 -7
- package/dist/constructs/v1beta1/badge/BadgeSchema.js +1 -1
- package/dist/constructs/v1beta1/badge/BadgeSchema.mjs +1 -1
- package/dist/constructs/v1beta1/evaluation/Evaluation.d.ts +1 -1
- package/dist/constructs/v1beta1/evaluation/EvaluationSchema.js +1 -1
- package/dist/constructs/v1beta1/evaluation/EvaluationSchema.mjs +1 -1
- package/dist/constructs/v1beta2/badge/Badge.d.ts +7 -7
- package/dist/constructs/v1beta2/badge/BadgeSchema.js +1 -1
- package/dist/constructs/v1beta2/badge/BadgeSchema.mjs +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/index.mjs +2 -2
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -644,7 +644,7 @@ remove: Removes a value.
|
|
|
644
644
|
copy: Copies a value from one location to another.
|
|
645
645
|
move: Moves a value from one location to another.
|
|
646
646
|
test: Tests that a value at the target location is equal to a specified value.
|
|
647
|
-
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}},description:"Designs in this page."}}},MesheryView:{type:"object",description:"A view enriched with the workspace and organization it belongs to.",required:["workspace_id","organization_id"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Display name of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},visibility:{type:"string",description:"Visibility level of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"visibility",json:"visibility,omitempty"}},filters:{type:"object",description:"Filter configuration for this view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"filters",json:"filters,omitempty"}},metadata:{type:"object",description:"Metadata associated with the view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},user_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"UserID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"user_id",json:"user_id,omitempty"}},workspace_name:{type:"string",description:"Name of the workspace this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_name",json:"workspace_name,omitempty"}},workspace_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"}},organization_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organization_id"}},organization_name:{type:"string",description:"Name of the organization this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_name",json:"organization_name,omitempty"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{description:"Timestamp when the view was soft deleted. Null while the view remains active.","x-go-type":"meshcore.NullTime","x-go-type-import":{name:"meshcore",path:"github.com/meshery/schemas/models/core"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},MesheryViewPage:{type:"object",description:"Paginated list of views with location enrichment.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},views:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"MesheryViewWithLocation",type:"object",description:"A view enriched with the workspace and organization it belongs to.",required:["workspace_id","organization_id"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Display name of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},visibility:{type:"string",description:"Visibility level of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"visibility",json:"visibility,omitempty"}},filters:{type:"object",description:"Filter configuration for this view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"filters",json:"filters,omitempty"}},metadata:{type:"object",description:"Metadata associated with the view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},user_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"UserID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"user_id",json:"user_id,omitempty"}},workspace_name:{type:"string",description:"Name of the workspace this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_name",json:"workspace_name,omitempty"}},workspace_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"}},organization_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organization_id"}},organization_name:{type:"string",description:"Name of the organization this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_name",json:"organization_name,omitempty"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{description:"Timestamp when the view was soft deleted. Null while the view remains active.","x-go-type":"meshcore.NullTime","x-go-type-import":{name:"meshcore",path:"github.com/meshery/schemas/models/core"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},description:"Views in this page, enriched with workspace and organization context."}}}},requestBodies:{workspacePayload:{description:"Body for creating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a workspace.",required:["name","organization_id"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organization_id:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organization_id,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}},workspaceUpdatePayload:{description:"Body for updating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating a workspace.",required:["organization_id"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organization_id:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organization_id,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}}}}},L=M;var Z={openapi:"3.0.0",info:{title:"Invitation",description:"OpenAPI schema for managing invitations.","x-deprecated":true,"x-superseded-by":"v1beta2",version:"v1beta1",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},tags:[{name:"Invitation",description:"Operations related to invitation"}],security:[{jwt:[]}],paths:{"/api/organizations/invitations/{invitationId}":{get:{"x-internal":["cloud"],operationId:"getInvitation",tags:["Invitation"],summary:"Get an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],operationId:"deleteInvitation",tags:["Invitation"],summary:"Delete an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{204:{description:"Invitation deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],operationId:"updateInvitation",tags:["Invitation"],summary:"Update an existing invitation",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation."},description:{type:"string",description:"Description of the invitation."},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"}},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation."},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations":{get:{"x-internal":["cloud"],operationId:"getInvitations",tags:["Invitation"],summary:"Get all invitations for the organization",responses:{200:{content:{"application/json":{schema:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],operationId:"createInvitation",tags:["Invitation"],summary:"Create a new invitation for the organization",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation."},description:{type:"string",description:"Description of the invitation."},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"}},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation."},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{201:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations/{invitationId}/accept":{post:{"x-internal":["cloud"],operationId:"acceptInvitation",tags:["Invitation"],summary:"Accept an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/users/invite":{post:{"x-internal":["cloud"],operationId:"handleUserInvite",tags:["Invitation"],summary:"Invite users to an organization",parameters:[{name:"orgId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Invitation request accepted",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request":{post:{"x-internal":["cloud"],operationId:"signupRequest",tags:["Invitation"],summary:"Create a signup request",security:[],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Signup request created",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getSignupRequests",tags:["Invitation"],summary:"Get signup requests",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}],responses:{200:{description:"Signup requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},data:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/approve":{post:{"x-internal":["cloud"],operationId:"approveSignupRequest",tags:["Invitation"],summary:"Approve a signup request",responses:{200:{description:"Signup request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/deny":{post:{"x-internal":["cloud"],operationId:"denySignupRequest",tags:["Invitation"],summary:"Deny a signup request",responses:{200:{description:"Signup request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/notification":{get:{"x-internal":["cloud"],operationId:"getSignupRequestNotification",tags:["Invitation"],summary:"Get signup request notification summary",responses:{200:{description:"Signup request notification payload",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},204:{description:"No pending signup request notifications"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{parameters:{organization_id:{name:"organizationId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}},invitation_id:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}},responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{Uuid:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},InvitationsPage:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"}}}},SignupRequest:{type:"object",additionalProperties:true},SignupRequestsPage:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},data:{type:"array",items:{type:"object",additionalProperties:true}}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation."},description:{type:"string",description:"Description of the invitation."},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"}},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation."},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}},InvitationStatus:{type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},Invitation:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},D=Z;var P={openapi:"3.0.0",info:{title:"Badge","x-deprecated":true,description:"OpenAPI schema for managing badges.",version:"v1beta1",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},security:[{jwt:[]}],tags:[{name:"Badge"}],paths:{"/api/organizations/badges/{id}":{delete:{"x-internal":["cloud"],operationId:"deleteBadgeById",tags:["Badge"],summary:"Delete a badge by its ID",parameters:[{name:"id",in:"path",description:"Unique identifier",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Badge deleted"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getBadgeById",tags:["Badge"],summary:"Get a badge by its ID",parameters:[{name:"id",in:"path",description:"Unique identifier",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/badges":{post:{"x-internal":["cloud"],operationId:"createOrUpdateBadge",tags:["Badge"],summary:"Create a new badge or update an existing badge",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating a badge.",required:["label","name","org_id","description","image_url"],properties:{id:{"x-go-name":"ID",description:"Existing badge ID for updates; omit on create.","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}}}}}},required:true},responses:{201:{content:{"application/json":{schema:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/badges":{get:{"x-internal":["cloud"],operationId:"getAvailableBadges",tags:["Badge"],summary:"Get available badges",responses:{200:{description:"Available badges",content:{"application/json":{schema:{type:"object",properties:{badges:{type:"object",additionalProperties:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}},description:"The badges of the badgespage."}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/badges":{put:{"x-internal":["cloud"],operationId:"assignBadges",tags:["Badge"],summary:"Assign badges to a user",requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{badges:{type:"array",items:{type:"string"},description:"The badges of the badgeassignment."},user_id:{type:"string",description:"ID of the user who owns or created this resource.",maxLength:500,format:"uuid"},notify:{type:"boolean",description:"The notify of the badgeassignment."}}}}}},responses:{200:{description:"Badge assignment result",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{BadgePayload:{type:"object",description:"Payload for creating or updating a badge.",required:["label","name","org_id","description","image_url"],properties:{id:{"x-go-name":"ID",description:"Existing badge ID for updates; omit on create.","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}}}},Badge:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}},BadgesPage:{type:"object",properties:{badges:{type:"object",additionalProperties:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/layer5io/layer5-academy/refs/heads/master/static/11111111-1111-1111-1111-111111111111/images/meshery-logo-light.webp","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}},description:"The badges of the badgespage."}}},BadgeAssignmentPayload:{type:"object",properties:{badges:{type:"array",items:{type:"string"},description:"The badges of the badgeassignment."},user_id:{type:"string",description:"ID of the user who owns or created this resource.",maxLength:500,format:"uuid"},notify:{type:"boolean",description:"The notify of the badgeassignment."}}}}}},N=P;var V={openapi:"3.0.0",info:{title:"Component",description:"OpenAPI schema for component definitions in Meshery.",version:"v1beta2",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},paths:{},components:{schemas:{ComponentDefinition:{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
|
|
647
|
+
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}}}}}}]}}},required:["id","name","schemaVersion","version","components","relationships"]},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},visibility:{type:"string","x-go-type-skip-optional-pointer":true}}},description:"Designs in this page."}}},MesheryView:{type:"object",description:"A view enriched with the workspace and organization it belongs to.",required:["workspace_id","organization_id"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Display name of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},visibility:{type:"string",description:"Visibility level of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"visibility",json:"visibility,omitempty"}},filters:{type:"object",description:"Filter configuration for this view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"filters",json:"filters,omitempty"}},metadata:{type:"object",description:"Metadata associated with the view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},user_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"UserID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"user_id",json:"user_id,omitempty"}},workspace_name:{type:"string",description:"Name of the workspace this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_name",json:"workspace_name,omitempty"}},workspace_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"}},organization_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organization_id"}},organization_name:{type:"string",description:"Name of the organization this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_name",json:"organization_name,omitempty"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{description:"Timestamp when the view was soft deleted. Null while the view remains active.","x-go-type":"meshcore.NullTime","x-go-type-import":{name:"meshcore",path:"github.com/meshery/schemas/models/core"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},MesheryViewPage:{type:"object",description:"Paginated list of views with location enrichment.",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},views:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"MesheryViewWithLocation",type:"object",description:"A view enriched with the workspace and organization it belongs to.",required:["workspace_id","organization_id"],properties:{id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},name:{type:"string",description:"Display name of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},visibility:{type:"string",description:"Visibility level of the view.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"visibility",json:"visibility,omitempty"}},filters:{type:"object",description:"Filter configuration for this view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"filters",json:"filters,omitempty"}},metadata:{type:"object",description:"Metadata associated with the view.","x-go-type":"core.Map","x-go-type-import":{path:"github.com/meshery/schemas/models/core",name:"core"},"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},user_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"UserID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"user_id",json:"user_id,omitempty"}},workspace_name:{type:"string",description:"Name of the workspace this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_name",json:"workspace_name,omitempty"}},workspace_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"WorkspaceID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspace_id"}},organization_id:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"OrganizationID","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_id",json:"organization_id"}},organization_name:{type:"string",description:"Name of the organization this view belongs to.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"organization_name",json:"organization_name,omitempty"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{description:"Timestamp when the view was soft deleted. Null while the view remains active.","x-go-type":"meshcore.NullTime","x-go-type-import":{name:"meshcore",path:"github.com/meshery/schemas/models/core"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},description:"Views in this page, enriched with workspace and organization context."}}}},requestBodies:{workspacePayload:{description:"Body for creating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a workspace.",required:["name","organization_id"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organization_id:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organization_id,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}},workspaceUpdatePayload:{description:"Body for updating a workspace",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating a workspace.",required:["organization_id"],properties:{name:{type:"string",description:"Name of the workspace.",minLength:1,maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"name,omitempty"}},description:{type:"string",description:"Description of the workspace.",maxLength:5e3,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"description,omitempty"}},organization_id:{type:"string",description:"Organization ID.",maxLength:36,format:"uuid","x-go-type-skip-optional-pointer":true,"x-go-name":"OrganizationID","x-oapi-codegen-extra-tags":{json:"organization_id,omitempty"}},metadata:{type:"object",description:"Metadata associated with the workspace.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"metadata,omitempty"}}}}}}}}}},L=M;var Z={openapi:"3.0.0",info:{title:"Invitation",description:"OpenAPI schema for managing invitations.","x-deprecated":true,"x-superseded-by":"v1beta2",version:"v1beta1",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},tags:[{name:"Invitation",description:"Operations related to invitation"}],security:[{jwt:[]}],paths:{"/api/organizations/invitations/{invitationId}":{get:{"x-internal":["cloud"],operationId:"getInvitation",tags:["Invitation"],summary:"Get an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{"x-internal":["cloud"],operationId:"deleteInvitation",tags:["Invitation"],summary:"Delete an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{204:{description:"Invitation deleted"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{"x-internal":["cloud"],operationId:"updateInvitation",tags:["Invitation"],summary:"Update an existing invitation",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation."},description:{type:"string",description:"Description of the invitation."},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"}},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation."},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations":{get:{"x-internal":["cloud"],operationId:"getInvitations",tags:["Invitation"],summary:"Get all invitations for the organization",responses:{200:{content:{"application/json":{schema:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{"x-internal":["cloud"],operationId:"createInvitation",tags:["Invitation"],summary:"Create a new invitation for the organization",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation."},description:{type:"string",description:"Description of the invitation."},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"}},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation."},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}}}},required:true},responses:{201:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/invitations/{invitationId}/accept":{post:{"x-internal":["cloud"],operationId:"acceptInvitation",tags:["Invitation"],summary:"Accept an invitation by ID",parameters:[{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/users/invite":{post:{"x-internal":["cloud"],operationId:"handleUserInvite",tags:["Invitation"],summary:"Invite users to an organization",parameters:[{name:"orgId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Invitation request accepted",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request":{post:{"x-internal":["cloud"],operationId:"signupRequest",tags:["Invitation"],summary:"Create a signup request",security:[],requestBody:{required:true,content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},responses:{200:{description:"Signup request created",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getSignupRequests",tags:["Invitation"],summary:"Get signup requests",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}],responses:{200:{description:"Signup requests page",content:{"application/json":{schema:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},data:{type:"array",items:{type:"object",additionalProperties:true}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/approve":{post:{"x-internal":["cloud"],operationId:"approveSignupRequest",tags:["Invitation"],summary:"Approve a signup request",responses:{200:{description:"Signup request approved",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/deny":{post:{"x-internal":["cloud"],operationId:"denySignupRequest",tags:["Invitation"],summary:"Deny a signup request",responses:{200:{description:"Signup request denied",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/request/notification":{get:{"x-internal":["cloud"],operationId:"getSignupRequestNotification",tags:["Invitation"],summary:"Get signup request notification summary",responses:{200:{description:"Signup request notification payload",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},204:{description:"No pending signup request notifications"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{parameters:{organization_id:{name:"organizationId",in:"path",required:true,description:"The ID of the organization",schema:{type:"string"}},invitation_id:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation",schema:{type:"string"}}},responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{Uuid:{type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},InvitationsPage:{type:"object",required:["data","total"],properties:{data:{type:"array",items:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}},"x-go-type":"Invitation"},description:"List of invitations","x-oapi-codegen-extra-tags":{json:"data"}},total:{type:"integer",description:"Total number of invitations available","x-oapi-codegen-extra-tags":{json:"total"}}}},SignupRequest:{type:"object",additionalProperties:true},SignupRequestsPage:{type:"object",properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},data:{type:"array",items:{type:"object",additionalProperties:true}}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","org_id","emails","roles","teams","status"],properties:{id:{"x-go-name":"ID",description:"Existing invitation ID for updates; omit on create.","x-oapi-codegen-extra-tags":{json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation.","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default,omitempty"}},name:{type:"string",description:"Name of the invitation."},description:{type:"string",description:"Description of the invitation."},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string"}},org_id:{type:"string",description:"ID of the organization to which the user is invited.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at,omitempty"}},quota:{type:"integer",description:"Quota for the invitation."},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."}}},InvitationStatus:{type:"string",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},Invitation:{type:"object",required:["id","owner_id","name","description","org_id","accepted_by","emails","roles","teams","status","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID",description:"Unique identifier for the invitation , is also used as the invitation code",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner_id:{description:"ID of the user who created the invitation, this is used to track who created the invitation and can be used for auditing purposes","x-oapi-codegen-extra-tags":{db:"owner_id",json:"owner_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},is_default:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite), which can be used to assign users when signing up from fqdn or custom domain, a organization can only have one default invitation","x-oapi-codegen-extra-tags":{db:"is_default",json:"is_default"}},name:{type:"string",description:"Name of the invitation, which can be used to identify the invitation, required and cant be empty string,"},description:{type:"string",description:"Description of the invitation, which can be used to provide additional information about the invitation, null or empty string means the invitation does not have a description"},emails:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$","x-go-type":"string",description:"Exact email address or the email address pattern for which the invitation is valid , null means the invitation is valid for all email addresses"}},org_id:{type:"string",description:"ID of the organization to which the user is invited","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"}},expires_at:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable , null or empty string means the invitation does not expire","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expires_at"}},quota:{type:"integer",description:"Quota for the invitation, which can be used to limit the number of users that can accept the invitation, null or empty string means the invitation does not have a quota"},accepted_by:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},description:"List of user ids that have already accepted the invitation, null or empty string means the invitation has not been used yet","x-oapi-codegen-extra-tags":{db:"accepted_by",json:"accepted_by"}},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Roles that the user will have when accepting the invitation, null or empty string means the invitation does not specify any roles"}},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Teams that the user will be added to when accepting the invitation, null or empty string means the invitation does not specify any teams"}},status:{type:"string","x-go-type":"InvitationStatus",enum:["enabled","disabled"],description:"Status of the invitation, where enabled means the invitation is active and can be used, disabled means the invitation is no longer valid and is temporarily inactive, disabled invitations can be re-enabled later."},created_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"created_at"}},updated_at:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updated_at"}},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the invitation was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},D=Z;var P={openapi:"3.0.0",info:{title:"Badge","x-deprecated":true,description:"OpenAPI schema for managing badges.",version:"v1beta1",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"},"x-internal":["cloud"]},security:[{jwt:[]}],tags:[{name:"Badge"}],paths:{"/api/organizations/badges/{id}":{delete:{"x-internal":["cloud"],operationId:"deleteBadgeById",tags:["Badge"],summary:"Delete a badge by its ID",parameters:[{name:"id",in:"path",description:"Unique identifier",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Badge deleted"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},get:{"x-internal":["cloud"],operationId:"getBadgeById",tags:["Badge"],summary:"Get a badge by its ID",parameters:[{name:"id",in:"path",description:"Unique identifier",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/organizations/badges":{post:{"x-internal":["cloud"],operationId:"createOrUpdateBadge",tags:["Badge"],summary:"Create a new badge or update an existing badge",requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating a badge.",required:["label","name","org_id","description","image_url"],properties:{id:{"x-go-name":"ID",description:"Existing badge ID for updates; omit on create.","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}}}}}},required:true},responses:{201:{content:{"application/json":{schema:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/badges":{get:{"x-internal":["cloud"],operationId:"getAvailableBadges",tags:["Badge"],summary:"Get available badges",responses:{200:{description:"Available badges",content:{"application/json":{schema:{type:"object",properties:{badges:{type:"object",additionalProperties:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}},description:"The badges of the badgespage."}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/users/badges":{put:{"x-internal":["cloud"],operationId:"assignBadges",tags:["Badge"],summary:"Assign badges to a user",requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{badges:{type:"array",items:{type:"string"},description:"The badges of the badgeassignment."},user_id:{type:"string",description:"ID of the user who owns or created this resource.",maxLength:500,format:"uuid"},notify:{type:"boolean",description:"The notify of the badgeassignment."}}}}}},responses:{200:{description:"Badge assignment result",content:{"application/json":{schema:{type:"object",additionalProperties:true}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}},components:{responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{BadgePayload:{type:"object",description:"Payload for creating or updating a badge.",required:["label","name","org_id","description","image_url"],properties:{id:{"x-go-name":"ID",description:"Existing badge ID for updates; omit on create.","x-oapi-codegen-extra-tags":{db:"id",json:"id,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available.","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}}}},Badge:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}},BadgesPage:{type:"object",properties:{badges:{type:"object",additionalProperties:{type:"object",required:["id","label","name","org_id","description","image_url","created_at","updated_at","deleted_at"],properties:{id:{"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{description:"The ID of the organization in which this badge is available .","x-oapi-codegen-extra-tags":{db:"org_id",json:"org_id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},label:{type:"string",description:"unique identifier for the badge ( auto generated )",example:"Kubernetes-Expert","x-oapi-codegen-extra-tags":{db:"label",json:"label"},maxLength:500},name:{type:"string",description:"Concise descriptor for the badge or certificate.",example:"Kubernetes Expert","x-oapi-codegen-extra-tags":{db:"name",json:"name"},minLength:1,maxLength:255},description:{type:"string",description:"A description of the milestone achieved, often including criteria for receiving this recognition.",example:"Awarded for mastering Kubernetes concepts and practices.","x-oapi-codegen-extra-tags":{db:"description",json:"description"},maxLength:5e3},image_url:{type:"string",format:"uri",description:"URL to the badge image",example:"https://raw.githubusercontent.com/meshery-extensions/meshery-academy/refs/heads/master/.github/assets/images/mershery-icon.png","x-oapi-codegen-extra-tags":{db:"image_url",json:"image_url"}},created_at:{description:"Timestamp when the resource was created.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"CreatedAt","x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-go-type-skip-optional-pointer":true},updated_at:{description:"Timestamp when the resource was updated.","x-go-type":"time.Time",type:"string",format:"date-time","x-go-name":"UpdatedAt","x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-go-type-skip-optional-pointer":true},deleted_at:{type:"string",format:"date-time","x-go-type":"core.NullTime",description:"Timestamp when the resource was deleted, if applicable","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deleted_at"}}}},description:"The badges of the badgespage."}}},BadgeAssignmentPayload:{type:"object",properties:{badges:{type:"array",items:{type:"string"},description:"The badges of the badgeassignment."},user_id:{type:"string",description:"ID of the user who owns or created this resource.",maxLength:500,format:"uuid"},notify:{type:"boolean",description:"The notify of the badgeassignment."}}}}}},N=P;var V={openapi:"3.0.0",info:{title:"Component",description:"OpenAPI schema for component definitions in Meshery.",version:"v1beta2",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},paths:{},components:{schemas:{ComponentDefinition:{$id:"https://schemas.meshery.io/component.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"Components are reusable building blocks for depicting capabilities defined within models. Learn more at https://docs.meshery.io/concepts/components",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{"x-order":2,description:"Specifies the version of the schema to which the component definition conforms.","x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"components.meshery.io/v1beta2",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{"x-order":3,description:"Version of the component definition.",minLength:1,maxLength:50,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},type:"string",pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},displayName:{"x-order":4,description:"Name of the component in human-readable format.","x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},type:"string",pattern:"^[a-zA-Z_][a-zA-Z0-9_-]*[a-zA-Z0-9_]$"},description:{"x-order":5,type:"string",description:"A written representation of the purpose and characteristics of the component.","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"},maxLength:5e3},format:{"x-order":6,type:"string",enum:["JSON","CUE"],default:"JSON",description:"Format specifies the format used in the `component.schema` field. JSON is the default.","x-oapi-codegen-extra-tags":{yaml:"format",json:"format"}},model:{"x-go-type":"*modelv1beta1.ModelDefinition","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/model",name:"modelv1beta1"},"x-order":7,description:"Reference to the specific registered model to which the component belongs and from which model version, category, and other properties may be referenced. Learn more at https://docs.meshery.io/concepts/models","x-oapi-codegen-extra-tags":{gorm:"foreignKey:ModelId;references:ID",json:"model",yaml:"model"},$id:"https://schemas.meshery.io/model.yaml",$schema:"http://json-schema.org/draft-07/schema#",additionalProperties:false,type:"object",properties:{id:{description:"Uniquely identifies the entity (i.e. component) as defined in a declaration (i.e. design).","x-order":1,"x-oapi-codegen-extra-tags":{yaml:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},schemaVersion:{description:"Specifies the version of the schema used for the definition.","x-order":2,"x-oapi-codegen-extra-tags":{yaml:"schemaVersion",json:"schemaVersion"},default:"models.meshery.io/v1beta1",type:"string",minLength:2,maxLength:100,pattern:"^([a-z][a-z0-9.-]*\\/)?v(alpha|beta|[0-9]+)([.-][a-z0-9]+)*$",example:["v1","v1alpha1","v2beta3","v1.custom-suffix","models.meshery.io/v1beta1","capability.meshery.io/v1alpha1"]},version:{description:"Version of the model definition.",type:"string","x-order":3,"x-oapi-codegen-extra-tags":{yaml:"version",json:"version"},minLength:5,maxLength:100,pattern:"^[a-z0-9]+.[0-9]+.[0-9]+(-[0-9A-Za-z-]+(.[0-9A-Za-z-]+)*)?(\\+[0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*)?$"},name:{type:"string",description:"The unique name for the model within the scope of a registrant.",helperText:"Model name should be in lowercase with hyphens, not whitespaces.",pattern:"^[a-z0-9-]+$",examples:["cert-manager"],"x-order":4,"x-oapi-codegen-extra-tags":{yaml:"name",json:"name"},default:"untitled-model"},displayName:{description:"Human-readable name for the model.",helperText:"Model display name may include letters, numbers, and spaces. Special characters are not allowed.",minLength:1,maxLength:100,type:"string",pattern:"^[a-zA-Z0-9 ]+$",examples:["Cert Manager"],"x-order":5,"x-oapi-codegen-extra-tags":{yaml:"displayName",json:"displayName"},default:"Untitled Model"},description:{type:"string",default:"A new Meshery model.",description:"Description of the model.",minLength:1,maxLength:1e3,"x-order":6,"x-oapi-codegen-extra-tags":{yaml:"description,omitempty",json:"description,omitempty"}},status:{type:"string",description:`Status of model, including:
|
|
648
648
|
- duplicate: this component is a duplicate of another. The component that is to be the canonical reference and that is duplicated by other components should not be assigned the 'duplicate' status.
|
|
649
649
|
- maintenance: model is unavailable for a period of time.
|
|
650
650
|
- enabled: model is available for use for all users of this Meshery Server.
|
|
@@ -1478,5 +1478,5 @@ remove: Removes a value.
|
|
|
1478
1478
|
copy: Copies a value from one location to another.
|
|
1479
1479
|
move: Moves a value from one location to another.
|
|
1480
1480
|
test: Tests that a value at the target location is equal to a specified value.
|
|
1481
|
-
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}},"x-go-type":"SelectorSetItem"}},Relationship_Metadata:{"x-go-name":"Relationship_Metadata",type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},RelationshipDefinitionMetadataStyles:{type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}}}}},Q=H;var e={title:"Publish Catalog Item",description:"RJSF form schema for the catalog publishing modal. Captures the user-input fields of the canonical Catalog construct (publishedVersion / class / snapshotURL are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta2/catalog/catalog.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{compatibility:{type:"array",title:"Technology",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"A list of technologies included in or implicated by this design; a list of relevant technology tags.","x-rjsf-grid-area":6},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},patternInfo:{type:"string",title:"Description",description:"Purpose of the design along with its intended and unintended uses.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design.","x-rjsf-grid-area":6}},required:["compatibility","patternCaveats","patternInfo","type"]};var t={"ui:order":["type","compatibility","patternInfo","patternCaveats"]};var i={title:"Environment",description:"RJSF form schema for the create-or-edit environment modal. Captures the user-input fields of the canonical Environment construct (id / schemaVersion / owner / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/environment/environment.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Environment organization ID","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Environment name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Environment description",format:"textarea","x-rjsf-grid-area":"12"}},required:["name"]};var o={organizationId:{"ui:disabled":false},"ui:order":["organizationId","name","description"]};var a={title:"Workspace",description:"RJSF form schema for the create-or-edit workspace modal. Captures the user-input fields of the canonical Workspace construct (id / owner / metadata / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/workspace/workspace.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Organization to which this workspace belongs.","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Name of the workspace.","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Description of the workspace.",format:"textarea","x-rjsf-grid-area":"12"}},required:["name","organizationId"]};var n={organizationId:{"ui:disabled":false,"ui:widget":"select"},"ui:order":["organizationId","name","description"]};var r={title:"Import Design",description:"RJSF form schema for the import-design modal. Captures the user-input fields drawn from the canonical MesheryPatternImportFormPayload schema in meshery/schemas/constructs/v1beta3/design/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical schema components; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Design file name",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.","x-rjsf-grid-area":"12"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Import"],default:"URL Import",description:"Choose the method you prefer. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{file:{type:"string",format:"data-url",title:"File",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded file bytes accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See Import Designs Documentation for details.","x-rjsf-grid-area":"12"}},required:["file"]},else:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design.","x-rjsf-grid-area":"12"}},required:["url"]}}],required:["uploadType","name"]};var s={uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","file","url"]};var p={title:"Import Model",description:"RJSF form schema for the import-model modal. Captures the user-input fields drawn from the canonical MesheryModelImportFormPayload schema in meshery/schemas/constructs/v1beta2/model/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical MesheryModelImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{uploadType:{type:"string",title:"Upload method",enum:["file","urlImport","csv"],enumNames:["File Import","URL Import","CSV Import"],description:"Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"file"}}},then:{properties:{fileName:{type:"string",title:"File name",description:"Name of the model file being uploaded.","x-rjsf-grid-area":"12"},modelFile:{type:"string",format:"data-url",title:"Model file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded model archive accepted by the import API; consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["fileName","modelFile"]}},{if:{properties:{uploadType:{type:"string",const:"urlImport"}}},then:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single model file. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["url"]}},{if:{properties:{uploadType:{type:"string",const:"csv"}}},then:{properties:{modelCsv:{type:"string",format:"binary",title:"Model CSV",description:"CSV file containing model definitions.","x-rjsf-grid-area":"12"},componentCsv:{type:"string",format:"binary",title:"Component CSV",description:"CSV file containing component definitions.","x-rjsf-grid-area":"12"},relationshipCsv:{type:"string",format:"binary",title:"Relationship CSV",description:"CSV file containing relationship definitions.","x-rjsf-grid-area":"12"}},required:["modelCsv","componentCsv","relationshipCsv"]}}],required:["uploadType"]};var d={uploadType:{"ui:widget":"radio"},modelFile:{"ui:widget":"file"},modelCsv:{"ui:widget":"file"},componentCsv:{"ui:widget":"file"},relationshipCsv:{"ui:widget":"file"},"ui:order":["uploadType","fileName","modelFile","url","modelCsv","componentCsv","relationshipCsv"]};var c={title:"Import Filter",description:"RJSF form schema for the import-filter modal. Captures the user-input fields drawn from the canonical MesheryFilterImportFormPayload schema in meshery/schemas/constructs/v1beta3/filter/api.yml. The uploadType discriminator selects between File Upload and URL Upload import methods. Field shape, types, and required lists MUST stay a subset of the canonical MesheryFilterImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",description:"Human-readable filter name.","x-rjsf-grid-area":"6"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Upload"],default:"File Upload",description:"Choose the method you prefer. Select 'File Upload' if you have the filter on your local system, or 'URL Upload' if the filter is hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{filterFile:{type:"string",format:"data-url",title:"Filter file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded filter source accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Optional on update \u2014 the server preserves the existing body when omitted.","x-rjsf-grid-area":"12"}},required:["filterFile"]},else:{properties:{filterResource:{type:"string",title:"URL",description:"Filter resource discriminator describing the body's source format (e.g. WASM module identifier or external resource path).","x-rjsf-grid-area":"12"}},required:["filterResource"]}}],required:["name","uploadType"]};var m={uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","filterFile","filterResource"]};var l={title:"Helm Repository Connection",description:"RJSF form schema for configuring a Helm repository connection. Captures the user-input fields drawn from the canonical Connection construct in meshery/schemas/constructs/v1beta3/connection/connection.yaml. Field shape, types, and required lists MUST stay a subset of the canonical Connection; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",minLength:1,description:"Connection Name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Human-readable description of the connection and its purpose.","x-rjsf-grid-area":"12"},url:{type:"string",title:"URL",format:"uri",description:"URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL).","x-rjsf-grid-area":"12"}},required:["name","url"]};var g={description:{"ui:widget":"textarea"},"ui:order":["name","description","url"]};var y={title:"Support Form",description:"RJSF form schema for the help-and-support modal. Captures the user-input fields of the canonical SupportRequest construct (meshery/schemas/constructs/v1beta1/support/api.yml). Field shape, types, enums, and required list MUST stay a subset of SupportRequest; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{subject:{type:"string",title:"Subject",description:"Enter a concise and descriptive title for your support request. This will help us quickly understand the nature of your inquiry.",minLength:1,"x-rjsf-grid-area":"12"},message:{type:"string",title:"Description",description:"Please provide a detailed description of your issue or question. Include any relevant information that will help us assist you more effectively.",minLength:10,format:"textarea","x-rjsf-grid-area":"12"},scope:{type:"string",title:"Scope of Questions",description:"Select the category that best represents the nature of your inquiry.",enum:["Support","Community","Account","Commercial"],"x-rjsf-grid-area":"12"}},required:["subject","message"]};var h={subject:{"ui:placeholder":"Summary or title for your support request"},message:{"ui:placeholder":"Detailed description of your support request"},scope:{"ui:widget":"radio"},"ui:order":["subject","message","scope"]};var u={title:"Kubernetes",description:"RJSF form schema for creating a Kubernetes credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the kubernetes-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Kubernetes cluster",properties:{clusterName:{type:"string",title:"Cluster Name",description:"Name of the Kubernetes cluster"},clusterServerURL:{type:"string",title:"Server URL",description:"URL of the Kubernetes cluster"},auth:{type:"object",title:"Auth",description:"Kubernetes cluster authentication",properties:{clusterUserName:{type:"string",title:"User Name",description:"Name of the Kubernetes cluster user"},clusterToken:{type:"string",title:"Token",description:"Token of the Kubernetes cluster user"},clusterClientCertificateData:{type:"string",title:"Client Certificate Data",description:"Certificate data of the Kubernetes cluster"},clusterClientKeyData:{type:"string",title:"Client Key Data",description:"Client Key data of the Kubernetes cluster"},clusterCertificateAuthorityData:{type:"string",title:"Certificate Authority Data",description:"Certificate Authority data of the Kubernetes cluster"}},required:["clusterUserName","clusterToken","clusterClientCertificateData","clusterClientKeyData","clusterCertificateAuthorityData"]}},required:["clusterName","clusterServerURL"]}},required:["name"]};var f={};var x={title:"Grafana",description:"RJSF form schema for creating a Grafana credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the grafana-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Grafana instance",properties:{grafanaURL:{type:"string",title:"URL",description:"URL of the Grafana instance"},grafanaAPIKey:{type:"string",title:"API Key",description:"API Key for the Grafana instance"}},required:["grafanaURL","grafanaAPIKey"]}},required:["name"]};var b={};var v={title:"Prometheus",description:"RJSF form schema for creating a Prometheus credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the prometheus-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Prometheus instance",properties:{prometheusURL:{type:"string",title:"URL",description:"URL of the Prometheus instance"}},required:["prometheusURL"]}},required:["name"]};var w={};var ve=r,we=s,je=p,Te=d,Ae=c,Se=m,ke=l,ze=g,Ue=e,Ie=t,Ce=i,Re=o,_e=a,qe=n,Me=u,Le=f,Ze=x,De=b,Pe=v,Ne=w,Ve=y,Oe=h;
|
|
1481
|
+
`,enum:["merge","strategic","add","remove","copy","move","test"]},mutatorRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatorRef,omitempty",json:"mutatorRef,omitempty"},type:"array",description:"JSON ref to value from where patch should be applied.",items:{type:"array",items:{type:"string"},description:"The sequence of mutatorRef and mutatedRef must match. eg: mutatorRef: [[config, url], [config, name]], mutatedRef: [[configPatch, value], [name]]. The value [config, url] will be patched at [configPatch, value]. Similarly [config,name] will be patched at [name]."}},mutatedRef:{"x-oapi-codegen-extra-tags":{yaml:"mutatedRef,omitempty",json:"mutatedRef,omitempty"},type:"array",items:{type:"array",items:{type:"string"},description:"JSONPath (https://en.wikipedia.org/wiki/JSONPath) to property to be patched."}}}}}},"x-oapi-codegen-extra-tags":{yaml:"to",json:"to"}}}}},"x-go-type":"SelectorSetItem"}},Relationship_Metadata:{"x-go-name":"Relationship_Metadata",type:"object",description:"Metadata contains additional information associated with the Relationship.",additionalProperties:true,"x-oapi-codegen-extra-tags":{gorm:"type:bytes;serializer:json"},properties:{description:{description:"Characterization of the meaning of the relationship and its relevance to both Meshery and entities under management.",type:"string","x-oapi-codegen-extra-tags":{yaml:"description",json:"description"}},styles:{"x-go-type":"RelationshipDefinitionMetadataStyles","x-oapi-codegen-extra-tags":{yaml:"styles",json:"styles"},type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}},isAnnotation:{type:"boolean",description:"Indicates whether the relationship should be treated as a logical representation only","x-oapi-codegen-extra-tags":{yaml:"isAnnotation",json:"isAnnotation"}}}},RelationshipDefinitionMetadataStyles:{type:"object",description:"Visualization styles for a relationship",required:["primaryColor","svgColor","svgWhite"],properties:{primaryColor:{type:"string",description:"Primary color of the component used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"primaryColor",json:"primaryColor"}},secondaryColor:{type:"string",description:"Secondary color of the entity used for UI representation.","x-oapi-codegen-extra-tags":{yaml:"secondaryColor,omitempty",json:"secondaryColor,omitempty"}},svgWhite:{type:"string",description:"White SVG of the entity used for UI representation on dark background.","x-oapi-codegen-extra-tags":{yaml:"svgWhite",json:"svgWhite"}},svgColor:{type:"string",description:"Colored SVG of the entity used for UI representation on light background.","x-oapi-codegen-extra-tags":{yaml:"svgColor",json:"svgColor"}},svgComplete:{type:"string",description:"Complete SVG of the entity used for UI representation, often inclusive of background.","x-oapi-codegen-extra-tags":{yaml:"svgComplete,omitempty",json:"svgComplete,omitempty"}},color:{type:"string",description:"The color of the element's label. Colours may be specified by name (e.g. red), hex (e.g.","x-oapi-codegen-extra-tags":{yaml:"color,omitempty",json:"color,omitempty"}},"text-opacity":{type:"number",format:"float",description:"The opacity of the label text, including its outline.","x-go-name":"TextOpacity","x-oapi-codegen-extra-tags":{yaml:"text-opacity,omitempty",json:"text-opacity,omitempty"}},"font-family":{type:"string",description:"A comma-separated list of font names to use on the label text.","x-go-name":"FontFamily","x-oapi-codegen-extra-tags":{yaml:"font-family,omitempty",json:"font-family,omitempty"}},"font-size":{type:"string",description:"The size of the label text.","x-go-name":"FontSize","x-oapi-codegen-extra-tags":{yaml:"font-size,omitempty",json:"font-size,omitempty"}},"font-style":{type:"string",description:"A CSS font style to be applied to the label text.","x-go-name":"FontStyle","x-oapi-codegen-extra-tags":{yaml:"font-style,omitempty",json:"font-style,omitempty"}},"font-weight":{type:"string",description:"A CSS font weight to be applied to the label text.","x-go-name":"FontWeight","x-oapi-codegen-extra-tags":{yaml:"font-weight,omitempty",json:"font-weight,omitempty"}},"text-transform":{description:"A transformation to apply to the label text","x-go-name":"TextTransform","x-oapi-codegen-extra-tags":{yaml:"text-transform,omitempty",json:"text-transform,omitempty"},type:"string",enum:["none","uppercase","lowercase"]},opacity:{type:"number",format:"float",description:"The opacity of the element, ranging from 0 to 1. Note that the opacity of a compound node parent affects the effective opacity of its children.See https://js.cytoscape.org/#style/visibility","x-go-name":"Opacity","x-oapi-codegen-extra-tags":{yaml:"opacity,omitempty",json:"opacity,omitempty"}},"z-index":{type:"integer",description:"An integer value that affects the relative draw order of elements. In general, an element with a higher z-index will be drawn on top of an element with a lower z-index. Note that edges are under nodes despite z-index.","x-go-name":"ZIndex","x-oapi-codegen-extra-tags":{yaml:"z-index,omitempty",json:"z-index,omitempty"}},label:{type:"string",description:"The text to display for an element's label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"Label","x-oapi-codegen-extra-tags":{yaml:"label,omitempty",json:"label,omitempty"}},"edge-animation":{type:"string",description:"The animation to use for the edge. Can be like 'marching-ants' , 'blink' , 'moving-gradient',etc .","x-go-name":"EdgeAnimation","x-oapi-codegen-extra-tags":{yaml:"edge-animation,omitempty",json:"edge-animation,omitempty"}},"curve-style":{"x-go-name":"CurveStyle","x-oapi-codegen-extra-tags":{yaml:"curve-style,omitempty",json:"curve-style,omitempty"},type:"string",description:"The curving method used to separate two or more edges between two nodes; may be haystack (very fast, bundled straight edges for which loops and compounds are unsupported), straight (straight edges with all arrows supported), bezier (bundled curved edges), unbundled-bezier (curved edges for use with manual control points), segments (a series of straight lines), taxi (right-angled lines, hierarchically bundled). Note that haystack edges work best with ellipse, rectangle, or similar nodes. Smaller node shapes, like triangle, will not be as aesthetically pleasing. Also note that edge endpoint arrows are unsupported for haystack edges.",enum:["haystack","straight","bezier","unbundled-bezier","segments","taxi"]},"line-color":{type:"string",description:"The colour of the edge's line. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"LineColor","x-oapi-codegen-extra-tags":{yaml:"line-color,omitempty",json:"line-color,omitempty"}},"line-style":{"x-go-name":"LineStyle","x-oapi-codegen-extra-tags":{yaml:"line-style,omitempty",json:"line-style,omitempty"},type:"string",description:"The style of the edge's line.",enum:["solid","dotted","dashed"]},"line-cap":{"x-go-name":"LineCap","x-oapi-codegen-extra-tags":{yaml:"line-cap,omitempty",json:"line-cap,omitempty"},type:"string",description:"The cap style of the edge's line; may be butt (default), round, or square. The cap may or may not be visible, depending on the shape of the node and the relative size of the node and edge. Caps other than butt extend beyond the specified endpoint of the edge.",enum:["butt","round","square"]},"line-opacity":{type:"number",format:"float",description:"The opacity of the edge's line and arrow. Useful if you wish to have a separate opacity for the edge label versus the edge line. Note that the opacity value of the edge element affects the effective opacity of its line and label subcomponents.","x-go-name":"LineOpacity","x-oapi-codegen-extra-tags":{yaml:"line-opacity,omitempty",json:"line-opacity,omitempty"}},"target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"TargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"target-arrow-color,omitempty",json:"target-arrow-color,omitempty"}},"target-arrow-shape":{"x-go-name":"TargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"target-arrow-shape,omitempty",json:"target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"target-arrow-fill":{"x-go-name":"TargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"target-arrow-fill,omitempty",json:"target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"mid-target-arrow-color":{type:"string",description:"The colour of the edge's source arrow. Colours may be specified by name (e.g. red), hex (e.g.","x-go-name":"MidTargetArrowColor","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-color,omitempty",json:"mid-target-arrow-color,omitempty"}},"mid-target-arrow-shape":{"x-go-name":"MidTargetArrowShape","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-shape,omitempty",json:"mid-target-arrow-shape,omitempty"},type:"string",description:"The shape of the edge's source arrow",enum:["triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","tee","square","circle","diamond","chevron","none"]},"mid-target-arrow-fill":{"x-go-name":"MidTargetArrowFill","x-oapi-codegen-extra-tags":{yaml:"mid-target-arrow-fill,omitempty",json:"mid-target-arrow-fill,omitempty"},type:"string",description:"The fill state of the edge's source arrow",enum:["filled","hollow"]},"arrow-scale":{type:"number",format:"float",description:"Scaling for the arrow size.","x-go-name":"ArrowScale","x-oapi-codegen-extra-tags":{yaml:"arrow-scale,omitempty",json:"arrow-scale,omitempty"}},"source-label":{type:"string",description:"The text to display for an edge's source label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"SourceLabel","x-oapi-codegen-extra-tags":{yaml:"source-label,omitempty",json:"source-label,omitempty"}},"target-label":{type:"string",description:"The text to display for an edge's target label. Can give a path, e.g. data(id) will label with the elements id","x-go-name":"TargetLabel","x-oapi-codegen-extra-tags":{yaml:"target-label,omitempty",json:"target-label,omitempty"}}}}}}},Q=H;var e={title:"Publish Catalog Item",description:"RJSF form schema for the catalog publishing modal. Captures the user-input fields of the canonical Catalog construct (publishedVersion / class / snapshotURL are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta2/catalog/catalog.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{compatibility:{type:"array",title:"Technology",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"A list of technologies included in or implicated by this design; a list of relevant technology tags.","x-rjsf-grid-area":6},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},patternInfo:{type:"string",title:"Description",description:"Purpose of the design along with its intended and unintended uses.",format:"textarea","x-rjsf-grid-area":12,"x-encode-in-uri":true},type:{type:"string",title:"Type",enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design.","x-rjsf-grid-area":6}},required:["compatibility","patternCaveats","patternInfo","type"]};var t={"ui:order":["type","compatibility","patternInfo","patternCaveats"]};var i={title:"Environment",description:"RJSF form schema for the create-or-edit environment modal. Captures the user-input fields of the canonical Environment construct (id / schemaVersion / owner / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/environment/environment.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Environment organization ID","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Environment name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Environment description",format:"textarea","x-rjsf-grid-area":"12"}},required:["name"]};var o={organizationId:{"ui:disabled":false},"ui:order":["organizationId","name","description"]};var a={title:"Workspace",description:"RJSF form schema for the create-or-edit workspace modal. Captures the user-input fields of the canonical Workspace construct (id / owner / metadata / createdAt / updatedAt / deletedAt are server-generated and intentionally absent). Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta3/workspace/workspace.yaml; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{organizationId:{type:"string",title:"Organization",description:"Organization to which this workspace belongs.","x-rjsf-grid-area":"12"},name:{type:"string",title:"Name",description:"Name of the workspace.","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Description of the workspace.",format:"textarea","x-rjsf-grid-area":"12"}},required:["name","organizationId"]};var n={organizationId:{"ui:disabled":false,"ui:widget":"select"},"ui:order":["organizationId","name","description"]};var r={title:"Import Design",description:"RJSF form schema for the import-design modal. Captures the user-input fields drawn from the canonical MesheryPatternImportFormPayload schema in meshery/schemas/constructs/v1beta3/design/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical schema components; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Design file name",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.","x-rjsf-grid-area":"12"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Import"],default:"URL Import",description:"Choose the method you prefer. Select 'File Upload' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{file:{type:"string",format:"data-url",title:"File",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded file bytes accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See Import Designs Documentation for details.","x-rjsf-grid-area":"12"}},required:["file"]},else:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single file, for example: https://raw.githubusercontent.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design.","x-rjsf-grid-area":"12"}},required:["url"]}}],required:["uploadType","name"]};var s={uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","file","url"]};var p={title:"Import Model",description:"RJSF form schema for the import-model modal. Captures the user-input fields drawn from the canonical MesheryModelImportFormPayload schema in meshery/schemas/constructs/v1beta2/model/api.yml. The uploadType discriminator determines which branch's conditional required fields apply. Field shape, types, and required lists MUST stay a subset of the canonical MesheryModelImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{uploadType:{type:"string",title:"Upload method",enum:["file","urlImport","csv"],enumNames:["File Import","URL Import","CSV Import"],description:"Choose the method you prefer to upload your model file. Select 'File Import' or 'CSV Import' if you have the file on your local system, or 'URL Import' if you have the file hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"file"}}},then:{properties:{fileName:{type:"string",title:"File name",description:"Name of the model file being uploaded.","x-rjsf-grid-area":"12"},modelFile:{type:"string",format:"data-url",title:"Model file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded model archive accepted by the import API; consumers strip the `data:<mime>;base64,` prefix before posting. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["fileName","modelFile"]}},{if:{properties:{uploadType:{type:"string",const:"urlImport"}}},then:{properties:{url:{type:"string",format:"uri",title:"URL",description:"A direct URL to a single model file. Supported formats: .tar, .tar.gz, .tgz.","x-rjsf-grid-area":"12"}},required:["url"]}},{if:{properties:{uploadType:{type:"string",const:"csv"}}},then:{properties:{modelCsv:{type:"string",format:"binary",title:"Model CSV",description:"CSV file containing model definitions.","x-rjsf-grid-area":"12"},componentCsv:{type:"string",format:"binary",title:"Component CSV",description:"CSV file containing component definitions.","x-rjsf-grid-area":"12"},relationshipCsv:{type:"string",format:"binary",title:"Relationship CSV",description:"CSV file containing relationship definitions.","x-rjsf-grid-area":"12"}},required:["modelCsv","componentCsv","relationshipCsv"]}}],required:["uploadType"]};var d={uploadType:{"ui:widget":"radio"},modelFile:{"ui:widget":"file"},modelCsv:{"ui:widget":"file"},componentCsv:{"ui:widget":"file"},relationshipCsv:{"ui:widget":"file"},"ui:order":["uploadType","fileName","modelFile","url","modelCsv","componentCsv","relationshipCsv"]};var c={title:"Import Filter",description:"RJSF form schema for the import-filter modal. Captures the user-input fields drawn from the canonical MesheryFilterImportFormPayload schema in meshery/schemas/constructs/v1beta3/filter/api.yml. The uploadType discriminator selects between File Upload and URL Upload import methods. Field shape, types, and required lists MUST stay a subset of the canonical MesheryFilterImportFormPayload; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",description:"Human-readable filter name.","x-rjsf-grid-area":"6"},uploadType:{type:"string",title:"Upload method",enum:["File Upload","URL Upload"],default:"File Upload",description:"Choose the method you prefer. Select 'File Upload' if you have the filter on your local system, or 'URL Upload' if the filter is hosted online.","x-rjsf-grid-area":"12"}},allOf:[{if:{properties:{uploadType:{type:"string",const:"File Upload"}}},then:{properties:{filterFile:{type:"string",format:"data-url",title:"Filter file",description:"RFC 2397 data URL emitted by the RJSF FileWidget \u2014 shape `data:<mime>;base64,<payload>`. `<payload>` is the base64-encoded filter source accepted by the import API (canonical `format: byte`); consumers strip the `data:<mime>;base64,` prefix before posting. Optional on update \u2014 the server preserves the existing body when omitted.","x-rjsf-grid-area":"12"}},required:["filterFile"]},else:{properties:{filterResource:{type:"string",title:"URL",description:"Filter resource discriminator describing the body's source format (e.g. WASM module identifier or external resource path).","x-rjsf-grid-area":"12"}},required:["filterResource"]}}],required:["name","uploadType"]};var m={uploadType:{"ui:widget":"radio"},"ui:order":["name","uploadType","filterFile","filterResource"]};var l={title:"Helm Repository Connection",description:"RJSF form schema for configuring a Helm repository connection. Captures the user-input fields drawn from the canonical Connection construct in meshery/schemas/constructs/v1beta3/connection/connection.yaml. Field shape, types, and required lists MUST stay a subset of the canonical Connection; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Name",minLength:1,description:"Connection Name","x-rjsf-grid-area":"12"},description:{type:"string",title:"Description",description:"Human-readable description of the connection and its purpose.","x-rjsf-grid-area":"12"},url:{type:"string",title:"URL",format:"uri",description:"URL of the remote resource this connection points to (e.g. the Helm repository URL, the Kubernetes API server endpoint, the Grafana instance URL).","x-rjsf-grid-area":"12"}},required:["name","url"]};var g={description:{"ui:widget":"textarea"},"ui:order":["name","description","url"]};var y={title:"Support Form",description:"RJSF form schema for the help-and-support modal. Captures the user-input fields of the canonical SupportRequest construct (meshery/schemas/constructs/v1beta1/support/api.yml). Field shape, types, enums, and required list MUST stay a subset of SupportRequest; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{subject:{type:"string",title:"Subject",description:"Enter a concise and descriptive title for your support request. This will help us quickly understand the nature of your inquiry.",minLength:1,"x-rjsf-grid-area":"12"},message:{type:"string",title:"Description",description:"Please provide a detailed description of your issue or question. Include any relevant information that will help us assist you more effectively.",minLength:10,format:"textarea","x-rjsf-grid-area":"12"},scope:{type:"string",title:"Scope of Questions",description:"Select the category that best represents the nature of your inquiry.",enum:["Support","Community","Account","Commercial"],"x-rjsf-grid-area":"12"}},required:["subject","message"]};var h={subject:{"ui:placeholder":"Summary or title for your support request"},message:{"ui:placeholder":"Detailed description of your support request"},scope:{"ui:widget":"radio"},"ui:order":["subject","message","scope"]};var u={title:"Kubernetes",description:"RJSF form schema for creating a Kubernetes credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the kubernetes-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Kubernetes cluster",properties:{clusterName:{type:"string",title:"Cluster Name",description:"Name of the Kubernetes cluster"},clusterServerURL:{type:"string",title:"Server URL",description:"URL of the Kubernetes cluster"},auth:{type:"object",title:"Auth",description:"Kubernetes cluster authentication",properties:{clusterUserName:{type:"string",title:"User Name",description:"Name of the Kubernetes cluster user"},clusterToken:{type:"string",title:"Token",description:"Token of the Kubernetes cluster user"},clusterClientCertificateData:{type:"string",title:"Client Certificate Data",description:"Certificate data of the Kubernetes cluster"},clusterClientKeyData:{type:"string",title:"Client Key Data",description:"Client Key data of the Kubernetes cluster"},clusterCertificateAuthorityData:{type:"string",title:"Certificate Authority Data",description:"Certificate Authority data of the Kubernetes cluster"}},required:["clusterUserName","clusterToken","clusterClientCertificateData","clusterClientKeyData","clusterCertificateAuthorityData"]}},required:["clusterName","clusterServerURL"]}},required:["name"]};var f={};var x={title:"Grafana",description:"RJSF form schema for creating a Grafana credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the grafana-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Grafana instance",properties:{grafanaURL:{type:"string",title:"URL",description:"URL of the Grafana instance"},grafanaAPIKey:{type:"string",title:"API Key",description:"API Key for the Grafana instance"}},required:["grafanaURL","grafanaAPIKey"]}},required:["name"]};var b={};var v={title:"Prometheus",description:"RJSF form schema for creating a Prometheus credential. Captures the user-input fields of the canonical Credential construct; the `secret` object is the prometheus-specific shape persisted under the canonical free-form `secret` map. Field shape, types, enums, and required list MUST stay a subset of meshery/schemas/constructs/v1beta1/credential/api.yml#/components/schemas/Credential; the Go validator at validation/forms_test.go enforces that.",type:"object",properties:{name:{type:"string",title:"Credential Name",description:"Human-readable name for the credential."},secret:{type:"object",title:"Credential Secret",description:"Credential secret for the Prometheus instance",properties:{prometheusURL:{type:"string",title:"URL",description:"URL of the Prometheus instance"}},required:["prometheusURL"]}},required:["name"]};var w={};var ve=r,we=s,je=p,Te=d,Ae=c,Se=m,ke=l,ze=g,Ue=e,Ie=t,Ce=i,Re=o,_e=a,qe=n,Me=u,Le=f,Ze=x,De=b,Pe=v,Ne=w,Ve=y,Oe=h;
|
|
1482
1482
|
export{N as BadgeSchema,Ue as CatalogPublishRjsfSchemaV1Beta2,Ie as CatalogPublishRjsfUiSchemaV1Beta2,T as CategoryDefinitionV1Beta1OpenApiSchema,I as ComponentDefinitionV1Beta1OpenApiSchema,O as ComponentDefinitionV1Beta2OpenApiSchema,J as ConnectionDefinitionV1Beta2OpenApiSchema,ke as ConnectionHelmCreateRjsfSchemaV1Beta3,ze as ConnectionHelmCreateRjsfUiSchemaV1Beta3,z as DesignDefinitionV1Beta1OpenApiSchema,E as DesignDefinitionV1Beta2OpenApiSchema,ve as DesignImportRjsfSchemaV1Beta3,we as DesignImportRjsfUiSchemaV1Beta3,Ce as EnvironmentCreateOrEditRjsfSchemaV1Beta3,Re as EnvironmentCreateOrEditRjsfUiSchemaV1Beta3,q as EnvironmentDefinitionV1Beta1OpenApiSchema,Ae as FilterImportRjsfSchemaV1Beta3,Se as FilterImportRjsfUiSchemaV1Beta3,Ze as GrafanaCredentialRjsfSchemaV1Beta1,De as GrafanaCredentialRjsfUiSchemaV1Beta1,W as InvitationDefinitionV1Beta2OpenApiSchema,D as InvitationSchema,Me as KubernetesCredentialRjsfSchemaV1Beta1,Le as KubernetesCredentialRjsfUiSchemaV1Beta1,R as ModelDefinitionV1Beta1OpenApiSchema,je as ModelImportRjsfSchemaV1Beta2,Te as ModelImportRjsfUiSchemaV1Beta2,Pe as PrometheusCredentialRjsfSchemaV1Beta1,Ne as PrometheusCredentialRjsfUiSchemaV1Beta1,Q as RelationshipDefinitionV1Alpha3OpenApiSchema,G as RelationshipDefinitionV1Beta2OpenApiSchema,S as SubCategoryDefinitionV1Beta1OpenApiSchema,Ve as SupportRequestRjsfSchemaV1Beta1,Oe as SupportRequestRjsfUiSchemaV1Beta1,_e as WorkspaceCreateOrEditRjsfSchemaV1Beta3,qe as WorkspaceCreateOrEditRjsfUiSchemaV1Beta3,L as WorkspaceDefinitionV1Beta1OpenApiSchema};
|