@meshery/schemas 1.3.43 → 1.3.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cloudApi.d.mts +1058 -180
- package/dist/cloudApi.d.ts +1058 -180
- package/dist/cloudApi.js +1 -1
- package/dist/cloudApi.mjs +1 -1
- package/dist/constructs/v1beta1/pattern/Pattern.d.ts +1424 -3
- package/dist/constructs/v1beta1/pattern/PatternSchema.js +49 -1
- package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +49 -1
- package/dist/constructs/v1beta2/design/Design.d.ts +1465 -3
- package/dist/constructs/v1beta2/design/DesignSchema.js +45 -1
- package/dist/constructs/v1beta2/design/DesignSchema.mjs +45 -1
- package/dist/constructs/v1beta3/design/Design.d.ts +363 -3
- package/dist/constructs/v1beta3/design/DesignSchema.js +6 -1
- package/dist/constructs/v1beta3/design/DesignSchema.mjs +6 -1
- package/dist/constructs/v1beta3/event/Event.d.ts +69 -85
- package/dist/constructs/v1beta3/event/EventSchema.js +1 -1
- package/dist/constructs/v1beta3/event/EventSchema.mjs +1 -1
- package/dist/constructs/v1beta3/subscription/Subscription.d.ts +436 -0
- package/dist/constructs/v1beta3/subscription/SubscriptionSchema.js +1 -1
- package/dist/constructs/v1beta3/subscription/SubscriptionSchema.mjs +1 -1
- package/dist/index.js +100 -8
- package/dist/index.mjs +100 -8
- package/dist/mesheryApi.d.mts +302 -70
- package/dist/mesheryApi.d.ts +302 -70
- package/dist/mesheryApi.js +1 -1
- package/dist/mesheryApi.mjs +1 -1
- package/dist/permissions.d.mts +71 -1
- package/dist/permissions.d.ts +71 -1
- package/dist/permissions.js +1 -1
- package/dist/permissions.mjs +1 -1
- package/package.json +2 -2
|
@@ -28,7 +28,12 @@ MesheryPatternImportRequestBody under multipart/form-data, which
|
|
|
28
28
|
the handler never parses; it remained wired up solely to share
|
|
29
29
|
a schema ref with /api/pattern/import. See meshery/schemas#771
|
|
30
30
|
for the drift analysis.
|
|
31
|
-
`,parameters:[{name:"designId",in:"path",description:"Design (Pattern) ID",required:true,schema:{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"}}}],requestBody:{required:true,content:{"application/octet-stream":{schema:{type:"string",format:"binary",description:"Opaque design source bytes (yaml, tarball, etc.)"}}}},responses:{200:{description:"Design source content uploaded"},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/pattern/import":{post:{"x-internal":["cloud","meshery"],tags:["designs"],summary:"Import Design",operationId:"importDesign",requestBody:{required:true,content:{"application/json":{schema:{description:"Body for POST /api/pattern/import. Consumed by the server as application/json. Exactly one of two variants must be supplied: a File Import carrying base64-encoded bytes plus a file name, or a URL Import naming a remote location the server will fetch. Sending both variants at once, or neither, is rejected with 400.",oneOf:[{type:"object",title:"File Import",description:"Upload a design file from the local system. Both `file` and `fileName` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","fileName"],properties:{file:{type:"string",format:"byte",description:"Base64-encoded file bytes. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},fileName:{type:"string",description:"The name of the pattern file being imported. Include the extension (e.g. `design.yaml`), as the server uses it to identify the file type.",maxLength:500},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}},{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}}]}}}},responses:{200:{description:"Successful Import",content:{"application/json":{schema:{type:"object",properties:{message:{type:"string"}}}}}},400:{description:"Invalid request format"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error"}}}},"/api/catalog/content/{type}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog content",operationId:"getCatalogContent",security:[],parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},{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:"type",in:"query",required:false,schema:{type:"string"}},{name:"technology",in:"query",required:false,schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"class",in:"query",required:false,schema:{type:"string"}},{name:"userId",in:"query",required:false,schema:{type:"string"}},{name:"orgId",in:"query",required:false,schema:{type:"string"}},{name:"workspaceId",in:"query",required:false,schema:{type:"string"}},{name:"teamId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Catalog content page",content:{"application/json":{schema:{type:"object",description:"Paginated catalog content listing (designs, filters, aggregate counts).",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1},totalCount:{type:"integer",description:"Total number of items available.",minimum:0},patterns:{type:"array",items:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design ID.",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","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"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},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},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
|
|
31
|
+
`,parameters:[{name:"designId",in:"path",description:"Design (Pattern) ID",required:true,schema:{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"}}}],requestBody:{required:true,content:{"application/octet-stream":{schema:{type:"string",format:"binary",description:"Opaque design source bytes (yaml, tarball, etc.)"}}}},responses:{200:{description:"Design source content uploaded"},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/pattern/import":{post:{"x-internal":["cloud","meshery"],tags:["designs"],summary:"Import Design",operationId:"importDesign",requestBody:{required:true,content:{"application/json":{schema:{description:"Body for POST /api/pattern/import. Consumed by the server as application/json. Exactly one of two variants must be supplied: a File Import carrying base64-encoded bytes plus a file name, or a URL Import naming a remote location the server will fetch. Sending both variants at once, or neither, is rejected with 400.",oneOf:[{type:"object",title:"File Import",description:"Upload a design file from the local system. Both `file` and `fileName` are required; the server uses the file name to identify the file type (Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design).",required:["file","fileName"],properties:{file:{type:"string",format:"byte",description:"Base64-encoded file bytes. Supported formats: Kubernetes Manifests, Helm Charts, Docker Compose, and Meshery Designs. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},fileName:{type:"string",description:"The name of the pattern file being imported. Include the extension (e.g. `design.yaml`), as the server uses it to identify the file type.",maxLength:500},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}},{type:"object",title:"URL Import",description:"Import a design by URL. The server will fetch the resource and derive the file type from the response.",required:["url"],properties:{url:{type:"string",format:"uri",description:"A direct URL to a single file, for example: https://raw.github.com/your-design-file.yaml. Ensure the resource is in a supported format: Kubernetes Manifest, Helm Chart, Docker Compose, or Meshery Design. See [Import Designs Documentation](https://docs.meshery.io/guides/configuration-management/importing-designs#import-designs-using-meshery-ui) for details."},name:{type:"string",default:"Untitled Design",description:"Provide a name for your design. This name will help you identify the design later. You can also change the name of your design after importing it.",minLength:1,maxLength:255}}}]}}}},responses:{200:{description:"Successful import. The response body is a JSON array of the saved designs, not a message envelope. The import path saves exactly one design, so the array carries a single element and consumers read the imported design as the first element.",content:{"application/json":{schema:{type:"array",description:"Designs persisted by the import, in the order they were saved. Always a single element on this path.",minItems:1,items:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design ID.",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","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"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},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},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
|
|
32
|
+
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"view_count",json:"viewCount,omitempty"}},downloadCount:{type:"integer",description:`Server-aggregated count of downloads of this design from the catalog. Server-managed and ignored on writes.
|
|
33
|
+
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"download_count",json:"downloadCount,omitempty"}},cloneCount:{type:"integer",description:`Server-aggregated count of times this design has been cloned from the catalog. Server-managed and ignored on writes.
|
|
34
|
+
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"clone_count",json:"cloneCount,omitempty"}},deploymentCount:{type:"integer",description:`Server-aggregated count of deployments originated from this design. Server-managed and ignored on writes.
|
|
35
|
+
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"deployment_count",json:"deploymentCount,omitempty"}},shareCount:{type:"integer",description:`Server-aggregated count of share events for this design. Server-managed and ignored on writes.
|
|
36
|
+
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"share_count",json:"shareCount,omitempty"}},createdAt:{description:"Timestamp of design creation.","x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updatedAt:{description:"Timestamp of last design modification.","x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}}},400:{description:"Invalid request format"},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error"}}}},"/api/catalog/content/{type}":{get:{"x-internal":["cloud"],tags:["designs"],summary:"Get catalog content",operationId:"getCatalogContent",security:[],parameters:[{name:"type",in:"path",required:true,schema:{type:"string"}},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of items per page (canonical camelCase form).",schema:{type:"integer",minimum:1}},{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:"type",in:"query",required:false,schema:{type:"string"}},{name:"technology",in:"query",required:false,schema:{type:"string"}},{name:"metrics",in:"query",required:false,schema:{type:"boolean"}},{name:"class",in:"query",required:false,schema:{type:"string"}},{name:"userId",in:"query",required:false,schema:{type:"string"}},{name:"orgId",in:"query",required:false,schema:{type:"string"}},{name:"workspaceId",in:"query",required:false,schema:{type:"string"}},{name:"teamId",in:"query",required:false,schema:{type:"string"}},{name:"populate",in:"query",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Catalog content page",content:{"application/json":{schema:{type:"object",description:"Paginated catalog content listing (designs, filters, aggregate counts).",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1},totalCount:{type:"integer",description:"Total number of items available.",minimum:0},patterns:{type:"array",items:{type:"object",description:"Server-returned design (pattern) resource as persisted by meshery-cloud.",properties:{id:{description:"Server-generated design ID.",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},name:{description:"Human-readable design name.",type:"string","x-go-type-skip-optional-pointer":true},catalogData:{description:"Catalog metadata attached to the design when published.","x-go-type":"catalogv1alpha2.CatalogData","x-go-type-import":{path:"github.com/meshery/schemas/models/v1alpha2/catalog",name:"catalogv1alpha2"},type:"object",additionalProperties:false,properties:{publishedVersion:{description:"Tracks the specific content version that has been made available in the Catalog.",type:"string",maxLength:500},class:{description:"Published content is classifed by its support level. Content classes help you understand the origin and expected support level for each piece of content. It is important to note that the level of support may vary within each class, and you should exercise discretion when using community-contributed content. Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable. Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility. Content produced and supported by the respective project or organization responsible for the specific technology. This class offers a level of support from the project maintainers themselves. Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Community content may have varying levels of support and reliability.",type:"string",oneOf:[{const:"official",description:"Content produced and fully supported by Meshery maintainers. This represents the highest level of support and is considered the most reliable."},{const:"verified",description:"Content produced by partners and verified by Meshery maintainers. While not directly maintained by Meshery, it has undergone a verification process to ensure quality and compatibility."},{const:"reference architecture",description:"Content produced and shared by Meshery users. This includes a wide range of content, such as performance profiles, test results, filters, patterns, and applications. Reference architecture content may have varying levels of support and reliability."}],maxLength:500},compatibility:{type:"array",title:"Model",items:{enum:["kubernetes"],type:"string"},uniqueItems:true,minItems:1,description:"One or more models associated with this catalog item. For designs, a list of one or more models implicated by components within the design. For models, this is self-referential."},patternCaveats:{type:"string",title:"Caveats and Considerations",description:"Specific stipulations to consider and known behaviors to be aware of when using this design.",maxLength:500},patternInfo:{type:"string",title:"Description",minLength:1,description:"Purpose of the design along with its intended and unintended uses."},type:{type:"string",title:"Type","x-enum-casing-exempt":true,enum:["Deployment","Observability","Resiliency","Scaling","Security","Traffic-management","Troubleshooting","Workloads"],default:"Deployment",description:"Categorization of the type of design or operational flow depicted in this design."},snapshotURL:{type:"array",items:{type:"string",format:"uri",pattern:"^(https?|http?|oci)://"},description:"Contains reference to the dark and light mode snapshots of the design."}},required:["compatibility","patternCaveats","patternInfo","type"]},userId:{description:"Owning user ID.","x-oapi-codegen-extra-tags":{db:"owner"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-type-skip-optional-pointer":true},user:{description:'Owning user record, joined inline by the catalog list/get handlers when shaping responses. Server-projected from the users table via the design\'s userId; not a column on the meshery_patterns table itself, so the generated Go field is tagged `db:"-"` to keep it out of ORM column scans.\n',nullable:true,"x-go-type":"*userV1beta.User","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta2/user",name:"userV1beta"},"x-oapi-codegen-extra-tags":{db:"-"},type:"object",required:["id","userId","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"}},userId:{type:"string",maxLength:200,deprecated:true,description:"Legacy IdP-derived identifier. Removed in v1beta3; resolve users by id or email.","x-oapi-codegen-extra-tags":{db:"user_id",json:"userId"},"x-id-format":"external"},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},location:{description:"Optional structured location metadata (branch, host, path, ...).",type:"object",additionalProperties:{type:"string"},"x-go-type-skip-optional-pointer":true},patternFile:{type:"string",description:"Raw design body as it is persisted in the meshery_patterns table's `pattern_file` column. The wire form is the YAML/JSON string the server stores verbatim; consumers that need the structured form transcode at the boundary by parsing the string into a PatternFile (see #/components/schemas/PatternFile) and marshalling it back when they write. Keeping the wire shape as a string mirrors the column's actual representation and avoids forcing every consumer through the structured-vs- string union that the previous *PatternFile typing implied.\n",maxLength:16777216,"x-oapi-codegen-extra-tags":{db:"pattern_file"}},visibility:{type:"string",description:"Visibility scope of the design \u2014 controls whether non-owners may read or list it. `private` is owner-only, `public` is readable by anyone in the org, and `published` is visible in the catalog.\n",enum:["private","public","published"],"x-enum-casing-exempt":true,maxLength:32,"x-oapi-codegen-extra-tags":{db:"visibility"}},designType:{type:"string",description:"Discriminator identifying the source format of the design body, persisted in the meshery_patterns table's `source_type` column (nullable; null for legacy rows imported before the column was introduced). For catalog listings the server may also project this field from the attached catalog metadata. Use this field to branch rendering between native Meshery designs and imported Helm charts, Kubernetes manifests, and Docker Compose files.\n","x-enum-casing-exempt":true,nullable:true,enum:["Design","Helm Chart","Docker Compose","Kubernetes Manifest"],maxLength:64,"x-oapi-codegen-extra-tags":{db:"source_type"}},sourceContent:{type:"string",format:"byte",nullable:true,description:"Raw bytes of the imported source artifact (Helm chart tarball, Kubernetes manifest, Docker Compose file, etc.) preserved in the meshery_patterns table's `source_content` column for non-Meshery-Design imports. Empty / null for native Meshery designs. Server-managed: populated by the import and upload handlers and scrubbed to null on most read responses, so clients should treat this as opaque base64-encoded bytes when it does appear on the wire.\n","x-oapi-codegen-extra-tags":{db:"source_content",json:"sourceContent,omitempty"}},viewCount:{type:"integer",description:`Server-aggregated count of views on this design in the catalog. Present on list/catalog responses; server-managed and ignored on writes.
|
|
32
37
|
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"view_count",json:"viewCount,omitempty"}},downloadCount:{type:"integer",description:`Server-aggregated count of downloads of this design from the catalog. Server-managed and ignored on writes.
|
|
33
38
|
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"download_count",json:"downloadCount,omitempty"}},cloneCount:{type:"integer",description:`Server-aggregated count of times this design has been cloned from the catalog. Server-managed and ignored on writes.
|
|
34
39
|
`,minimum:0,default:0,"x-oapi-codegen-extra-tags":{db:"clone_count",json:"cloneCount,omitempty"}},deploymentCount:{type:"integer",description:`Server-aggregated count of deployments originated from this design. Server-managed and ignored on writes.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
export interface paths {
|
|
7
|
-
"/events/{eventId}": {
|
|
7
|
+
"/api/events/{eventId}": {
|
|
8
8
|
parameters: {
|
|
9
9
|
query?: never;
|
|
10
10
|
header?: never;
|
|
@@ -21,24 +21,7 @@ export interface paths {
|
|
|
21
21
|
patch?: never;
|
|
22
22
|
trace?: never;
|
|
23
23
|
};
|
|
24
|
-
"/events": {
|
|
25
|
-
parameters: {
|
|
26
|
-
query?: never;
|
|
27
|
-
header?: never;
|
|
28
|
-
path?: never;
|
|
29
|
-
cookie?: never;
|
|
30
|
-
};
|
|
31
|
-
get?: never;
|
|
32
|
-
put?: never;
|
|
33
|
-
/** Create a new event */
|
|
34
|
-
post: operations["createEvent"];
|
|
35
|
-
delete?: never;
|
|
36
|
-
options?: never;
|
|
37
|
-
head?: never;
|
|
38
|
-
patch?: never;
|
|
39
|
-
trace?: never;
|
|
40
|
-
};
|
|
41
|
-
"/events/delete": {
|
|
24
|
+
"/api/events/delete": {
|
|
42
25
|
parameters: {
|
|
43
26
|
query?: never;
|
|
44
27
|
header?: never;
|
|
@@ -55,7 +38,7 @@ export interface paths {
|
|
|
55
38
|
patch?: never;
|
|
56
39
|
trace?: never;
|
|
57
40
|
};
|
|
58
|
-
"/events/status": {
|
|
41
|
+
"/api/events/status": {
|
|
59
42
|
parameters: {
|
|
60
43
|
query?: never;
|
|
61
44
|
header?: never;
|
|
@@ -72,7 +55,7 @@ export interface paths {
|
|
|
72
55
|
patch?: never;
|
|
73
56
|
trace?: never;
|
|
74
57
|
};
|
|
75
|
-
"/events/{eventId}/status": {
|
|
58
|
+
"/api/events/{eventId}/status": {
|
|
76
59
|
parameters: {
|
|
77
60
|
query?: never;
|
|
78
61
|
header?: never;
|
|
@@ -119,7 +102,8 @@ export interface paths {
|
|
|
119
102
|
/** Get events aggregate summary */
|
|
120
103
|
get: operations["getEventsAggregate"];
|
|
121
104
|
put?: never;
|
|
122
|
-
|
|
105
|
+
/** Create a new event */
|
|
106
|
+
post: operations["createEvent"];
|
|
123
107
|
delete?: never;
|
|
124
108
|
options?: never;
|
|
125
109
|
head?: never;
|
|
@@ -480,69 +464,6 @@ export interface operations {
|
|
|
480
464
|
};
|
|
481
465
|
};
|
|
482
466
|
};
|
|
483
|
-
createEvent: {
|
|
484
|
-
parameters: {
|
|
485
|
-
query?: never;
|
|
486
|
-
header?: never;
|
|
487
|
-
path?: never;
|
|
488
|
-
cookie?: never;
|
|
489
|
-
};
|
|
490
|
-
requestBody: {
|
|
491
|
-
content: {
|
|
492
|
-
"application/json": {
|
|
493
|
-
/**
|
|
494
|
-
* Format: uuid
|
|
495
|
-
* @description UUID of the user associated with the event.
|
|
496
|
-
*/
|
|
497
|
-
owner?: string;
|
|
498
|
-
/** @description The category of the event. */
|
|
499
|
-
category?: string;
|
|
500
|
-
/** @description The action of the event. */
|
|
501
|
-
action?: string;
|
|
502
|
-
/** @description Description of the event. */
|
|
503
|
-
description?: string;
|
|
504
|
-
} & {
|
|
505
|
-
[key: string]: unknown;
|
|
506
|
-
};
|
|
507
|
-
};
|
|
508
|
-
};
|
|
509
|
-
responses: {
|
|
510
|
-
/** @description Event created */
|
|
511
|
-
201: {
|
|
512
|
-
headers: {
|
|
513
|
-
[name: string]: unknown;
|
|
514
|
-
};
|
|
515
|
-
content?: never;
|
|
516
|
-
};
|
|
517
|
-
/** @description Invalid request body or request param */
|
|
518
|
-
400: {
|
|
519
|
-
headers: {
|
|
520
|
-
[name: string]: unknown;
|
|
521
|
-
};
|
|
522
|
-
content: {
|
|
523
|
-
"text/plain": string;
|
|
524
|
-
};
|
|
525
|
-
};
|
|
526
|
-
/** @description Expired JWT token used or insufficient privilege */
|
|
527
|
-
401: {
|
|
528
|
-
headers: {
|
|
529
|
-
[name: string]: unknown;
|
|
530
|
-
};
|
|
531
|
-
content: {
|
|
532
|
-
"text/plain": string;
|
|
533
|
-
};
|
|
534
|
-
};
|
|
535
|
-
/** @description Internal server error */
|
|
536
|
-
500: {
|
|
537
|
-
headers: {
|
|
538
|
-
[name: string]: unknown;
|
|
539
|
-
};
|
|
540
|
-
content: {
|
|
541
|
-
"text/plain": string;
|
|
542
|
-
};
|
|
543
|
-
};
|
|
544
|
-
};
|
|
545
|
-
};
|
|
546
467
|
bulkDeleteEvents: {
|
|
547
468
|
parameters: {
|
|
548
469
|
query?: never;
|
|
@@ -899,6 +820,69 @@ export interface operations {
|
|
|
899
820
|
};
|
|
900
821
|
};
|
|
901
822
|
};
|
|
823
|
+
createEvent: {
|
|
824
|
+
parameters: {
|
|
825
|
+
query?: never;
|
|
826
|
+
header?: never;
|
|
827
|
+
path?: never;
|
|
828
|
+
cookie?: never;
|
|
829
|
+
};
|
|
830
|
+
requestBody: {
|
|
831
|
+
content: {
|
|
832
|
+
"application/json": {
|
|
833
|
+
/**
|
|
834
|
+
* Format: uuid
|
|
835
|
+
* @description UUID of the user associated with the event.
|
|
836
|
+
*/
|
|
837
|
+
owner?: string;
|
|
838
|
+
/** @description The category of the event. */
|
|
839
|
+
category?: string;
|
|
840
|
+
/** @description The action of the event. */
|
|
841
|
+
action?: string;
|
|
842
|
+
/** @description Description of the event. */
|
|
843
|
+
description?: string;
|
|
844
|
+
} & {
|
|
845
|
+
[key: string]: unknown;
|
|
846
|
+
};
|
|
847
|
+
};
|
|
848
|
+
};
|
|
849
|
+
responses: {
|
|
850
|
+
/** @description Event created */
|
|
851
|
+
201: {
|
|
852
|
+
headers: {
|
|
853
|
+
[name: string]: unknown;
|
|
854
|
+
};
|
|
855
|
+
content?: never;
|
|
856
|
+
};
|
|
857
|
+
/** @description Invalid request body or request param */
|
|
858
|
+
400: {
|
|
859
|
+
headers: {
|
|
860
|
+
[name: string]: unknown;
|
|
861
|
+
};
|
|
862
|
+
content: {
|
|
863
|
+
"text/plain": string;
|
|
864
|
+
};
|
|
865
|
+
};
|
|
866
|
+
/** @description Expired JWT token used or insufficient privilege */
|
|
867
|
+
401: {
|
|
868
|
+
headers: {
|
|
869
|
+
[name: string]: unknown;
|
|
870
|
+
};
|
|
871
|
+
content: {
|
|
872
|
+
"text/plain": string;
|
|
873
|
+
};
|
|
874
|
+
};
|
|
875
|
+
/** @description Internal server error */
|
|
876
|
+
500: {
|
|
877
|
+
headers: {
|
|
878
|
+
[name: string]: unknown;
|
|
879
|
+
};
|
|
880
|
+
content: {
|
|
881
|
+
"text/plain": string;
|
|
882
|
+
};
|
|
883
|
+
};
|
|
884
|
+
};
|
|
885
|
+
};
|
|
902
886
|
getEvents: {
|
|
903
887
|
parameters: {
|
|
904
888
|
query?: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var e={openapi:"3.0.0",info:{title:"Events",description:"OpenAPI schema for Meshery events and system notifications.",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:"events",description:"APIs for Meshery Cloud events."}],paths:{"/events/{eventId}":{delete:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"deleteEvent",summary:"Delete a single event",parameters:[{name:"eventId",in:"path",description:"ID of the event.",required:true,schema:{type:"string",format:"uuid"}}],responses:{204:{description:"Event 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"}}}}}}},"/events":{post:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"createEvent",summary:"Create a new event",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a new event.",additionalProperties:true,properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3}}}}}},responses:{201:{description:"Event created"},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"}}}}}}},"/events/delete":{post:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"bulkDeleteEvents",summary:"Bulk delete events",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk-deleting events by ID.",required:["ids"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to delete."}}}}}},responses:{200:{description:"Events deleted",content:{"application/json":{schema:{type:"object",description:"Response body returned after bulk event deletion.",properties:{deleted:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events that were 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"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/events/status":{put:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"bulkUpdateEventStatus",summary:"Bulk update event status",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk-updating the status of events.",required:["ids","status"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to update."},status:{type:"string",example:"failed",description:"New status to apply to the selected events.",maxLength:255}}}}}},responses:{200:{description:"Events updated",content:{"application/json":{schema:{type:"object",description:"Response body returned after bulk event status update.",properties:{updated:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events whose status was updated."}}}}}},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"}}}}}}},"/events/{eventId}/status":{put:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"updateEventStatus",summary:"Update status of a single event",parameters:[{name:"eventId",in:"path",description:"ID of the event.",required:true,schema:{type:"string",format:"uuid"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating the status of a single event.",required:["status"],properties:{status:{type:"string",example:"completed",description:"Current status of the event.",maxLength:255}}}}}},responses:{200:{description:"Event status updated",content:{"application/json":{schema:{type:"object",description:"Response body returned after updating an event's status.",properties:{message:{type:"string",description:"Human-readable status message.",maxLength:500},eventId:{type:"string",format:"uuid",description:"UUID of the event whose status was updated.","x-oapi-codegen-extra-tags":{json:"eventId,omitempty"}},status:{type:"string",description:"Updated status of the event.",maxLength:255}}}}}},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/workspaces/{workspaceId}/events":{get:{"x-internal":["cloud"],tags:["events"],security:[{jwt:[]}],operationId:"getEventsOfWorkspace",summary:"Get workspace events",description:"Gets events for a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{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"}}],responses:{200:{description:"Workspace events",content:{"application/json":{schema:{type:"object",description:"Paginated list of events.",properties:{page:{description:"Zero-based page index returned in this response.",type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},data:{type:"array",items:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},description:"The events returned on the current page."}}}}}},400:{description:"Invalid request",content:{"application/json":{schema:{type:"object",description:"Generic error envelope returned for non-2xx responses.",properties:{error:{type:"string",description:"Human-readable error message.",maxLength:500}}}}}},401:{description:"Unauthorized"},404:{description:"Workspace not found"},500:{description:"Server error"}}}},"/api/events":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEventsAggregate",summary:"Get events aggregate summary",parameters:[{name:"cumulative",in:"query",description:"When true, return cumulative aggregate counts across all time.",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Events aggregate",content:{"application/json":{schema:{type:"object",description:"Aggregated event counts across categories.",properties:{audit:{type:"integer",description:"Count of audit-category events.",minimum:0}},additionalProperties:true}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}},"/api/events/list":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEvents",summary:"Get events list",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{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:"Events page",content:{"application/json":{schema:{type:"object",description:"Paginated list of events.",properties:{page:{description:"Zero-based page index returned in this response.",type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},data:{type:"array",items:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},description:"The events returned on the current page."}}}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}},"/api/events/summary":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEventSummaryByUser",summary:"Get event summary by user",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{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:"Event summary page",content:{"application/json":{schema:{type:"object",description:"Paginated list of per-user event summaries.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},data:{type:"array",items:{type:"object",description:"Per-user event summary entry.",additionalProperties:true},description:"The event summaries returned on the current page."}}}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}},"/api/events/types":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEventTypes",summary:"Get event types",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}}],responses:{200:{description:"Event types",content:{"application/json":{schema:{type:"array",items:{type:"object",description:"A category/action pair describing one kind of event.",properties:{category:{type:"string",description:"The category of the event type.",maxLength:500},action:{type:"string",description:"The action of the event type.",maxLength:500}}}}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}}},components:{responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},parameters:{eventId:{name:"eventId",in:"path",description:"ID of the event.",required:true,schema:{type:"string",format:"uuid"}},workspaceId:{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},pageSize:{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},pagesizeLegacy:{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},search:{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},cumulative:{name:"cumulative",in:"query",description:"When true, return cumulative aggregate counts across all time.",required:false,schema:{type:"boolean"}},filter:{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}},eventsFilter:{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{EventPayload:{type:"object",description:"Payload for creating a new event.",additionalProperties:true,properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3}}},UpdateEventStatusRequest:{type:"object",description:"Payload for updating the status of a single event.",required:["status"],properties:{status:{type:"string",example:"completed",description:"Current status of the event.",maxLength:255}}},UpdateEventStatusResponse:{type:"object",description:"Response body returned after updating an event's status.",properties:{message:{type:"string",description:"Human-readable status message.",maxLength:500},eventId:{type:"string",format:"uuid",description:"UUID of the event whose status was updated.","x-oapi-codegen-extra-tags":{json:"eventId,omitempty"}},status:{type:"string",description:"Updated status of the event.",maxLength:255}}},BulkDeleteRequest:{type:"object",description:"Payload for bulk-deleting events by ID.",required:["ids"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to delete."}}},BulkDeleteResponse:{type:"object",description:"Response body returned after bulk event deletion.",properties:{deleted:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events that were deleted."}}},BulkUpdateStatusRequest:{type:"object",description:"Payload for bulk-updating the status of events.",required:["ids","status"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to update."},status:{type:"string",example:"failed",description:"New status to apply to the selected events.",maxLength:255}}},BulkUpdateStatusResponse:{type:"object",description:"Response body returned after bulk event status update.",properties:{updated:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events whose status was updated."}}},EventResult:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},EventsPage:{type:"object",description:"Paginated list of events.",properties:{page:{description:"Zero-based page index returned in this response.",type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},data:{type:"array",items:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},description:"The events returned on the current page."}}},EventsAggregate:{type:"object",description:"Aggregated event counts across categories.",properties:{audit:{type:"integer",description:"Count of audit-category events.",minimum:0}},additionalProperties:true},EventSummary:{type:"object",description:"Per-user event summary entry.",additionalProperties:true},EventSummaryPage:{type:"object",description:"Paginated list of per-user event summaries.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},data:{type:"array",items:{type:"object",description:"Per-user event summary entry.",additionalProperties:true},description:"The event summaries returned on the current page."}}},EventType:{type:"object",description:"A category/action pair describing one kind of event.",properties:{category:{type:"string",description:"The category of the event type.",maxLength:500},action:{type:"string",description:"The action of the event type.",maxLength:500}}},ErrorResponse:{type:"object",description:"Generic error envelope returned for non-2xx responses.",properties:{error:{type:"string",description:"Human-readable error message.",maxLength:500}}}}}},t=e;
|
|
1
|
+
'use strict';var e={openapi:"3.0.0",info:{title:"Events",description:"OpenAPI schema for Meshery events and system notifications.",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:"events",description:"APIs for Meshery Cloud events."}],paths:{"/api/events/{eventId}":{delete:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"deleteEvent",summary:"Delete a single event",parameters:[{name:"eventId",in:"path",description:"ID of the event.",required:true,schema:{type:"string",format:"uuid"}}],responses:{204:{description:"Event 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"}}}}}}},"/api/events/delete":{post:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"bulkDeleteEvents",summary:"Bulk delete events",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk-deleting events by ID.",required:["ids"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to delete."}}}}}},responses:{200:{description:"Events deleted",content:{"application/json":{schema:{type:"object",description:"Response body returned after bulk event deletion.",properties:{deleted:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events that were 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"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/events/status":{put:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"bulkUpdateEventStatus",summary:"Bulk update event status",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for bulk-updating the status of events.",required:["ids","status"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to update."},status:{type:"string",example:"failed",description:"New status to apply to the selected events.",maxLength:255}}}}}},responses:{200:{description:"Events updated",content:{"application/json":{schema:{type:"object",description:"Response body returned after bulk event status update.",properties:{updated:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events whose status was updated."}}}}}},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/events/{eventId}/status":{put:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"updateEventStatus",summary:"Update status of a single event",parameters:[{name:"eventId",in:"path",description:"ID of the event.",required:true,schema:{type:"string",format:"uuid"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating the status of a single event.",required:["status"],properties:{status:{type:"string",example:"completed",description:"Current status of the event.",maxLength:255}}}}}},responses:{200:{description:"Event status updated",content:{"application/json":{schema:{type:"object",description:"Response body returned after updating an event's status.",properties:{message:{type:"string",description:"Human-readable status message.",maxLength:500},eventId:{type:"string",format:"uuid",description:"UUID of the event whose status was updated.","x-oapi-codegen-extra-tags":{json:"eventId,omitempty"}},status:{type:"string",description:"Updated status of the event.",maxLength:255}}}}}},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/workspaces/{workspaceId}/events":{get:{"x-internal":["cloud"],tags:["events"],security:[{jwt:[]}],operationId:"getEventsOfWorkspace",summary:"Get workspace events",description:"Gets events for a workspace.",parameters:[{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},{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"}}],responses:{200:{description:"Workspace events",content:{"application/json":{schema:{type:"object",description:"Paginated list of events.",properties:{page:{description:"Zero-based page index returned in this response.",type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},data:{type:"array",items:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},description:"The events returned on the current page."}}}}}},400:{description:"Invalid request",content:{"application/json":{schema:{type:"object",description:"Generic error envelope returned for non-2xx responses.",properties:{error:{type:"string",description:"Human-readable error message.",maxLength:500}}}}}},401:{description:"Unauthorized"},404:{description:"Workspace not found"},500:{description:"Server error"}}}},"/api/events":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEventsAggregate",summary:"Get events aggregate summary",parameters:[{name:"cumulative",in:"query",description:"When true, return cumulative aggregate counts across all time.",required:false,schema:{type:"boolean"}}],responses:{200:{description:"Events aggregate",content:{"application/json":{schema:{type:"object",description:"Aggregated event counts across categories.",properties:{audit:{type:"integer",description:"Count of audit-category events.",minimum:0}},additionalProperties:true}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}},post:{"x-internal":["cloud","meshery"],tags:["events"],operationId:"createEvent",summary:"Create a new event",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a new event.",additionalProperties:true,properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3}}}}}},responses:{201:{description:"Event created"},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/events/list":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEvents",summary:"Get events list",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{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:"Events page",content:{"application/json":{schema:{type:"object",description:"Paginated list of events.",properties:{page:{description:"Zero-based page index returned in this response.",type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},data:{type:"array",items:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},description:"The events returned on the current page."}}}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}},"/api/events/summary":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEventSummaryByUser",summary:"Get event summary by user",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},{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:"Event summary page",content:{"application/json":{schema:{type:"object",description:"Paginated list of per-user event summaries.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},data:{type:"array",items:{type:"object",description:"Per-user event summary entry.",additionalProperties:true},description:"The event summaries returned on the current page."}}}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}},"/api/events/types":{get:{"x-internal":["cloud"],tags:["events"],operationId:"getEventTypes",summary:"Get event types",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}}],responses:{200:{description:"Event types",content:{"application/json":{schema:{type:"array",items:{type:"object",description:"A category/action pair describing one kind of event.",properties:{category:{type:"string",description:"The category of the event type.",maxLength:500},action:{type:"string",description:"The action of the event type.",maxLength:500}}}}}}},401:{description:"Unauthorized"},404:{description:"Not found"},500:{description:"Server error"}}}}},components:{responses:{400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},parameters:{eventId:{name:"eventId",in:"path",description:"ID of the event.",required:true,schema:{type:"string",format:"uuid"}},workspaceId:{name:"workspaceId",in:"path",description:"Workspace ID",schema:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"workspace_id",json:"workspaceId"},"x-go-type-name":"WorkspaceId","x-go-type-skip-optional-pointer":true},required:true},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"integer",minimum:0}},pageSize:{name:"pageSize",in:"query",description:"Number of responses to return per page. Canonical camelCase pagination parameter; prefer this over the deprecated all-lowercase `pagesize`.",schema:{type:"integer",minimum:1}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"integer"}},pagesizeLegacy:{name:"pagesize",in:"query",description:"Get responses by pagesize. Deprecated alias of pageSize.",deprecated:true,schema:{type:"integer"}},search:{name:"search",in:"query",description:"Get responses that match search param value",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},cumulative:{name:"cumulative",in:"query",description:"When true, return cumulative aggregate counts across all time.",required:false,schema:{type:"boolean"}},filter:{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}},eventsFilter:{name:"filter",in:"query",description:"Get filtered reponses",schema:{type:"string"}}},securitySchemes:{jwt:{type:"http",scheme:"bearer",bearerFormat:"JWT"}},schemas:{EventPayload:{type:"object",description:"Payload for creating a new event.",additionalProperties:true,properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-oapi-codegen-extra-tags":{db:"owner",json:"owner,omitempty"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3}}},UpdateEventStatusRequest:{type:"object",description:"Payload for updating the status of a single event.",required:["status"],properties:{status:{type:"string",example:"completed",description:"Current status of the event.",maxLength:255}}},UpdateEventStatusResponse:{type:"object",description:"Response body returned after updating an event's status.",properties:{message:{type:"string",description:"Human-readable status message.",maxLength:500},eventId:{type:"string",format:"uuid",description:"UUID of the event whose status was updated.","x-oapi-codegen-extra-tags":{json:"eventId,omitempty"}},status:{type:"string",description:"Updated status of the event.",maxLength:255}}},BulkDeleteRequest:{type:"object",description:"Payload for bulk-deleting events by ID.",required:["ids"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to delete."}}},BulkDeleteResponse:{type:"object",description:"Response body returned after bulk event deletion.",properties:{deleted:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events that were deleted."}}},BulkUpdateStatusRequest:{type:"object",description:"Payload for bulk-updating the status of events.",required:["ids","status"],properties:{ids:{type:"array",items:{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"}},description:"UUIDs of the events to update."},status:{type:"string",example:"failed",description:"New status to apply to the selected events.",maxLength:255}}},BulkUpdateStatusResponse:{type:"object",description:"Response body returned after bulk event status update.",properties:{updated:{type:"array",items:{type:"string",format:"uuid"},description:"UUIDs of events whose status was updated."}}},EventResult:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},EventsPage:{type:"object",description:"Paginated list of events.",properties:{page:{description:"Zero-based page index returned in this response.",type:"integer","x-go-type-skip-optional-pointer":true},pageSize:{description:"Maximum number of items returned on each page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},totalCount:{description:"Total number of items across all pages.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"},type:"integer","x-go-type-skip-optional-pointer":true},data:{type:"array",items:{type:"object",additionalProperties:false,description:"EventResult entity schema.",properties:{owner:{type:"string",format:"uuid",description:"UUID of the user associated with the event.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-go-name":"Owner","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"owner",json:"owner"}},systemId:{type:"string",description:"System identifier of the event source.",maxLength:255,"x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"system_id",json:"systemId"}},category:{type:"string",description:"The category of the event.",maxLength:500},action:{type:"string",description:"The action of the event.",maxLength:500},description:{type:"string",description:"Description of the event.",maxLength:5e3},firstName:{type:"string",description:"The first name of the user associated with the event.",maxLength:500},lastName:{type:"string",description:"The last name of the user associated with the event.",maxLength:500},email:{description:"Email address of the user associated with the event.",type:"string",format:"email","x-go-type-skip-optional-pointer":true},provider:{description:"Authentication provider of the user associated with the event.",type:"string","x-go-type-skip-optional-pointer":true},createdAt:{type:"string",format:"date-time",description:"Timestamp when the event was recorded.","x-go-type":"time.Time","x-go-type-skip-optional-pointer":true,"x-oapi-codegen-extra-tags":{db:"created_at",json:"createdAt"}}},required:["owner","category","action"]},description:"The events returned on the current page."}}},EventsAggregate:{type:"object",description:"Aggregated event counts across categories.",properties:{audit:{type:"integer",description:"Count of audit-category events.",minimum:0}},additionalProperties:true},EventSummary:{type:"object",description:"Per-user event summary entry.",additionalProperties:true},EventSummaryPage:{type:"object",description:"Paginated list of per-user event summaries.",properties:{page:{type:"integer",description:"Current page number of the result set.",minimum:0},pageSize:{type:"integer",description:"Number of items per page.",minimum:1,"x-oapi-codegen-extra-tags":{json:"pageSize,omitempty"}},totalCount:{type:"integer",description:"Total number of items available.",minimum:0,"x-oapi-codegen-extra-tags":{json:"totalCount,omitempty"}},data:{type:"array",items:{type:"object",description:"Per-user event summary entry.",additionalProperties:true},description:"The event summaries returned on the current page."}}},EventType:{type:"object",description:"A category/action pair describing one kind of event.",properties:{category:{type:"string",description:"The category of the event type.",maxLength:500},action:{type:"string",description:"The action of the event type.",maxLength:500}}},ErrorResponse:{type:"object",description:"Generic error envelope returned for non-2xx responses.",properties:{error:{type:"string",description:"Human-readable error message.",maxLength:500}}}}}},t=e;
|
|
2
2
|
module.exports=t;
|