@meshery/schemas 1.3.25 → 1.3.27

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.
Files changed (51) hide show
  1. package/dist/cloudApi.d.mts +1711 -1711
  2. package/dist/cloudApi.d.ts +1711 -1711
  3. package/dist/constructs/v1beta1/category/CategorySchema.js +1 -1
  4. package/dist/constructs/v1beta1/category/CategorySchema.mjs +1 -1
  5. package/dist/constructs/v1beta1/component/ComponentSchema.js +1 -1
  6. package/dist/constructs/v1beta1/component/ComponentSchema.mjs +1 -1
  7. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.js +4 -4
  8. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.mjs +4 -4
  9. package/dist/constructs/v1beta1/model/ModelSchema.js +3 -3
  10. package/dist/constructs/v1beta1/model/ModelSchema.mjs +3 -3
  11. package/dist/constructs/v1beta1/pattern/PatternSchema.js +11 -11
  12. package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +11 -11
  13. package/dist/constructs/v1beta1/system/System.d.ts +445 -0
  14. package/dist/constructs/v1beta1/system/SystemSchema.js +1 -1
  15. package/dist/constructs/v1beta1/system/SystemSchema.mjs +1 -1
  16. package/dist/constructs/v1beta1/workspace/WorkspaceSchema.js +2 -2
  17. package/dist/constructs/v1beta1/workspace/WorkspaceSchema.mjs +2 -2
  18. package/dist/constructs/v1beta2/component/ComponentSchema.js +1 -1
  19. package/dist/constructs/v1beta2/component/ComponentSchema.mjs +1 -1
  20. package/dist/constructs/v1beta2/design/DesignSchema.js +22 -22
  21. package/dist/constructs/v1beta2/design/DesignSchema.mjs +22 -22
  22. package/dist/constructs/v1beta2/model/ModelSchema.js +3 -3
  23. package/dist/constructs/v1beta2/model/ModelSchema.mjs +3 -3
  24. package/dist/constructs/v1beta2/relationship/RelationshipSchema.js +1 -1
  25. package/dist/constructs/v1beta2/relationship/RelationshipSchema.mjs +1 -1
  26. package/dist/constructs/v1beta2/user/UserSchema.js +1 -1
  27. package/dist/constructs/v1beta2/user/UserSchema.mjs +1 -1
  28. package/dist/constructs/v1beta3/academy/Academy.d.ts +27 -27
  29. package/dist/constructs/v1beta3/academy/AcademySchema.js +1 -1
  30. package/dist/constructs/v1beta3/academy/AcademySchema.mjs +1 -1
  31. package/dist/constructs/v1beta3/component/ComponentSchema.js +1 -1
  32. package/dist/constructs/v1beta3/component/ComponentSchema.mjs +1 -1
  33. package/dist/constructs/v1beta3/connection/Connection.d.ts +444 -0
  34. package/dist/constructs/v1beta3/connection/ConnectionSchema.js +1 -1
  35. package/dist/constructs/v1beta3/connection/ConnectionSchema.mjs +1 -1
  36. package/dist/constructs/v1beta3/design/DesignSchema.js +2 -2
  37. package/dist/constructs/v1beta3/design/DesignSchema.mjs +2 -2
  38. package/dist/constructs/v1beta3/invitation/Invitation.d.ts +63 -63
  39. package/dist/constructs/v1beta3/invitation/InvitationSchema.js +1 -1
  40. package/dist/constructs/v1beta3/invitation/InvitationSchema.mjs +1 -1
  41. package/dist/constructs/v1beta3/user/UserSchema.js +1 -1
  42. package/dist/constructs/v1beta3/user/UserSchema.mjs +1 -1
  43. package/dist/constructs/v1beta3/workspace/WorkspaceSchema.js +2 -2
  44. package/dist/constructs/v1beta3/workspace/WorkspaceSchema.mjs +2 -2
  45. package/dist/index.js +42 -42
  46. package/dist/index.mjs +42 -42
  47. package/dist/mesheryApi.d.mts +2096 -695
  48. package/dist/mesheryApi.d.ts +2096 -695
  49. package/dist/mesheryApi.js +1 -1
  50. package/dist/mesheryApi.mjs +1 -1
  51. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- var t={openapi:"3.0.0",info:{title:"Invitation",description:"OpenAPI schema for managing invitations.",version:"v1beta3",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",format:"uuid"}}],responses:{200:{description:"Invitation fetched",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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",format:"uuid"}}],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",format:"uuid"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","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:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},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,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{200:{description:"Invitation updated",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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 a paginated list of invitations for the organization",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:"Invitations page",content:{"application/json":{schema:{type:"object",description:"Paginated list of invitations for an organization.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}}}}}}},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","orgId","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:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},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,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{201:{description:"Invitation created",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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",format:"uuid"}}],responses:{200:{description:"Invitation accepted",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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",format:"uuid"}}],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:{201:{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",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}}}}},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:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}}}}},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:{orgId:{name:"orgId",in:"path",required:true,description:"The ID of the organization.",schema:{type:"string",format:"uuid"}},invitationId:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}},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",description:"Paginated list of invitations for an organization.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}}}},SignupRequest:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},SignupData:{type:"object",additionalProperties:false,description:"A signup request record as persisted in the signup_data table. Captures the requester's identity, the product form the request originated from (for example playground, meshmap, docker-extension), the moderation status, and the tracking task created for the request. Also embedded in signup webhook and notification payloads, where only a subset of fields may be populated.",properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},SignupRequestNotification:{type:"object",additionalProperties:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}},SignupWebhookPayload:{type:"object",additionalProperties:false,description:"Outbound webhook body that Cloud POSTs to the configured signup and entitlement webhooks (WEBHOOK_SIGNUP_REQUEST, WEBHOOK_KANVAS_ENTITLEMENT) when a signup request is processed. Emitted by Cloud; not served by any Cloud endpoint.",required:["signupData","newUser"],properties:{signupData:{description:"The signup request that triggered the webhook.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},newUser:{type:"boolean",description:"Whether the requester is a newly created user.","x-oapi-codegen-extra-tags":{json:"newUser"}}}},SignupRequestsPage:{type:"object",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","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:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},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,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}},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",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","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,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},e=t;
1
+ var t={openapi:"3.0.0",info:{title:"Invitation",description:"OpenAPI schema for managing invitations.",version:"v1beta3",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",format:"uuid"}}],responses:{200:{description:"Invitation fetched",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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",format:"uuid"}}],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",format:"uuid"}}],requestBody:{content:{"application/json":{schema:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","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:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},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,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{200:{description:"Invitation updated",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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 a paginated list of invitations for the organization",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:"Invitations page",content:{"application/json":{schema:{type:"object",description:"Paginated list of invitations for an organization.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}}}}}}},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","orgId","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:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},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,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}}}},required:true},responses:{201:{description:"Invitation created",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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",format:"uuid"}}],responses:{200:{description:"Invitation accepted",content:{"application/json":{schema:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},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",format:"uuid"}}],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:{201:{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",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}}}}},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:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}}}}},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:{orgId:{name:"orgId",in:"path",required:true,description:"The ID of the organization.",schema:{type:"string",format:"uuid"}},invitationId:{name:"invitationId",in:"path",required:true,description:"The ID of the invitation.",schema:{type:"string",format:"uuid"}}},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",description:"Paginated list of invitations for an organization.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}},"x-go-type":"Invitation"},description:"Invitations returned on the current page.","x-oapi-codegen-extra-tags":{json:"data"}}}},SignupRequest:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},SignupData:{type:"object",additionalProperties:false,description:"A signup request record as persisted in the signup_data table. Captures the requester's identity, the product form the request originated from (for example playground, meshmap, docker-extension), the moderation status, and the tracking task created for the request. Also embedded in signup webhook and notification payloads, where only a subset of fields may be populated.",properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},SignupRequestNotification:{type:"object",additionalProperties:false,description:"Notification about the most recent signup request awaiting moderator action, served by getSignupRequestNotification.",required:["signupData","preProcessed"],properties:{signupData:{description:"The signup request the notification refers to.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},preProcessed:{type:"boolean",description:"Whether the signup request was automatically processed before moderator review.","x-oapi-codegen-extra-tags":{json:"preProcessed"}}}},SignupWebhookPayload:{type:"object",additionalProperties:false,description:"Outbound webhook body that Cloud POSTs to the configured signup and entitlement webhooks (WEBHOOK_SIGNUP_REQUEST, WEBHOOK_KANVAS_ENTITLEMENT) when a signup request is processed. Emitted by Cloud; not served by any Cloud endpoint.",required:["signupData","newUser"],properties:{signupData:{description:"The signup request that triggered the webhook.","x-oapi-codegen-extra-tags":{json:"signupData"},type:"object",additionalProperties:false,properties:{id:{description:"Unique identifier of the signup request.","x-go-name":"ID","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"}},firstName:{type:"string",maxLength:200,description:"First name of the requester.","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName,omitempty"}},lastName:{type:"string",maxLength:300,description:"Last name of the requester.","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName,omitempty"}},email:{type:"string",format:"email",maxLength:300,description:"Email address of the requester.","x-oapi-codegen-extra-tags":{db:"email",json:"email,omitempty"}},occupation:{type:"string",maxLength:300,description:"Occupation stated by the requester.","x-oapi-codegen-extra-tags":{db:"occupation",json:"occupation,omitempty"}},organization:{type:"string",maxLength:300,description:"Organization stated by the requester.","x-oapi-codegen-extra-tags":{db:"organization",json:"organization,omitempty"}},role:{type:"string",maxLength:300,description:"Role stated by the requester within their organization.","x-oapi-codegen-extra-tags":{db:"role",json:"role,omitempty"}},formType:{type:"string",maxLength:300,description:"Product form the signup request originated from. Known values include playground, meshmap, docker-extension, epsma-book, content, contact and event; the set is open-ended.","x-oapi-codegen-extra-tags":{db:"form_type",json:"formType,omitempty"}},status:{type:"string",maxLength:300,description:"Moderation status of the signup request.","x-oapi-codegen-extra-tags":{db:"status",json:"status,omitempty"}},taskId:{type:"string",maxLength:300,description:"Identifier of the tracking task created for this request in the external task system.","x-id-format":"external","x-go-name":"TaskID","x-oapi-codegen-extra-tags":{db:"task_id",json:"taskId,omitempty"}},taskLink:{type:"string",format:"uri",maxLength:300,description:"Link to the tracking task created for this request.","x-oapi-codegen-extra-tags":{db:"task_link",json:"taskLink,omitempty"}},createdAt:{description:"Timestamp when the signup request was created.","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the signup request was last updated.","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},newUser:{type:"boolean",description:"Whether the requester is a newly created user.","x-oapi-codegen-extra-tags":{json:"newUser"}}}},SignupRequestsPage:{type:"object",description:"Paginated list of signup requests.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0,"x-go-type-skip-optional-pointer":true},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"pageSize"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{json:"totalCount"}},data:{type:"array",items:{type:"object",description:"A signup request submitted for organization access.",additionalProperties:true},description:"Signup requests returned on the current page."}}},InvitationPayload:{type:"object",description:"Payload for creating or updating an invitation.",required:["name","description","orgId","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:{description:"ID of the user who created the invitation.","x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{type:"boolean",description:"Indicates whether the invitation is a default invitation (open invite).","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault,omitempty"}},name:{type:"string",description:"Name of the invitation.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation.",maxLength:5e3},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,})$",description:"Email address or pattern that is permitted to use this invitation.","x-go-type":"string"},description:"Email addresses or patterns this invitation is valid for."},orgId:{type:"string",format:"uuid",description:"ID of the organization to which the user is invited.","x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},maxLength:500},expiresAt:{type:"string",format:"date-time",description:"Timestamp when the invitation expires, if applicable.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt,omitempty"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it.",minimum:0},roles:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."},description:"Roles that the user will have when accepting the invitation."},teams:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."},description:"Teams that the user will be added to when accepting the invitation."},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]}}},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",additionalProperties:false,description:"Invitation entity schema.",required:["id","owner","name","description","orgId","acceptedBy","emails","roles","teams","status","createdAt","updatedAt","deletedAt"],properties:{id:{description:"Unique identifier for the invitation, also used as the invitation code.",readOnly:true,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},owner:{description:"ID of the user who created the invitation. Tracks who created the invitation for auditing purposes.",readOnly:true,"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},isDefault:{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. An organization can only have one default invitation.","x-oapi-codegen-extra-tags":{db:"is_default",json:"isDefault"}},name:{type:"string",description:"Name of the invitation, which can be used to identify it. Required; cannot be an empty string.",minLength:1,maxLength:255},description:{type:"string",description:"Description of the invitation, which can be used to provide additional context. Null or empty string means the invitation does not have a description.",maxLength:5e3},emails:{type:"array",nullable:true,description:"Email addresses or patterns for which the invitation is valid. Null means the invitation is valid for any email address.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string",pattern:"^([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-z]{2,}|@[a-zA-Z0-9.-]+\\.[a-z]{2,})$",description:"Exact email address or the email address pattern for which the invitation is valid.","x-go-type":"string"}},orgId:{description:"ID of the organization to which the user is invited.",readOnly:true,"x-go-name":"OrgID","x-oapi-codegen-extra-tags":{db:"org_id",json:"orgId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},expiresAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the invitation expires, if applicable. Null or empty means the invitation does not expire.","x-oapi-codegen-extra-tags":{db:"expires_at",json:"expiresAt"}},quota:{type:"integer",description:"Quota for the invitation; limits the number of users that can accept it. Null or empty means the invitation is unlimited.",minimum:0},acceptedBy:{type:"array",readOnly:true,description:"List of user ids that have already accepted the invitation. Empty means the invitation has not been used yet.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},"x-oapi-codegen-extra-tags":{db:"accepted_by",json:"acceptedBy"}},roles:{type:"array",description:"Roles that the user will have when accepting the invitation. Empty means the invitation does not specify any roles.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Role identifier granted by this invitation on acceptance."}},teams:{type:"array",description:"Teams that the user will be added to when accepting the invitation. Empty means the invitation does not specify any teams.","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},items:{type:"string",description:"Team identifier the invited user is added to on acceptance."}},status:{description:"Activation status of the invitation.","x-go-type":"InvitationStatus",type:"string",enum:["enabled","disabled"]},createdAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was created.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}},updatedAt:{type:"string",format:"date-time",readOnly:true,description:"Timestamp when the invitation was last updated.","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"}},deletedAt:{type:"string",format:"date-time",readOnly:true,nullable:true,description:"Timestamp when the invitation was deleted, if applicable.","x-go-type":"core.NullTime","x-go-type-skip-optional-pointer":true,"x-go-type-import":{path:"github.com/meshery/schemas/models/core"},"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}}}}}}},e=t;
2
2
  export{e as default};
