# frozen_string_literal: true # 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 }.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