@meshery/schemas 0.8.126 → 0.8.128

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/{Core-Wy_3jcVT.d.mts → Core-vaTzd8cz.d.mts} +4 -2
  2. package/dist/{Core-Wy_3jcVT.d.ts → Core-vaTzd8cz.d.ts} +4 -2
  3. package/dist/cloudApi.d.mts +643 -631
  4. package/dist/cloudApi.d.ts +643 -631
  5. package/dist/cloudApi.js +1 -1
  6. package/dist/cloudApi.mjs +1 -1
  7. package/dist/constructs/v1alpha1/capability/Capability.d.mts +3 -1
  8. package/dist/constructs/v1alpha1/capability/Capability.d.ts +3 -1
  9. package/dist/constructs/v1alpha1/capability/CapabilitySchema.d.mts +14 -4
  10. package/dist/constructs/v1alpha1/capability/CapabilitySchema.d.ts +14 -4
  11. package/dist/constructs/v1alpha1/capability/CapabilitySchema.js +1 -1
  12. package/dist/constructs/v1alpha1/capability/CapabilitySchema.mjs +1 -1
  13. package/dist/constructs/v1alpha1/core/Core.d.mts +1 -1
  14. package/dist/constructs/v1alpha1/core/Core.d.ts +1 -1
  15. package/dist/constructs/v1alpha1/core/CoreSchema.d.mts +14 -5
  16. package/dist/constructs/v1alpha1/core/CoreSchema.d.ts +14 -5
  17. package/dist/constructs/v1alpha1/core/CoreSchema.js +1 -1
  18. package/dist/constructs/v1alpha1/core/CoreSchema.mjs +1 -1
  19. package/dist/constructs/v1alpha2/catalog/CatalogSchema.d.mts +12 -2
  20. package/dist/constructs/v1alpha2/catalog/CatalogSchema.d.ts +12 -2
  21. package/dist/constructs/v1alpha2/catalog/CatalogSchema.js +1 -1
  22. package/dist/constructs/v1alpha2/catalog/CatalogSchema.mjs +1 -1
  23. package/dist/constructs/v1alpha3/relationship/Relationship.d.mts +6 -2
  24. package/dist/constructs/v1alpha3/relationship/Relationship.d.ts +6 -2
  25. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.d.mts +16 -6
  26. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.d.ts +16 -6
  27. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.js +1 -1
  28. package/dist/constructs/v1alpha3/relationship/RelationshipSchema.mjs +1 -1
  29. package/dist/constructs/v1beta1/academy/AcademySchema.d.mts +11 -1
  30. package/dist/constructs/v1beta1/academy/AcademySchema.d.ts +11 -1
  31. package/dist/constructs/v1beta1/academy/AcademySchema.js +1 -1
  32. package/dist/constructs/v1beta1/academy/AcademySchema.mjs +1 -1
  33. package/dist/constructs/v1beta1/badge/BadgeSchema.d.mts +11 -2
  34. package/dist/constructs/v1beta1/badge/BadgeSchema.d.ts +11 -2
  35. package/dist/constructs/v1beta1/badge/BadgeSchema.js +1 -1
  36. package/dist/constructs/v1beta1/badge/BadgeSchema.mjs +1 -1
  37. package/dist/constructs/v1beta1/category/CategorySchema.d.mts +12 -2
  38. package/dist/constructs/v1beta1/category/CategorySchema.d.ts +12 -2
  39. package/dist/constructs/v1beta1/category/CategorySchema.js +1 -1
  40. package/dist/constructs/v1beta1/category/CategorySchema.mjs +1 -1
  41. package/dist/constructs/v1beta1/component/Component.d.mts +28 -5
  42. package/dist/constructs/v1beta1/component/Component.d.ts +28 -5
  43. package/dist/constructs/v1beta1/component/ComponentSchema.d.mts +46 -21
  44. package/dist/constructs/v1beta1/component/ComponentSchema.d.ts +46 -21
  45. package/dist/constructs/v1beta1/component/ComponentSchema.js +2 -2
  46. package/dist/constructs/v1beta1/component/ComponentSchema.mjs +2 -2
  47. package/dist/constructs/v1beta1/connection/Connection.d.mts +96 -6
  48. package/dist/constructs/v1beta1/connection/Connection.d.ts +96 -6
  49. package/dist/constructs/v1beta1/connection/ConnectionSchema.d.mts +166 -76
  50. package/dist/constructs/v1beta1/connection/ConnectionSchema.d.ts +166 -76
  51. package/dist/constructs/v1beta1/connection/ConnectionSchema.js +1 -1
  52. package/dist/constructs/v1beta1/connection/ConnectionSchema.mjs +1 -1
  53. package/dist/constructs/v1beta1/environment/Environment.d.mts +52 -0
  54. package/dist/constructs/v1beta1/environment/Environment.d.ts +52 -0
  55. package/dist/constructs/v1beta1/environment/EnvironmentSchema.d.mts +107 -47
  56. package/dist/constructs/v1beta1/environment/EnvironmentSchema.d.ts +107 -47
  57. package/dist/constructs/v1beta1/environment/EnvironmentSchema.js +1 -1
  58. package/dist/constructs/v1beta1/environment/EnvironmentSchema.mjs +1 -1
  59. package/dist/constructs/v1beta1/evaluation/Evaluation.d.mts +148 -32
  60. package/dist/constructs/v1beta1/evaluation/Evaluation.d.ts +148 -32
  61. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.d.mts +172 -103
  62. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.d.ts +172 -103
  63. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.js +12 -12
  64. package/dist/constructs/v1beta1/evaluation/EvaluationSchema.mjs +12 -12
  65. package/dist/constructs/v1beta1/event/EventSchema.d.mts +12 -2
  66. package/dist/constructs/v1beta1/event/EventSchema.d.ts +12 -2
  67. package/dist/constructs/v1beta1/event/EventSchema.js +2 -1
  68. package/dist/constructs/v1beta1/event/EventSchema.mjs +2 -1
  69. package/dist/constructs/v1beta1/feature/FeatureSchema.d.mts +11 -2
  70. package/dist/constructs/v1beta1/feature/FeatureSchema.d.ts +11 -2
  71. package/dist/constructs/v1beta1/feature/FeatureSchema.js +2 -1
  72. package/dist/constructs/v1beta1/feature/FeatureSchema.mjs +2 -1
  73. package/dist/constructs/v1beta1/invitation/InvitationSchema.d.mts +11 -2
  74. package/dist/constructs/v1beta1/invitation/InvitationSchema.d.ts +11 -2
  75. package/dist/constructs/v1beta1/invitation/InvitationSchema.js +2 -1
  76. package/dist/constructs/v1beta1/invitation/InvitationSchema.mjs +2 -1
  77. package/dist/constructs/v1beta1/key/KeySchema.d.mts +12 -2
  78. package/dist/constructs/v1beta1/key/KeySchema.d.ts +12 -2
  79. package/dist/constructs/v1beta1/key/KeySchema.js +2 -1
  80. package/dist/constructs/v1beta1/key/KeySchema.mjs +2 -1
  81. package/dist/constructs/v1beta1/keychain/KeychainSchema.d.mts +12 -2
  82. package/dist/constructs/v1beta1/keychain/KeychainSchema.d.ts +12 -2
  83. package/dist/constructs/v1beta1/keychain/KeychainSchema.js +2 -1
  84. package/dist/constructs/v1beta1/keychain/KeychainSchema.mjs +2 -1
  85. package/dist/constructs/v1beta1/model/Model.d.mts +22 -3
  86. package/dist/constructs/v1beta1/model/Model.d.ts +22 -3
  87. package/dist/constructs/v1beta1/model/ModelSchema.d.mts +42 -17
  88. package/dist/constructs/v1beta1/model/ModelSchema.d.ts +42 -17
  89. package/dist/constructs/v1beta1/model/ModelSchema.js +2 -2
  90. package/dist/constructs/v1beta1/model/ModelSchema.mjs +2 -2
  91. package/dist/constructs/v1beta1/organization/OrganizationSchema.d.mts +11 -1
  92. package/dist/constructs/v1beta1/organization/OrganizationSchema.d.ts +11 -1
  93. package/dist/constructs/v1beta1/organization/OrganizationSchema.js +2 -1
  94. package/dist/constructs/v1beta1/organization/OrganizationSchema.mjs +2 -1
  95. package/dist/constructs/v1beta1/pattern/Pattern.d.mts +148 -32
  96. package/dist/constructs/v1beta1/pattern/Pattern.d.ts +148 -32
  97. package/dist/constructs/v1beta1/pattern/PatternSchema.d.mts +172 -102
  98. package/dist/constructs/v1beta1/pattern/PatternSchema.d.ts +172 -102
  99. package/dist/constructs/v1beta1/pattern/PatternSchema.js +12 -12
  100. package/dist/constructs/v1beta1/pattern/PatternSchema.mjs +12 -12
  101. package/dist/constructs/v1beta1/plan/PlanSchema.d.mts +12 -2
  102. package/dist/constructs/v1beta1/plan/PlanSchema.d.ts +12 -2
  103. package/dist/constructs/v1beta1/plan/PlanSchema.js +2 -1
  104. package/dist/constructs/v1beta1/plan/PlanSchema.mjs +2 -1
  105. package/dist/constructs/v1beta1/subcategory/SubcategorySchema.d.mts +11 -1
  106. package/dist/constructs/v1beta1/subcategory/SubcategorySchema.d.ts +11 -1
  107. package/dist/constructs/v1beta1/subcategory/SubcategorySchema.js +1 -1
  108. package/dist/constructs/v1beta1/subcategory/SubcategorySchema.mjs +1 -1
  109. package/dist/constructs/v1beta1/subscription/SubscriptionSchema.d.mts +11 -2
  110. package/dist/constructs/v1beta1/subscription/SubscriptionSchema.d.ts +11 -2
  111. package/dist/constructs/v1beta1/subscription/SubscriptionSchema.js +1 -1
  112. package/dist/constructs/v1beta1/subscription/SubscriptionSchema.mjs +1 -1
  113. package/dist/constructs/v1beta1/team/TeamSchema.d.mts +9 -3
  114. package/dist/constructs/v1beta1/team/TeamSchema.d.ts +9 -3
  115. package/dist/constructs/v1beta1/team/TeamSchema.js +1 -1
  116. package/dist/constructs/v1beta1/team/TeamSchema.mjs +1 -1
  117. package/dist/constructs/v1beta1/user/UserSchema.d.mts +12 -2
  118. package/dist/constructs/v1beta1/user/UserSchema.d.ts +12 -2
  119. package/dist/constructs/v1beta1/user/UserSchema.js +2 -1
  120. package/dist/constructs/v1beta1/user/UserSchema.mjs +2 -1
  121. package/dist/constructs/v1beta1/workspace/WorkspaceSchema.d.mts +9 -3
  122. package/dist/constructs/v1beta1/workspace/WorkspaceSchema.d.ts +9 -3
  123. package/dist/constructs/v1beta1/workspace/WorkspaceSchema.js +1 -1
  124. package/dist/constructs/v1beta1/workspace/WorkspaceSchema.mjs +1 -1
  125. package/dist/index.d.mts +1 -1
  126. package/dist/index.d.ts +1 -1
  127. package/dist/index.js +17 -17
  128. package/dist/index.mjs +17 -17
  129. package/dist/mesheryApi.d.mts +1996 -170
  130. package/dist/mesheryApi.d.ts +1996 -170
  131. package/dist/mesheryApi.js +1 -1
  132. package/dist/mesheryApi.mjs +1 -1
  133. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- var e={openapi:"3.0.0",info:{title:"subscription",description:"API for managing subscriptions using various payment processors in a SaaS application.",version:"1.0.0"},servers:[{url:"http://localhost:8080",description:"Local development server"}],tags:[{name:"Subscriptions",description:"Operations related to subscriptions"},{name:"Plans",description:"Operations related to plans"},{name:"Payment Processors",description:"Operations related to payment processors"}],paths:{"/api/entitlement/subscriptions":{get:{"x-internal":["cloud"],tags:["subscription"],description:"Returns all subscriptions for the organization",operationId:"getSubscriptions",summary:"Read subscriptions",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"status",in:"query",description:"Filter subscriptions by status",required:false,schema:{type:"array",items:{type:"string"}},style:"form",explode:true}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["page","page_size","total_count","subscriptions"],properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},subscriptions:{type:"array",items:{"x-go-type":"Subscription",type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}}}},description:"Get subscription response"},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/entitlement/subscriptions/{subscriptionId}/cancel":{post:{"x-internal":["cloud"],summary:"Cancel an existing subscription . The subscription will remain active until the end of the billing period and then it will be canceled.",parameters:[{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["page","page_size","total_count","subscriptions"],properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},subscriptions:{type:"array",items:{"x-go-type":"Subscription",type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/create":{post:{"x-internal":["cloud"],summary:"Create a new subscription for an organization",requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{org_id:{type:"string",description:"Organization ID"},plan_id:{type:"string",description:"Price ID from the payment processor"},coupon_id:{type:"string",description:"Coupon ID to apply"},user_count:{type:"integer",description:"Number of users in the organization"},email:{type:"string",format:"email",description:"Email of the customer"},payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}}}}},responses:{200:{description:"A new subscription has been created",content:{"application/json":{schema:{type:"object",properties:{subscription_id:{type:"string"},clientSecret:{type:"string"}}}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/{subscriptionId}/upgrade":{post:{"x-internal":["cloud"],summary:"Upgrade or downgrade an existing subscription by changing one of the plans in the subscription",parameters:[{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{old_plan_id:{description:"Old Plan id that is being changed",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},new_plan_id:{description:"New Plan id that is being changed to",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}}}}},responses:{200:{content:{"application/json":{schema:{type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/{subscriptionId}/upgradePreview":{post:{"x-internal":["cloud"],summary:"Preview the invoice for upgrading or downgrading an existing subscription by changing one of the plans in the subscription",parameters:[{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{old_plan_id:{description:"Old Plan id that is being changed",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},new_plan_id:{description:"New Plan id that is being changed to",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}}}}},responses:{200:{description:"Preview of the upgraded subscription invoice",content:{"application/json":{schema:{type:"object"}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/webhooks":{post:{"x-internal":["cloud"],summary:"Handle webhook events from payment processors",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for webhook events from payment processors"}}}},responses:{200:{description:"Webhook processed successfully"},400:{description:"Invalid webhook event"}}}}},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"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},parameters:{subscriptionId:{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},pagesizeWithAll:{name:"pagesize",in:"query",description:"Get responses by pagesize (pass all to get all responses)",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}}},schemas:{PaymentProcessor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"},CreateSubscriptionRequest:{type:"object",properties:{org_id:{type:"string",description:"Organization ID"},plan_id:{type:"string",description:"Price ID from the payment processor"},coupon_id:{type:"string",description:"Coupon ID to apply"},user_count:{type:"integer",description:"Number of users in the organization"},email:{type:"string",format:"email",description:"Email of the customer"},payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}},UpgradeSubscriptionRequest:{type:"object",properties:{old_plan_id:{description:"Old Plan id that is being changed",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},new_plan_id:{description:"New Plan id that is being changed to",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}},CreateSubscriptionResponse:{type:"object",properties:{subscription_id:{type:"string"},clientSecret:{type:"string"}}},UpdateUsersRequest:{type:"object",properties:{payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}},CancelSubscriptionRequest:{type:"object",properties:{subscription_id:{type:"string",description:"Subscription ID from the payment processor"},payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}},WebhookEvent:{type:"object",description:"Payload for webhook events from payment processors"},SubscriptionPage:{type:"object",required:["page","page_size","total_count","subscriptions"],properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},subscriptions:{type:"array",items:{"x-go-type":"Subscription",type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}},Subscription:{type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]},SubscriptionStatus:{type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}}}}},t=e;