@@ -1,2 +1,2 @@
1
- 'use strict';var e={openapi:"3.0.3",info:{title:"User",description:"OpenAPI schema for user management in Meshery Cloud.",version:"v1beta3",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:{User:{type:"object",description:"Represents a user",required:["id","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},UserEmailAddress:{type:"object",additionalProperties:false,description:"One email address associated with a user account. A user has exactly one primary address (mirrored in users.email) and any number of secondary addresses accumulated from account consolidation or explicit addition. Uniqueness across live addresses is enforced case-insensitively.",required:["id","userId","email","verified","isPrimary","source","createdAt","updatedAt"],properties:{id:{description:"Unique identifier for this email-address record","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{description:"The user (users.id) this address belongs to","x-oapi-codegen-extra-tags":{db:"owner",json:"userId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},email:{type:"string",format:"email",maxLength:300,description:"The email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},verified:{type:"boolean",default:false,description:"Whether the address was verified (per Kratos verifiable addresses) at record time","x-oapi-codegen-extra-tags":{db:"verified",json:"verified"}},isPrimary:{type:"boolean",default:false,description:"Exactly one live primary address per user; mirrors users.email","x-oapi-codegen-extra-tags":{db:"is_primary",json:"isPrimary"}},source:{type:"string",enum:["signup","consolidation","backfill","manual"],description:"How this address became associated with the account","x-oapi-codegen-extra-tags":{db:"source",json:"source"}},createdAt:{"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"},description:"SQL null Timestamp to handle null values of time.","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}}},OrganizationWithRoles:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},TeamWithRoles:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},Preference:{"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},Adapter:{type:"object",description:"Placeholder for Adapter struct definition."},Grafana:{type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},SelectedGrafanaConfig:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},GrafanaBoard:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},Panel:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},Prometheus:{type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},LoadTestPreferences:{type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},Social:{description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]}}}},t=e;
1
+ 'use strict';var e={openapi:"3.0.3",info:{title:"User",description:"OpenAPI schema for user management in Meshery Cloud.",version:"v1beta3",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:{User:{type:"object",description:"Represents a user",required:["id","provider","email","firstName","lastName","status","createdAt","updatedAt","lastLoginTime","deletedAt"],properties:{id:{description:"Unique identifier for the user","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},provider:{type:"string",maxLength:100,description:"Authentication provider (e.g., Google, Github)",example:["local","github","google","twitter"],"x-oapi-codegen-extra-tags":{db:"provider",json:"provider"}},email:{type:"string",format:"email",maxLength:300,description:"User's email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},firstName:{type:"string",maxLength:200,description:"User's first name","x-oapi-codegen-extra-tags":{db:"first_name",json:"firstName"}},lastName:{type:"string",maxLength:300,description:"User's last name","x-oapi-codegen-extra-tags":{db:"last_name",json:"lastName"}},avatarUrl:{type:"string",format:"uri",maxLength:500,description:"URL to user's avatar image","x-oapi-codegen-extra-tags":{db:"avatar_url",json:"avatarUrl"}},status:{type:"string",maxLength:100,enum:["active","inactive","pending","anonymous"],description:"User account status","x-oapi-codegen-extra-tags":{db:"status",json:"status"}},bio:{type:"string",maxLength:1e3,default:"",description:"User's biography or description","x-oapi-codegen-extra-tags":{db:"bio",json:"bio"}},country:{type:"object",description:"User's country information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"country",json:"country"}},region:{type:"object",description:"User's region information stored as JSONB",additionalProperties:true,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"region",json:"region"}},preferences:{"x-go-type":"Preference",description:"User preferences stored as JSONB","x-oapi-codegen-extra-tags":{db:"preferences",json:"preferences"},"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},acceptedTermsAt:{description:"Timestamp when user accepted terms and conditions","x-oapi-codegen-extra-tags":{db:"accepted_terms_at",json:"acceptedTermsAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},firstLoginTime:{description:"Timestamp of user's first login","x-oapi-codegen-extra-tags":{db:"first_login_time",json:"firstLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},lastLoginTime:{description:"Timestamp of user's most recent login","x-oapi-codegen-extra-tags":{db:"last_login_time",json:"lastLoginTime"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},createdAt:{description:"Timestamp when the user record was created","x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the user record was last updated","x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},socials:{type:"array",description:"Various online profiles associated with the user account","x-go-type":"UserSocials",items:{"x-go-type":"Social",description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]},"x-oapi-codegen-extra-tags":{db:"socials",json:"socials"}},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the user record was soft-deleted (null if not deleted)","x-go-type":"core.NullTime","x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},"x-go-type-skip-optional-pointer":true,items:{type:"string"},description:'Names of the global roles assigned to the user. Free-form, user-generated values sourced from the roles table (role_name is a varchar, not a fixed enumeration); the seeded system roles such as "admin", "organization admin" and "user" are a subset, not the whole set.',example:["organization admin","user"],"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}},teams:{type:"object",description:"Teams the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"teams",json:"teams"},properties:{teamsWithRoles:{type:"array",description:"Team memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"teams_with_roles",json:"teamsWithRoles"}},totalCount:{type:"integer",description:"Total number of team memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}},organizations:{type:"object",description:"Organizations the user belongs to with role information","x-oapi-codegen-extra-tags":{db:"organizations",json:"organizations"},properties:{organizationsWithRoles:{type:"array",description:"Organization memberships for the user with their assigned roles.",items:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},"x-oapi-codegen-extra-tags":{db:"organizations_with_roles",json:"organizationsWithRoles"}},totalCount:{type:"integer",description:"Total number of organization memberships returned for the user.",minimum:0,"x-oapi-codegen-extra-tags":{db:"total_count",json:"totalCount"}}}}},additionalProperties:false},UserEmailAddress:{type:"object",additionalProperties:false,description:"One email address associated with a user account. A user has exactly one primary address (mirrored in users.email) and any number of secondary addresses accumulated from account consolidation or explicit addition. Uniqueness across live addresses is enforced case-insensitively.",required:["id","userId","email","verified","isPrimary","source","createdAt","updatedAt"],properties:{id:{description:"Unique identifier for this email-address record","x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",json:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},userId:{description:"The user (users.id) this address belongs to","x-go-name":"UserID","x-oapi-codegen-extra-tags":{db:"owner",json:"userId"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},email:{type:"string",format:"email",maxLength:300,description:"The email address","x-oapi-codegen-extra-tags":{db:"email",json:"email"}},verified:{type:"boolean",default:false,description:"Whether the address was verified (per Kratos verifiable addresses) at record time","x-oapi-codegen-extra-tags":{db:"verified",json:"verified"}},isPrimary:{type:"boolean",default:false,description:"Exactly one live primary address per user; mirrors users.email","x-oapi-codegen-extra-tags":{db:"is_primary",json:"isPrimary"}},source:{type:"string",enum:["signup","consolidation","backfill","manual"],description:"How this address became associated with the account","x-oapi-codegen-extra-tags":{db:"source",json:"source"}},createdAt:{"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt"},description:"SQL null Timestamp to handle null values of time.","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}}},OrganizationWithRoles:{type:"object",additionalProperties:false,description:"An organization the user is a member of, together with the names of the roles assigned to that user within the organization. Returned as an item of User.organizations.organizationsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the organization.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the organization.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the organization.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},country:{type:"string",description:"Country associated with the organization.","x-order":4,"x-oapi-codegen-extra-tags":{db:"country",json:"country,omitempty"}},region:{type:"string",description:"Region associated with the organization.","x-order":5,"x-oapi-codegen-extra-tags":{db:"region",json:"region,omitempty"}},owner:{description:"Identifier of the organization owner.","x-order":6,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},createdAt:{description:"Timestamp when the organization was created.","x-order":7,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the organization was last updated.","x-order":8,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the organization was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":9,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this organization. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":10,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},TeamWithRoles:{type:"object",additionalProperties:false,description:"A team the user is a member of, together with the names of the roles assigned to that user within the team. Returned as an item of User.teams.teamsWithRoles. The role names are dynamic, user-generated values (no fixed enumeration).",required:["id","name","roleNames"],properties:{id:{description:"Unique identifier of the team.","x-go-name":"ID","x-order":1,"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"}},name:{type:"string",description:"Name of the team.","x-order":2,"x-oapi-codegen-extra-tags":{db:"name",json:"name,omitempty"}},description:{type:"string",description:"Human readable description of the team.","x-order":3,"x-oapi-codegen-extra-tags":{db:"description",json:"description,omitempty"}},owner:{description:"Identifier of the team owner.","x-order":4,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{type:"object",additionalProperties:true,description:"Free-form metadata associated with the team.","x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,"x-order":5,"x-oapi-codegen-extra-tags":{db:"metadata",json:"metadata,omitempty"}},createdAt:{description:"Timestamp when the team was created.","x-order":6,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp when the team was last updated.","x-order":7,"x-oapi-codegen-extra-tags":{db:"updated_at",json:"updatedAt,omitempty"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deletedAt:{type:"string",format:"date-time",nullable:true,description:"Timestamp when the team was soft-deleted (null if not deleted).","x-go-type":"core.NullTime","x-order":8,"x-oapi-codegen-extra-tags":{db:"deleted_at",json:"deletedAt,omitempty"}},roleNames:{type:"array","x-go-type":"pq.StringArray","x-go-type-import":{path:"github.com/lib/pq"},description:"Names of the roles assigned to the user within this team. Free-form, user-generated role names; not a fixed enumeration.",items:{type:"string"},"x-order":9,"x-oapi-codegen-extra-tags":{db:"role_names",json:"roleNames"}}}},Preference:{"x-generate-db-helpers":true,type:"object",required:["anonymousUsageStats","anonymousPerfResults","updatedAt","dashboardPreferences","selectedOrganizationId","selectedWorkspaceForOrganizations","usersExtensionPreferences","remoteProviderPreferences"],properties:{meshAdapters:{type:"array",items:{"x-go-type":"Adapter",type:"object",description:"Placeholder for Adapter struct definition."},description:"The mesh adapters of the preference."},grafana:{"x-go-type":"Grafana",type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},prometheus:{"x-go-type":"Prometheus",type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},loadTestPrefs:{"x-go-type":"LoadTestPreferences",type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},anonymousUsageStats:{type:"boolean",description:"The anonymous usage stats of the preference."},anonymousPerfResults:{type:"boolean",description:"The anonymous perf results of the preference."},updatedAt:{type:"string",format:"date-time",description:"Timestamp of when the resource was last updated."},dashboardPreferences:{type:"object",additionalProperties:true,description:"The dashboard preferences of the preference."},selectedOrganizationId:{type:"string",description:"ID of the associated selectedOrganization.",maxLength:500,format:"uuid"},selectedWorkspaceForOrganizations:{type:"object",additionalProperties:{type:"string"},description:"The selected workspace for organizations of the preference."},usersExtensionPreferences:{type:"object",additionalProperties:true,description:"The users extension preferences of the preference."},remoteProviderPreferences:{type:"object",additionalProperties:true,description:"The remote provider preferences of the preference."}}},Adapter:{type:"object",description:"Placeholder for Adapter struct definition."},Grafana:{type:"object",properties:{grafanaUrl:{type:"string",description:"Grafana URL for the user configuration.",maxLength:500},grafanaApiKey:{type:"string",description:"Grafana API key for the user configuration.",maxLength:500},selectedBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"Selected Grafana board configurations for the user."}}},SelectedGrafanaConfig:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},GrafanaBoard:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},Panel:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},Prometheus:{type:"object",properties:{prometheusUrl:{type:"string",description:"The prometheus URL of the prometheus.",maxLength:500},selectedPrometheusBoardsConfigs:{type:"array",items:{type:"object",properties:{board:{type:"object",description:"Placeholder for GrafanaBoard definition (define fields as needed)"},panels:{type:"array",items:{type:"object",description:"Grafana panel structure imported from github.com/grafana-tools/sdk"},description:"Panels selected for the Grafana board configuration."},templateVars:{type:"array",items:{type:"string"},description:"Template variables applied to the selected Grafana board configuration."}}},description:"The selected prometheus boards configs of the prometheus."}}},LoadTestPreferences:{type:"object",properties:{c:{type:"integer",description:"Concurrent requests",minimum:0},qps:{type:"integer",description:"Queries per second",minimum:0},t:{type:"string",description:"Duration",maxLength:500},gen:{type:"string",description:"Load generator",maxLength:500}}},Social:{description:"Various online profiles associated with the user account, like GitHub, LinkedIn, X, and so on.",type:"object",properties:{site:{type:"string",maxLength:50,description:"The site of the social."},link:{type:"string",format:"uri",description:"The link of the social."}},required:["site","link"]}}}},t=e;
2
2
  module.exports=t;