Files
Dalan/app/api/v2/entities/profile.rb
2026-08-13 19:56:46 +03:30

86 lines
2.2 KiB
Ruby

# frozen_string_literal: true
module API::V2
module Entities
class Profile < API::V2::Entities::Base
expose :first_name,
documentation: {
type: 'String',
desc: 'First Name'
}
expose :last_name,
documentation: {
type: 'String',
desc: 'Submasked last name'
} do |profile|
Barong::App.config.api_data_masking_enabled ? profile.sub_masked_last_name : profile.last_name
end
expose :national_code,
documentation: {
type: 'String',
desc: 'Submasked national code'
} do |profile|
Barong::App.config.api_data_masking_enabled ? profile.sub_masked_national_code : profile.national_code
end
expose :dob,
documentation: {
type: 'Date',
desc: 'Submasked birth date'
} do |profile|
Barong::App.config.api_data_masking_enabled ? profile.sub_masked_dob : profile.dob
end
expose :address,
documentation: {
type: 'String',
desc: 'Address'
}
expose :postcode,
documentation: {
type: 'String',
desc: 'Address Postcode'
}
expose :city,
documentation: {
type: 'String',
desc: 'City name'
}
expose :country,
documentation: {
type: 'String',
desc: 'Country name'
}
expose :state,
documentation: {
type: 'String',
desc: 'Profile state: drafted, submitted, verified, rejected'
}
expose :metadata,
documentation: {
type: 'Hash',
desc: 'Profile additional fields'
}
expose :upload,
documentation: {
type: 'String',
desc: 'Address Postcode'
} do |profile|
end
with_options(format_with: :iso_timestamp) do
expose :created_at
expose :updated_at
end
end
end
end