Manuel Bustillo 55e6cfcd36
Some checks failed
Check usage of free licenses / check-licenses (pull_request) Failing after 1m53s
Run unit tests / unit_tests (pull_request) Failing after 3m11s
Add copyright notice / copyright_notice (pull_request) Successful in 3m16s
Fix order of Ruby's magic string comment and Copyright assignment
2024-12-28 18:37:47 +01:00

55 lines
1.4 KiB
Ruby

# Copyright (C) 2024 Manuel Bustillo
# frozen_string_literal: true
module Swagger
module Schema
USER = {
id: { type: :string, format: :uuid },
email: { type: :string, format: :email },
created_at: SwaggerResponseHelper::TIMESTAMP,
updated_at: SwaggerResponseHelper::TIMESTAMP
}.freeze
ID = { # rubocop:disable Style/MutableConstant -- rswag modifies in: :path parameters
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}$' }
}.freeze
EXPENSE = {
name: { type: :string },
amount: { type: :number, minimum: 0 },
pricing_type: { type: :string, enum: Expense.pricing_types.keys }
}.freeze
SLUG = { # rubocop:disable Style/MutableConstant -- rswag modifies in: :path parameters
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 }
}
}
}.freeze
end
end