fix messaging name
This commit is contained in:
parent
010d411be9
commit
229c8f8305
6 changed files with 42 additions and 42 deletions
|
|
@ -7,7 +7,7 @@ defmodule Aprsme.DataExtended do
|
|||
alias Aprsme.DataExtended
|
||||
|
||||
embedded_schema do
|
||||
field :aprsme_messaging, :boolean, default: false
|
||||
field :aprs_messaging, :boolean, default: false
|
||||
field :comment, :string
|
||||
field :data_type, :string
|
||||
field :latitude, :decimal
|
||||
|
|
@ -23,7 +23,7 @@ defmodule Aprsme.DataExtended do
|
|||
def changeset(%DataExtended{} = data_extended, attrs) do
|
||||
data_extended
|
||||
|> cast(attrs, [
|
||||
:aprsme_messaging,
|
||||
:aprs_messaging,
|
||||
:comment,
|
||||
:data_type,
|
||||
:latitude,
|
||||
|
|
@ -32,7 +32,7 @@ defmodule Aprsme.DataExtended do
|
|||
:symbol_table_id
|
||||
])
|
||||
|> validate_required([
|
||||
:aprsme_messaging,
|
||||
:aprs_messaging,
|
||||
:comment,
|
||||
:data_type,
|
||||
:symbol_code,
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ defmodule Aprsme.Packet do
|
|||
# Additional packet data
|
||||
field(:comment, :string)
|
||||
field(:timestamp, :string)
|
||||
field(:aprsme_messaging, :boolean, default: false)
|
||||
field(:aprs_messaging, :boolean, default: false)
|
||||
|
||||
# Weather data
|
||||
field(:temperature, :float)
|
||||
|
|
@ -90,7 +90,7 @@ defmodule Aprsme.Packet do
|
|||
:symbol_table_id,
|
||||
:comment,
|
||||
:timestamp,
|
||||
:aprsme_messaging,
|
||||
:aprs_messaging,
|
||||
:temperature,
|
||||
:humidity,
|
||||
:wind_speed,
|
||||
|
|
@ -277,8 +277,8 @@ defmodule Aprsme.Packet do
|
|||
|> maybe_put(:comment, data_extended[:comment] || data_extended["comment"])
|
||||
|> maybe_put(:timestamp, data_extended[:timestamp] || data_extended["timestamp"])
|
||||
|> maybe_put(
|
||||
:aprsme_messaging,
|
||||
data_extended[:aprsme_messaging?] || data_extended["aprs_messaging?"]
|
||||
:aprs_messaging,
|
||||
data_extended[:aprs_messaging?] || data_extended["aprs_messaging?"]
|
||||
)
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ defmodule AprsmeWeb.Api.V1.CallsignJSON do
|
|||
symbol: symbol_json(packet),
|
||||
comment: packet.comment,
|
||||
timestamp: packet.timestamp,
|
||||
aprs_messaging: packet.aprsme_messaging,
|
||||
aprs_messaging: packet.aprs_messaging,
|
||||
weather: weather_json(packet),
|
||||
equipment: equipment_json(packet),
|
||||
message: message_json(packet),
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
"symbol" => format_symbol(packet),
|
||||
"comment" => packet.comment,
|
||||
"timestamp" => packet.timestamp,
|
||||
"aprsme_messaging" => packet.aprsme_messaging,
|
||||
"aprs_messaging" => packet.aprs_messaging,
|
||||
"weather" => format_weather(packet),
|
||||
"equipment" => format_equipment(packet),
|
||||
"message" => format_message(packet),
|
||||
|
|
@ -224,7 +224,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
RESTful JSON API for accessing APRS packet data and station information.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- API Overview -->
|
||||
<div class="bg-white rounded-lg shadow-sm border border-gray-200 mb-8">
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
|
|
@ -263,7 +263,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- API Endpoints -->
|
||||
<div class="space-y-8">
|
||||
<!-- Callsign Endpoint -->
|
||||
|
|
@ -373,7 +373,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
},
|
||||
"comment": "Mobile Station",
|
||||
"timestamp": null,
|
||||
"aprsme_messaging": false,
|
||||
"aprs_messaging": false,
|
||||
"weather": null,
|
||||
"equipment": {
|
||||
"manufacturer": "Kenwood",
|
||||
|
|
@ -407,7 +407,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Response Fields Documentation -->
|
||||
<div class="bg-white rounded-lg shadow-sm border border-gray-200">
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
|
|
@ -527,7 +527,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- HTTP Status Codes -->
|
||||
<div class="bg-white rounded-lg shadow-sm border border-gray-200">
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
|
|
@ -591,7 +591,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Future Endpoints -->
|
||||
<div class="bg-white rounded-lg shadow-sm border border-gray-200">
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
|
|
@ -638,7 +638,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Interactive API Testing -->
|
||||
<div class="bg-white rounded-lg shadow-sm border border-gray-200">
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
|
|
@ -703,7 +703,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<!-- Error Display -->
|
||||
<%= if @error do %>
|
||||
<div class="mt-4 p-3 bg-red-50 border border-red-200 rounded-md">
|
||||
|
|
@ -723,7 +723,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<!-- Results Display -->
|
||||
<%= if @api_result do %>
|
||||
<div class="mt-4">
|
||||
|
|
@ -750,7 +750,7 @@ defmodule AprsmeWeb.ApiDocsLive do
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Contact and Support -->
|
||||
<div class="bg-white rounded-lg shadow-sm border border-gray-200">
|
||||
<div class="px-6 py-4 border-b border-gray-200">
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ defmodule Aprsme.Repo.Migrations.AddAdditionalPacketFields do
|
|||
# Additional useful fields that may be in the parsed data
|
||||
add :comment, :text
|
||||
add :timestamp, :string
|
||||
add :aprsme_messaging, :boolean, default: false
|
||||
add :aprs_messaging, :boolean, default: false
|
||||
|
||||
# Weather data fields (for weather packets)
|
||||
add :temperature, :float
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
describe "changeset/2" do
|
||||
test "valid changeset with all required fields" do
|
||||
attrs = %{
|
||||
aprsme_messaging: true,
|
||||
aprs_messaging: true,
|
||||
comment: "Test comment",
|
||||
data_type: "position",
|
||||
symbol_code: "/",
|
||||
|
|
@ -16,7 +16,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
changeset = DataExtended.changeset(%DataExtended{}, attrs)
|
||||
|
||||
assert changeset.valid?
|
||||
assert get_change(changeset, :aprsme_messaging) == true
|
||||
assert get_change(changeset, :aprs_messaging) == true
|
||||
assert get_change(changeset, :comment) == "Test comment"
|
||||
assert get_change(changeset, :data_type) == "position"
|
||||
assert get_change(changeset, :symbol_code) == "/"
|
||||
|
|
@ -25,7 +25,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "valid changeset with coordinates" do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Position report",
|
||||
data_type: "position",
|
||||
latitude: Decimal.new("40.123456"),
|
||||
|
|
@ -43,7 +43,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "valid changeset with string coordinates gets converted to decimal" do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Position report",
|
||||
data_type: "position",
|
||||
latitude: "40.123456",
|
||||
|
|
@ -61,7 +61,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "valid changeset with only required fields (no coordinates)" do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Status update",
|
||||
data_type: "status",
|
||||
symbol_code: ">",
|
||||
|
|
@ -90,7 +90,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "invalid changeset with empty required fields" do
|
||||
attrs = %{
|
||||
aprsme_messaging: nil,
|
||||
aprs_messaging: nil,
|
||||
comment: "",
|
||||
data_type: "",
|
||||
symbol_code: "",
|
||||
|
|
@ -109,7 +109,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "changeset with only latitude provided (should be invalid)" do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Partial position",
|
||||
data_type: "position",
|
||||
latitude: "40.123456",
|
||||
|
|
@ -128,7 +128,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "changeset with only longitude provided (should be invalid)" do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Partial position",
|
||||
data_type: "position",
|
||||
longitude: "-74.654321",
|
||||
|
|
@ -144,10 +144,10 @@ defmodule Aprsme.DataExtendedTest do
|
|||
refute get_change(changeset, :latitude)
|
||||
end
|
||||
|
||||
test "changeset handles boolean aprsme_messaging properly" do
|
||||
test "changeset handles boolean aprs_messaging properly" do
|
||||
# Test true
|
||||
attrs_true = %{
|
||||
aprsme_messaging: true,
|
||||
aprs_messaging: true,
|
||||
comment: "Message enabled",
|
||||
data_type: "message",
|
||||
symbol_code: ">",
|
||||
|
|
@ -156,11 +156,11 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
changeset_true = DataExtended.changeset(%DataExtended{}, attrs_true)
|
||||
assert changeset_true.valid?
|
||||
assert get_change(changeset_true, :aprsme_messaging) == true
|
||||
assert get_change(changeset_true, :aprs_messaging) == true
|
||||
|
||||
# Test false
|
||||
attrs_false = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Message disabled",
|
||||
data_type: "status",
|
||||
symbol_code: ">",
|
||||
|
|
@ -169,7 +169,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
changeset_false = DataExtended.changeset(%DataExtended{}, attrs_false)
|
||||
assert changeset_false.valid?
|
||||
assert get_change(changeset_false, :aprsme_messaging) == false || changeset_false.data.aprsme_messaging == false
|
||||
assert get_change(changeset_false, :aprs_messaging) == false || changeset_false.data.aprs_messaging == false
|
||||
end
|
||||
|
||||
test "changeset with various symbol codes and table IDs" do
|
||||
|
|
@ -182,7 +182,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
for {symbol_code, symbol_table_id, description} <- test_cases do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: description,
|
||||
data_type: "position",
|
||||
symbol_code: symbol_code,
|
||||
|
|
@ -202,7 +202,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
for data_type <- data_types do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Testing #{data_type}",
|
||||
data_type: data_type,
|
||||
symbol_code: ">",
|
||||
|
|
@ -220,7 +220,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
long_comment = String.duplicate("A", 1000)
|
||||
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: long_comment,
|
||||
data_type: "status",
|
||||
symbol_code: ">",
|
||||
|
|
@ -235,7 +235,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "changeset preserves existing data when updating" do
|
||||
existing_data = %DataExtended{
|
||||
aprsme_messaging: true,
|
||||
aprs_messaging: true,
|
||||
comment: "Original comment",
|
||||
data_type: "position",
|
||||
latitude: Decimal.new("30.0"),
|
||||
|
|
@ -255,7 +255,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
assert get_change(changeset, :comment) == "Updated comment"
|
||||
assert get_change(changeset, :latitude) == Decimal.new("31.0")
|
||||
# Other fields should remain unchanged
|
||||
assert changeset.data.aprsme_messaging == true
|
||||
assert changeset.data.aprs_messaging == true
|
||||
assert changeset.data.data_type == "position"
|
||||
end
|
||||
end
|
||||
|
|
@ -263,7 +263,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
describe "validate_required_if_present/2" do
|
||||
test "validates field when it's present in changes" do
|
||||
attrs = %{
|
||||
aprsme_messaging: false,
|
||||
aprs_messaging: false,
|
||||
comment: "Test",
|
||||
data_type: "position",
|
||||
# Explicitly setting to nil should trigger validation
|
||||
|
|
@ -285,7 +285,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
test "creates struct with default values" do
|
||||
data_extended = %DataExtended{}
|
||||
|
||||
assert data_extended.aprsme_messaging == false
|
||||
assert data_extended.aprs_messaging == false
|
||||
assert is_nil(data_extended.comment)
|
||||
assert is_nil(data_extended.data_type)
|
||||
assert is_nil(data_extended.latitude)
|
||||
|
|
@ -296,7 +296,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
|
||||
test "creates struct with explicit values" do
|
||||
data_extended = %DataExtended{
|
||||
aprsme_messaging: true,
|
||||
aprs_messaging: true,
|
||||
comment: "Test comment",
|
||||
data_type: "position",
|
||||
latitude: Decimal.new("40.0"),
|
||||
|
|
@ -305,7 +305,7 @@ defmodule Aprsme.DataExtendedTest do
|
|||
symbol_table_id: "/"
|
||||
}
|
||||
|
||||
assert data_extended.aprsme_messaging == true
|
||||
assert data_extended.aprs_messaging == true
|
||||
assert data_extended.comment == "Test comment"
|
||||
assert data_extended.data_type == "position"
|
||||
assert data_extended.latitude == Decimal.new("40.0")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue