feat(vereinfacht): add DB schema, config and setting attributes

- Migrations: vereinfacht_contact_id on members, vereinfacht_* on settings
- Mv.Config: Vereinfacht ENV/Settings helpers, vereinfacht_configured?, contact_view_url
- Setting: vereinfacht_api_url, api_key, club_id
This commit is contained in:
Moritz 2026-02-18 22:28:32 +01:00
parent adea380d86
commit b775f5f5c4
Signed by: moritz
GPG key ID: 1020A035E5DD0824
6 changed files with 542 additions and 2 deletions

View file

@ -69,7 +69,10 @@ defmodule Mv.Membership.Setting do
:club_name,
:member_field_visibility,
:include_joining_cycle,
:default_membership_fee_type_id
:default_membership_fee_type_id,
:vereinfacht_api_url,
:vereinfacht_api_key,
:vereinfacht_club_id
]
end
@ -81,7 +84,10 @@ defmodule Mv.Membership.Setting do
:club_name,
:member_field_visibility,
:include_joining_cycle,
:default_membership_fee_type_id
:default_membership_fee_type_id,
:vereinfacht_api_url,
:vereinfacht_api_key,
:vereinfacht_club_id
]
end
@ -225,6 +231,26 @@ defmodule Mv.Membership.Setting do
description "Default membership fee type ID for new members"
end
# Vereinfacht accounting software integration (can be overridden by ENV)
attribute :vereinfacht_api_url, :string do
allow_nil? true
public? true
description "Vereinfacht API base URL (e.g. https://api.verein.visuel.dev/api/v1)"
end
attribute :vereinfacht_api_key, :string do
allow_nil? true
public? true
description "Vereinfacht API key (Bearer token)"
sensitive? true
end
attribute :vereinfacht_club_id, :string do
allow_nil? true
public? true
description "Vereinfacht club ID for multi-tenancy"
end
timestamps()
end