مراية لـ
https://github.com/postalserver/postal.git
تم المزامنة 2025-12-01 05:43:04 +00:00
42 أسطر
1.5 KiB
Ruby
42 أسطر
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
controller :messages do
|
|
friendly_name "Messages API"
|
|
description "This API allows you to access message details"
|
|
authenticator :server
|
|
|
|
action :message do
|
|
title "Return message details"
|
|
description "Returns all details about a message"
|
|
param :id, "The ID of the message", type: Integer, required: true
|
|
returns Hash, structure: :message, structure_opts: { paramable: { expansions: false } }
|
|
error "MessageNotFound", "No message found matching provided ID", attributes: { id: "The ID of the message" }
|
|
action do
|
|
begin
|
|
message = identity.server.message(params.id)
|
|
rescue Postal::MessageDB::Message::NotFound
|
|
error "MessageNotFound", id: params.id
|
|
end
|
|
structure :message, message, return: true
|
|
end
|
|
end
|
|
|
|
action :deliveries do
|
|
title "Return deliveries for a message"
|
|
description "Returns an array of deliveries which have been attempted for this message"
|
|
param :id, "The ID of the message", type: Integer, required: true
|
|
returns Array, structure: :delivery, structure_opts: { full: true }
|
|
error "MessageNotFound", "No message found matching provided ID", attributes: { id: "The ID of the message" }
|
|
action do
|
|
begin
|
|
message = identity.server.message(params.id)
|
|
rescue Postal::MessageDB::Message::NotFound
|
|
error "MessageNotFound", id: params.id
|
|
end
|
|
message.deliveries.map do |d|
|
|
structure :delivery, d
|
|
end
|
|
end
|
|
end
|
|
end
|