52 lines
1.2 KiB
Ruby
Raw Normal View History

2024-11-30 13:27:21 +00:00
# Copyright (C) 2024 Manuel Bustillo
module Swagger
module Schema
USER = {
id: { type: :string, format: :uuid },
email: { type: :string, format: :email },
created_at: SwaggerResponseHelper::TIMESTAMP,
updated_at: SwaggerResponseHelper::TIMESTAMP
}
ID = {
name: 'id',
in: :path,
type: :string,
format: :uuid,
}
GROUP = {
name: { type: :string },
icon: { type: :string, example: 'pi pi-crown', description: 'The CSS classes used by the icon' },
parent_id: { type: :string, format: :uuid },
color: { type: :string, pattern: '^#(?:[0-9a-fA-F]{3}){1,2}$' }
}
EXPENSE = {
name: { type: :string },
amount: { type: :number, minimum: 0 },
pricing_type: { type: :string, enum: Expense.pricing_types.keys }
}
SLUG = {
name: 'slug',
in: :path,
type: :string,
pattern: Wedding::SLUG_REGEX,
example: :default,
description: 'Wedding slug'
}
CAPTCHA = {
captcha: {
type: :object,
required: %i[id answer],
properties: {
id: { type: :string, format: :uuid },
answer: { type: :string }
}
}
}
end
end