2022-08-30 12:58:44 +02:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
# openAPI documentation for plans endpoint
|
|
|
|
class OpenAPI::V1::PlansDoc < OpenAPI::V1::BaseDoc
|
|
|
|
resource_description do
|
|
|
|
short 'Plans'
|
|
|
|
desc 'Subscription plans of Fab-manager'
|
|
|
|
formats FORMATS
|
|
|
|
api_version API_VERSION
|
|
|
|
end
|
|
|
|
|
|
|
|
doc_for :index do
|
|
|
|
api :GET, "/#{API_VERSION}/plans", 'Plans index'
|
|
|
|
description 'Plans index. Order by *created_at* ascendant.'
|
|
|
|
example <<-PLANS
|
|
|
|
# /open_api/v1/plans
|
|
|
|
{
|
|
|
|
"plans": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "One month - standard",
|
|
|
|
"slug": "one-month-standard",
|
|
|
|
"amount": 3000
|
|
|
|
"interval": month,
|
|
|
|
"interval_count": 1,
|
|
|
|
"group_id": 1
|
|
|
|
"disabled": null,
|
|
|
|
"ui_weight": 3,
|
|
|
|
"monthly_payment": false,
|
|
|
|
"updated_at": "2001-01-01 15:15:19.860064000 Z",
|
|
|
|
"created_at": "2001-01-01 15:19:28.367161000 Z"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"name": "One month - students",
|
|
|
|
"slug": "one-month-students",
|
|
|
|
"amount": 2000
|
|
|
|
"interval": month,
|
|
|
|
"interval_count": 1,
|
|
|
|
"group_id": 2
|
|
|
|
"disabled": null,
|
|
|
|
"ui_weight": 0,
|
|
|
|
"monthly_payment": false,
|
|
|
|
"updated_at": "2016-04-04 15:18:27.734657000 Z",
|
|
|
|
"created_at": "2016-04-04 15:18:27.734657000 Z"
|
|
|
|
},
|
|
|
|
#
|
|
|
|
# ....
|
|
|
|
#
|
|
|
|
{
|
|
|
|
"id": 9,
|
|
|
|
"name": "One year - corporations",
|
|
|
|
"slug": "one-month-corporations",
|
|
|
|
"amount": 36000
|
|
|
|
"interval": year,
|
|
|
|
"interval_count": 1,
|
|
|
|
"group_id": 3
|
|
|
|
"disabled": null,
|
|
|
|
"ui_weight": 9,
|
|
|
|
"monthly_payment": true,
|
|
|
|
"updated_at": "2020-12-14 14:10:11.056241000 Z",
|
|
|
|
"created_at": "2020-12-14 14:10:11.056241000 Z"
|
2022-08-30 13:11:08 +02:00
|
|
|
}
|
2022-08-30 12:58:44 +02:00
|
|
|
]
|
|
|
|
}
|
|
|
|
PLANS
|
|
|
|
end
|
|
|
|
|
|
|
|
doc_for :show do
|
|
|
|
api :GET, "/#{API_VERSION}/plans/:id", 'Shows a plan'
|
|
|
|
description 'Show all details of a single plan.'
|
|
|
|
example <<-PLAN
|
|
|
|
# /open_api/v1/plans/9
|
|
|
|
{
|
|
|
|
"id": 9,
|
|
|
|
"name": "One year - corporations",
|
|
|
|
"slug": "one-month-corporations",
|
|
|
|
"amount": 36000
|
|
|
|
"interval": year,
|
|
|
|
"interval_count": 1,
|
|
|
|
"group_id": 3
|
|
|
|
"disabled": null,
|
|
|
|
"ui_weight": 9,
|
|
|
|
"monthly_payment": true,
|
|
|
|
"updated_at": "2020-12-14 14:10:11.056241000 Z",
|
|
|
|
"created_at": "2020-12-14 14:10:11.056241000 Z",
|
|
|
|
"training_credit_nb": 10,
|
|
|
|
"is_rolling": true,
|
|
|
|
"description": "10 trainings and 30 machine hours offered with your subscription to this plan",
|
|
|
|
"type": "Plan",
|
|
|
|
"plan_category_id": 2,
|
|
|
|
"file": "https://example.com/uploads/plan_file/25/Pricing_Grid_2020_2021_v2.png"
|
|
|
|
}
|
|
|
|
PLAN
|
|
|
|
end
|
|
|
|
end
|