feat(api): expose family exports (#1632)

* feat(api): expose family exports

* fix(api): harden family export review paths

* fix(api): tighten family export review paths

* fix(api): reject invalid family export params

* fix(api): address family export review

* fix(api): share uuid guard for exports
This commit is contained in:
ghost
2026-05-03 03:29:29 -06:00
committed by GitHub
parent 6c84fc760e
commit 50936000e7
11 changed files with 803 additions and 6 deletions

View File

@@ -3,8 +3,6 @@
class Api::V1::RecurringTransactionsController < Api::V1::BaseController
include Pagy::Backend
UUID_REGEX = /\A[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\z/i
before_action :ensure_read_scope, only: %i[index show]
before_action :ensure_write_scope, only: %i[create update destroy]
before_action :set_readable_recurring_transaction, only: :show
@@ -211,10 +209,6 @@ class Api::V1::RecurringTransactionsController < Api::V1::BaseController
raise(ActiveRecord::RecordNotFound, "Merchant not found")
end
def valid_uuid?(value)
value.to_s.match?(UUID_REGEX)
end
def validate_create_write_params(recurring_transaction)
input = recurring_transaction_input
recurring_transaction.errors.add(:last_occurrence_date, :blank) if input[:last_occurrence_date].blank?