Initial commit

This commit is contained in:
Yaser
2026-08-13 19:56:46 +03:30
commit de1d57a67b
474 changed files with 43185 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
# frozen_string_literal: true
module API::V2
module Resource
# Addresses API
class Addresses < Grape::API
desc 'Documents related routes'
resource :addresses do
desc 'Upload a new address approval document for current user(this is what ui using now)',
success: { code: 201, message: 'New address approval document was uploaded' },
failure: [
{ code: 400, message: 'Required params are empty' },
{ code: 401, message: 'Invalid bearer token' },
{ code: 422, message: 'Validation errors' }
]
params do
requires :country,
type: String,
allow_blank: false,
desc: 'country name'
requires :address,
type: String,
allow_blank: false,
desc: 'address'
requires :upload,
desc: 'Array of Rack::Multipart::UploadedFile'
requires :city,
allow_blank: true,
desc: 'city name'
requires :postcode, type: String, desc: 'Any additional key: value pairs in json string format'
end
post do
identificator = SecureRandom.hex(16)
params[:upload].each do |file|
doc = current_user.documents.new(upload: file, identificator: identificator, doc_type: 'Poa', doc_category: 'front_side')
code_error!(doc.errors.details, 422) unless doc.save
end
status 201
rescue Excon::Error => e
Rails.logger.error e
error!('Connection error', 422)
end
end
end
end
end