1
+ var e={openapi:"3.0.0",info:{title:"Subscription",description:"API for managing subscriptions using various payment processors in a SaaS application.",version:"v1beta1",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},servers:[{url:"http://localhost:8080",description:"Local development server"}],tags:[{name:"Subscriptions",description:"Operations related to subscriptions"},{name:"Plans",description:"Operations related to plans"},{name:"Payment Processors",description:"Operations related to payment processors"}],paths:{"/api/entitlement/subscriptions":{get:{"x-internal":["cloud"],tags:["subscription"],description:"Returns all subscriptions for the organization",operationId:"getSubscriptions",summary:"Read subscriptions",parameters:[{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}},{name:"status",in:"query",description:"Filter subscriptions by status",required:false,schema:{type:"array",items:{type:"string"}},style:"form",explode:true}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["page","page_size","total_count","subscriptions"],properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},subscriptions:{type:"array",items:{"x-go-type":"Subscription",type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}}}},description:"Get subscription response"},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/entitlement/subscriptions/{subscriptionId}/cancel":{post:{"x-internal":["cloud"],summary:"Cancel an existing subscription . The subscription will remain active until the end of the billing period and then it will be canceled.",parameters:[{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}}],responses:{200:{content:{"application/json":{schema:{type:"object",required:["page","page_size","total_count","subscriptions"],properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},subscriptions:{type:"array",items:{"x-go-type":"Subscription",type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/create":{post:{"x-internal":["cloud"],summary:"Create a new subscription for an organization",requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{org_id:{type:"string",description:"Organization ID"},plan_id:{type:"string",description:"Price ID from the payment processor"},coupon_id:{type:"string",description:"Coupon ID to apply"},user_count:{type:"integer",description:"Number of users in the organization"},email:{type:"string",format:"email",description:"Email of the customer"},payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}}}}},responses:{200:{description:"A new subscription has been created",content:{"application/json":{schema:{type:"object",properties:{subscription_id:{type:"string"},clientSecret:{type:"string"}}}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/{subscriptionId}/upgrade":{post:{"x-internal":["cloud"],summary:"Upgrade or downgrade an existing subscription by changing one of the plans in the subscription",parameters:[{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{old_plan_id:{description:"Old Plan id that is being changed",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},new_plan_id:{description:"New Plan id that is being changed to",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}}}}},responses:{200:{content:{"application/json":{schema:{type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/{subscriptionId}/upgradePreview":{post:{"x-internal":["cloud"],summary:"Preview the invoice for upgrading or downgrading an existing subscription by changing one of the plans in the subscription",parameters:[{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}}],requestBody:{required:true,content:{"application/json":{schema:{type:"object",properties:{old_plan_id:{description:"Old Plan id that is being changed",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},new_plan_id:{description:"New Plan id that is being changed to",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}}}}},responses:{200:{description:"Preview of the upgraded subscription invoice",content:{"application/json":{schema:{type:"object"}}}},400:{description:"Invalid request"},500:{description:"Internal server error"}}}},"/api/entitlement/subscriptions/webhooks":{post:{"x-internal":["cloud"],summary:"Handle webhook events from payment processors",requestBody:{required:true,content:{"application/json":{schema:{type:"object",description:"Payload for webhook events from payment processors"}}}},responses:{200:{description:"Webhook processed successfully"},400:{description:"Invalid webhook event"}}}}},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"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}},parameters:{subscriptionId:{name:"subscriptionId",in:"path",required:true,description:"Subscription ID",schema:{type:"string"}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}},pagesizeWithAll:{name:"pagesize",in:"query",description:"Get responses by pagesize (pass all to get all responses)",schema:{type:"string"}},order:{name:"order",in:"query",description:"Get ordered responses",schema:{type:"string"}}},schemas:{PaymentProcessor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"},CreateSubscriptionRequest:{type:"object",properties:{org_id:{type:"string",description:"Organization ID"},plan_id:{type:"string",description:"Price ID from the payment processor"},coupon_id:{type:"string",description:"Coupon ID to apply"},user_count:{type:"integer",description:"Number of users in the organization"},email:{type:"string",format:"email",description:"Email of the customer"},payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}},UpgradeSubscriptionRequest:{type:"object",properties:{old_plan_id:{description:"Old Plan id that is being changed",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},new_plan_id:{description:"New Plan id that is being changed to",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}}}},CreateSubscriptionResponse:{type:"object",properties:{subscription_id:{type:"string"},clientSecret:{type:"string"}}},UpdateUsersRequest:{type:"object",properties:{payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}},CancelSubscriptionRequest:{type:"object",properties:{subscription_id:{type:"string",description:"Subscription ID from the payment processor"},payment_processor:{type:"string",enum:["stripe","paypal","braintree"],description:"Supported payment processors"}}},WebhookEvent:{type:"object",description:"Payload for webhook events from payment processors"},SubscriptionPage:{type:"object",required:["page","page_size","total_count","subscriptions"],properties:{page:{type:"integer"},page_size:{type:"integer"},total_count:{type:"integer"},subscriptions:{type:"array",items:{"x-go-type":"Subscription",type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]}}}},Subscription:{type:"object",properties:{ID:{"x-oapi-codegen-extra-tags":{db:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},org_id:{"x-oapi-codegen-extra-tags":{db:"org_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan_id:{"x-oapi-codegen-extra-tags":{db:"plan_id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},plan:{"x-go-type":"plan.Plan","x-go-type-import":{path:"github.com/meshery/schemas/models/v1beta1/plan"},"x-oapi-codegen-extra-tags":{belongs_to:"plans",fk_id:"PlanId",yaml:"plan,omitempty",json:"plan,omitempty"},type:"object",properties:{id:{"x-oapi-codegen-extra-tags":{db:"id",json:"id",csv:"id"},type:"string",format:"uuid",description:"A Universally Unique Identifier used to uniquely identify entities in Meshery. The UUID core definition is used across different schemas.","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{type:"string","x-go-type":"PlanName","x-oapi-codegen-extra-tags":{db:"name",json:"name",csv:"name"},description:"Name of the plan",enum:["Free","Team Designer","Team Operator","Enterprise"]},cadence:{"x-go-type":"PlanCadence","x-oapi-codegen-extra-tags":{db:"cadence",json:"cadence",csv:"cadence"},type:"string",enum:["monthly","yearly"]},unit:{"x-go-type":"PlanUnit","x-oapi-codegen-extra-tags":{db:"unit",json:"unit",csv:"unit"},type:"string",enum:["user","free"]},minimum_units:{type:"integer",description:"Minimum number of units required for the plan","x-oapi-codegen-extra-tags":{db:"minimum_units",json:"minimum_units",csv:"minimum_units"}},price_per_unit:{type:"number",description:"Price per unit of the plan","x-oapi-codegen-extra-tags":{db:"price_per_unit",json:"price_per_unit",csv:"price_per_unit"}},currency:{"x-go-type":"Currency","x-oapi-codegen-extra-tags":{db:"currency",json:"currency",csv:"currency"},type:"string",enum:["usd"]}},required:["id","name","cadence","unit","price_per_unit","minimum_units","price_id","currency"]},quantity:{decscription:"number of units subscribed (eg number of users)",type:"integer","x-oapi-codegen-extra-tags":{db:"quantity"}},start_date:{"x-oapi-codegen-extra-tags":{db:"start_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},end_date:{"x-oapi-codegen-extra-tags":{db:"end_date"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},status:{"x-go-type":"SubscriptionStatus","x-oapi-codegen-extra-tags":{db:"status"},type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at"},type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at"},type:"string",format:"date-time","x-go-type":"sql.NullTime","x-go-type-import":{path:"database/sql"},"x-go-type-skip-optional-pointer":true},billing_id:{type:"string",description:"Billing ID of the subscription. This is the ID of the subscription in the billing system. eg Stripe","x-oapi-codegen-extra-tags":{db:"billing_id"}}},required:["ID","org_id","plan_id","billing_id","status","quantity"]},SubscriptionStatus:{type:"string",description:"Possible statuses of a Stripe subscription.",enum:["incomplete","incomplete_expired","trialing","active","past_due","canceled","unpaid"],"x-enumDescriptions":{incomplete:"The subscription has been created, but the initial payment is pending. It may transition to 'active' or 'incomplete_expired'.",incomplete_expired:"The subscription was created but never activated due to failed initial payment. It is now expired.",trialing:"The subscription is currently in a trial period before the first payment is due.",active:"The subscription is active, and billing is functioning normally.",past_due:"The latest payment attempt failed, but the subscription remains active. Stripe may retry the charge.",canceled:"The subscription has been canceled and will no longer generate invoices.",unpaid:"The subscription is still technically active but has unpaid invoices and is no longer generating new invoices."}}}}},t=e;
2
2
  export{t as default};
@@ -5,12 +5,18 @@
5
5
  declare const TeamSchema: {
6
6
  readonly openapi: "3.0.0";
7
7
  readonly info: {
8
- readonly title: "team";
9
- readonly description: "Documentation for Meshery Cloud REST APIs for Teams";
8
+ readonly title: "Team";
9
+ readonly description: "OpenAPI schema for team management in Meshery Cloud.";
10
+ readonly version: "v1beta1";
10
11
  readonly contact: {
12
+ readonly name: "Meshery Maintainers";
11
13
  readonly email: "maintainers@meshery.io";
14
+ readonly url: "https://meshery.io";
15
+ };
16
+ readonly license: {
17
+ readonly name: "Apache 2.0";
18
+ readonly url: "https://www.apache.org/licenses/LICENSE-2.0.html";
12
19
  };
13
- readonly version: "v1beta1";
14
20
  };
15
21
  readonly servers: readonly [{
16
22
  readonly url: "https://cloud.meshery.io";
@@ -5,12 +5,18 @@
5
5
  declare const TeamSchema: {
6
6
  readonly openapi: "3.0.0";
7
7
  readonly info: {
8
- readonly title: "team";
9
- readonly description: "Documentation for Meshery Cloud REST APIs for Teams";
8
+ readonly title: "Team";
9
+ readonly description: "OpenAPI schema for team management in Meshery Cloud.";
10
+ readonly version: "v1beta1";
10
11
  readonly contact: {
12
+ readonly name: "Meshery Maintainers";
11
13
  readonly email: "maintainers@meshery.io";
14
+ readonly url: "https://meshery.io";
15
+ };
16
+ readonly license: {
17
+ readonly name: "Apache 2.0";
18
+ readonly url: "https://www.apache.org/licenses/LICENSE-2.0.html";
12
19
  };
13
- readonly version: "v1beta1";
14
20
  };
15
21
  readonly servers: readonly [{
16
22
  readonly url: "https://cloud.meshery.io";
@@ -1,2 +1,2 @@
1
- 'use strict';var e={openapi:"3.0.0",info:{title:"team",description:"Documentation for Meshery Cloud REST APIs for Teams",contact:{email:"maintainers@meshery.io"},version:"v1beta1"},servers:[{url:"https://cloud.meshery.io",description:"Meshery Cloud production server URL"},{url:"https://staging-cloud.meshery.io",description:"Meshery Cloud staging server URL"},{url:"http://localhost:9876",description:"Meshery Cloud development server URL (controlled via PORT environment variable)"}],security:[{jwt:[]}],tags:[{name:"teams",description:"A Team is a group of one or more users. Teams are used for assigning permissions in organizations and workspaces. Learn more at https://docs.meshery.io/concepts/logical/teams"}],components:{responses:{200:{description:"ok",content:{"text/plain":{schema:{type:"string"}}}},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:{teamId:{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},orgId:{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},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"}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}},securitySchemes:{jwt:{type:"http",scheme:"Bearer",bearerFormat:"JWT"}},schemas:{team:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},teamPayload:{type:"object",description:"Payload for creating a new team",required:["name"],properties:{name:{description:"Team name. Provide a meaningful name that represents this team.",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"A detailed description of the team's purpose and responsibilities.",type:"string","x-go-type-skip-optional-pointer":true}}},teamUpdatePayload:{type:"object",description:"Payload for updating an existing team",properties:{name:{description:"Updated team name",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"Updated team description",type:"string","x-go-type-skip-optional-pointer":true}}},teamPage:{type:"object",description:"Paginated list of teams",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Team",$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},teamsUsersMapping:{type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}},teamsUsersMappingPage:{type:"object",description:"Paginated list of team-user mappings",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams_users_mapping:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"TeamsUsersMapping",type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}}},requestBodies:{teamPayload:{description:"Body for creating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a new team",required:["name"],properties:{name:{description:"Team name. Provide a meaningful name that represents this team.",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"A detailed description of the team's purpose and responsibilities.",type:"string","x-go-type-skip-optional-pointer":true}}}}}},teamUpdatePayload:{description:"Body for updating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating an existing team",properties:{name:{description:"Updated team name",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"Updated team description",type:"string","x-go-type-skip-optional-pointer":true}}}}}}}},paths:{"/api/identity/orgs/{orgId}/teams":{get:{tags:["teams"],operationId:"GetTeams",summary:"Get all teams for an organization",description:"Gets all teams within an organization",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{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:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}],responses:{200:{description:"Teams",content:{"application/json":{schema:{type:"object",description:"Paginated list of teams",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Team",$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{tags:["teams"],operationId:"CreateTeam",summary:"Create a team",description:"Creates a new team within an organization",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true}],requestBody:{description:"Body for creating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a new team",required:["name"],properties:{name:{description:"Team name. Provide a meaningful name that represents this team.",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"A detailed description of the team's purpose and responsibilities.",type:"string","x-go-type-skip-optional-pointer":true}}}}}},responses:{201:{description:"Created team",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/teams/{teamId}":{get:{tags:["teams"],operationId:"GetTeamByID",summary:"Get a team by ID",description:"Gets a team by its ID",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Team",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{tags:["teams"],operationId:"UpdateTeam",summary:"Update a team",description:"Updates a team's information",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],requestBody:{description:"Body for updating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating an existing team",properties:{name:{description:"Updated team name",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"Updated team description",type:"string","x-go-type-skip-optional-pointer":true}}}}}},responses:{200:{description:"Updated team",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{tags:["teams"],operationId:"DeleteTeam",summary:"Delete a team",description:"Deletes a team by its ID",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Team deleted successfully"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/teams/{teamId}/users":{get:{tags:["teams"],operationId:"GetTeamUsers",summary:"Get all users in a team",description:"Gets all users that belong to a team",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},{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:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}],responses:{200:{description:"Team users mapping",content:{"application/json":{schema:{type:"object",description:"Paginated list of team-user mappings",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams_users_mapping:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"TeamsUsersMapping",type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/teams/{teamId}/users/{userId}":{post:{tags:["teams"],operationId:"AddUserToTeam",summary:"Add a user to a team",description:"Assigns a user to a team",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},{name:"userId",in:"path",description:"User ID",schema:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"User added to team",content:{"application/json":{schema:{type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{tags:["teams"],operationId:"RemoveUserFromTeam",summary:"Remove a user from a team",description:"Unassigns a user from a team",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},{name:"userId",in:"path",description:"User ID",schema:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"User removed from team",content:{"application/json":{schema:{type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}}},t=e;
1
+ 'use strict';var e={openapi:"3.0.0",info:{title:"Team",description:"OpenAPI schema for team management in Meshery Cloud.",version:"v1beta1",contact:{name:"Meshery Maintainers",email:"maintainers@meshery.io",url:"https://meshery.io"},license:{name:"Apache 2.0",url:"https://www.apache.org/licenses/LICENSE-2.0.html"}},servers:[{url:"https://cloud.meshery.io",description:"Meshery Cloud production server URL"},{url:"https://staging-cloud.meshery.io",description:"Meshery Cloud staging server URL"},{url:"http://localhost:9876",description:"Meshery Cloud development server URL (controlled via PORT environment variable)"}],security:[{jwt:[]}],tags:[{name:"teams",description:"A Team is a group of one or more users. Teams are used for assigning permissions in organizations and workspaces. Learn more at https://docs.meshery.io/concepts/logical/teams"}],components:{responses:{200:{description:"ok",content:{"text/plain":{schema:{type:"string"}}}},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:{teamId:{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},orgId:{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},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"}},page:{name:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},pagesize:{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}},securitySchemes:{jwt:{type:"http",scheme:"Bearer",bearerFormat:"JWT"}},schemas:{team:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}},teamPayload:{type:"object",description:"Payload for creating a new team",required:["name"],properties:{name:{description:"Team name. Provide a meaningful name that represents this team.",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"A detailed description of the team's purpose and responsibilities.",type:"string","x-go-type-skip-optional-pointer":true}}},teamUpdatePayload:{type:"object",description:"Payload for updating an existing team",properties:{name:{description:"Updated team name",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"Updated team description",type:"string","x-go-type-skip-optional-pointer":true}}},teamPage:{type:"object",description:"Paginated list of teams",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Team",$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},teamsUsersMapping:{type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}},teamsUsersMappingPage:{type:"object",description:"Paginated list of team-user mappings",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams_users_mapping:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"TeamsUsersMapping",type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}}},requestBodies:{teamPayload:{description:"Body for creating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a new team",required:["name"],properties:{name:{description:"Team name. Provide a meaningful name that represents this team.",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"A detailed description of the team's purpose and responsibilities.",type:"string","x-go-type-skip-optional-pointer":true}}}}}},teamUpdatePayload:{description:"Body for updating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating an existing team",properties:{name:{description:"Updated team name",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"Updated team description",type:"string","x-go-type-skip-optional-pointer":true}}}}}}}},paths:{"/api/identity/orgs/{orgId}/teams":{get:{tags:["teams"],operationId:"GetTeams",summary:"Get all teams for an organization",description:"Gets all teams within an organization",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{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:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}],responses:{200:{description:"Teams",content:{"application/json":{schema:{type:"object",description:"Paginated list of teams",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"Team",$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},post:{tags:["teams"],operationId:"CreateTeam",summary:"Create a team",description:"Creates a new team within an organization",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true}],requestBody:{description:"Body for creating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for creating a new team",required:["name"],properties:{name:{description:"Team name. Provide a meaningful name that represents this team.",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"A detailed description of the team's purpose and responsibilities.",type:"string","x-go-type-skip-optional-pointer":true}}}}}},responses:{201:{description:"Created team",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/teams/{teamId}":{get:{tags:["teams"],operationId:"GetTeamByID",summary:"Get a team by ID",description:"Gets a team by its ID",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"Team",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},put:{tags:["teams"],operationId:"UpdateTeam",summary:"Update a team",description:"Updates a team's information",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],requestBody:{description:"Body for updating a team",required:true,content:{"application/json":{schema:{type:"object",description:"Payload for updating an existing team",properties:{name:{description:"Updated team name",type:"string","x-go-type-skip-optional-pointer":true},description:{description:"Updated team description",type:"string","x-go-type-skip-optional-pointer":true}}}}}},responses:{200:{description:"Updated team",content:{"application/json":{schema:{$id:"https://schemas.meshery.io/team.yaml",$schema:"http://json-schema.org/draft-07/schema#",description:"A Team is a group of one or more users. Teams are often used as a grouping mechanism for assigning permissions, whether in the context of an organization, a workspace, or some other domain within Meshery. Learn more at https://docs.meshery.io/concepts/logical/teams",additionalProperties:false,type:"object",required:["id","name"],properties:{id:{description:"Team ID","x-order":1,"x-go-name":"ID","x-oapi-codegen-extra-tags":{db:"id",yaml:"id"},type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},name:{"x-oapi-codegen-extra-tags":{db:"name",yaml:"name"},"x-order":2,type:"string",description:"Team name"},description:{"x-oapi-codegen-extra-tags":{db:"description",yaml:"description"},"x-order":3,type:"string",description:"Team description"},owner:{"x-oapi-codegen-extra-tags":{db:"owner",yaml:"owner"},"x-order":4,description:"User ID of the owner of the team",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"}},metadata:{"x-oapi-codegen-extra-tags":{db:"metadata",yaml:"metadata"},"x-order":5,"x-go-type":"core.Map","x-go-type-skip-optional-pointer":true,type:"object",description:"Additional metadata for the team"},created_at:{"x-oapi-codegen-extra-tags":{db:"created_at",yaml:"created_at"},"x-order":6,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{"x-oapi-codegen-extra-tags":{db:"updated_at",yaml:"updated_at"},"x-order":7,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{"x-oapi-codegen-extra-tags":{db:"deleted_at",yaml:"deleted_at"},"x-go-type":"core.NullTime","x-go-import":"database/sql","x-order":8,type:"string",format:"date-time","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{tags:["teams"],operationId:"DeleteTeam",summary:"Delete a team",description:"Deletes a team by its ID",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true}],responses:{204:{description:"Team deleted successfully"},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/teams/{teamId}/users":{get:{tags:["teams"],operationId:"GetTeamUsers",summary:"Get all users in a team",description:"Gets all users that belong to a team",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},{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:"page",in:"query",description:"Get responses by page",schema:{type:"string"}},{name:"pagesize",in:"query",description:"Get responses by pagesize",schema:{type:"string"}}],responses:{200:{description:"Team users mapping",content:{"application/json":{schema:{type:"object",description:"Paginated list of team-user mappings",properties:{page:{type:"integer","x-go-type-skip-optional-pointer":true},page_size:{type:"integer","x-go-type-skip-optional-pointer":true},total_count:{type:"integer","x-go-type-skip-optional-pointer":true},teams_users_mapping:{type:"array","x-go-type-skip-optional-pointer":true,items:{"x-go-type":"TeamsUsersMapping",type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}},"/api/identity/orgs/{orgId}/teams/{teamId}/users/{userId}":{post:{tags:["teams"],operationId:"AddUserToTeam",summary:"Add a user to a team",description:"Assigns a user to a team",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},{name:"userId",in:"path",description:"User ID",schema:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"User added to team",content:{"application/json":{schema:{type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}},delete:{tags:["teams"],operationId:"RemoveUserFromTeam",summary:"Remove a user from a team",description:"Unassigns a user from a team",parameters:[{name:"orgId",in:"path",description:"Organization 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:"org_id",json:"org_id"},"x-go-type-name":"OrganizationId","x-go-type-skip-optional-pointer":true},required:true},{name:"teamId",in:"path",description:"Team 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:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},required:true},{name:"userId",in:"path",description:"User ID",schema:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},required:true}],responses:{200:{description:"User removed from team",content:{"application/json":{schema:{type:"object",description:"Mapping between teams and users",properties:{id:{"x-go-name":"ID",type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"id",json:"id"},"x-go-type-name":"GeneralId","x-go-type-skip-optional-pointer":true},team_id:{type:"string",format:"uuid","x-go-type":"uuid.UUID","x-go-type-import":{path:"github.com/gofrs/uuid"},"x-oapi-codegen-extra-tags":{db:"team_id",json:"team_id"},"x-go-type-name":"TeamId","x-go-type-skip-optional-pointer":true},user_id:{type:"string",description:"user's email or username","x-go-type-skip-optional-pointer":true},created_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},updated_at:{type:"string",format:"date-time","x-go-type-skip-optional-pointer":true},deleted_at:{description:"SQL null Timestamp to handle null values of time.","x-go-type":"sql.NullTime",type:"string","x-go-type-skip-optional-pointer":true}}}}}},400:{description:"Invalid request body or request param",content:{"text/plain":{schema:{type:"string"}}}},401:{description:"Expired JWT token used or insufficient privilege",content:{"text/plain":{schema:{type:"string"}}}},404:{description:"Result not found",content:{"text/plain":{schema:{type:"string"}}}},500:{description:"Internal server error",content:{"text/plain":{schema:{type:"string"}}}}}}}}},t=e;
2
2
  module.exports=t;