Commit Graph

35 Commits

Author SHA1 Message Date
Maikel Linke
0d8df5d2a8 Replace Bugsnag calls with Alert.raise 2024-11-21 15:58:55 +11:00
Feruz Oripov
81f40a99d9 Update CustomersWithBalanceQuery 2024-02-26 23:25:33 +05:00
Neal Chambers
a263110799 Safely autocorrect Rails/DotSeparatedKeys
Inspecting 1481 files
........................................................................C................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Offenses:

app/controllers/api/v1/base_controller.rb:72:66: C: [Corrected] Rails/DotSeparatedKeys: Use the dot-separated keys instead of specifying the :scope option.
        message = I18n.t(:missing_parameter, param: error.param, scope: :api)
                                                                 ^^^^^^^^^^^
app/controllers/api/v1/base_controller.rb:79:84: C: [Corrected] Rails/DotSeparatedKeys: Use the dot-separated keys instead of specifying the :scope option.
        message = I18n.t(:unpermitted_parameters, params: error.params.join(", "), scope: :api)
                                                                                   ^^^^^^^^^^^

1481 files inspected, 2 offenses detected, 2 offenses corrected
2023-08-01 22:50:21 +09:00
David Cook
d195882645 Use builtin Rails method 2023-06-15 15:26:22 +10:00
Maikel Linke
75cce8bc19 Simplify customer code
The API endpoint merges the created_manually flag in the params already.
No need to write it separately.
2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
298ae8ffc3 set create_manualll flag if the customer already exists 2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
ebc3073604 use Customer#visible on the customers listing endpoints
Update app/models/customer.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

Update spec/models/customer_spec.rb

Co-authored-by: Maikel <maikel@email.org.au>

authorize created_manually field to be set on APIv1
2023-06-15 12:02:45 +10:00
Mohamed ABDELLANI
03cb14c926 define manage_by scope on customer model 2023-04-11 12:18:15 +01:00
Mohamed ABDELLANI
da78e06a39 load customers of managed enterprises only 2023-04-11 12:10:07 +01:00
Mikael Norlén
e95d08cae8 Add balance to api v1 customers endpoint
- customers#show: Add balance (data_type: double) to customer attributes.
- customers#index: Add balance only if specified in extra_fields
query parameter: extra_fields[customer]=balance
2023-02-15 11:14:27 +01:00
Mikael Norlén
22b1dd3232 Add support for extra_fields query parameter
Api now supports optional fields.
These are included with the extra_fields query param.

Syntax: extra_fields[type]=field1,field2
2023-02-15 11:14:27 +01:00
Maikel Linke
a08c7f7823 Sort customers by id on API v1 2023-02-10 15:52:35 +11:00
Maikel Linke
52e934ec2b Consistently use our FeatureToggle module
Direct calls to Flipper have the downside that we can't add any new
functionality like storing the feature in the database when used.
2022-10-08 16:23:17 +02:00
Maikel Linke
19018c2564 Split address transformation for easier reading 2022-07-19 09:49:42 +10:00
Maikel Linke
c8a65d2fac Simplify with customer accessor 2022-07-19 09:49:42 +10:00
Maikel Linke
6c0d4cffe5 Allow customer's address update with country code
The customer endpoint now serves 2-letter ISO codes for countries and
accepts these for updates. It also serves and accepts region codes
(abbreviations) like VIC for Victoria.

Updates treat these fields as case-insensitive and either code or name
have to be present.

This commit also updates the Swagger documentation.
2022-07-19 09:49:42 +10:00
Jean-Baptiste Bellet
cc135c8190 API V1, Customer endpoint: region and country as object 2022-07-15 14:54:33 +02:00
Maikel Linke
ba1e21ad75 Feature-toggle API also per API key
We looked only at logged in users (session cookie) before.
2022-04-15 12:34:57 +10:00
Maikel Linke
5063f377c3 Enable relationship inclusion for customers#show
This will allow us to include address records.
2022-03-28 11:04:30 +11:00
Maikel Linke
d789fb32e9 Make customer's address writable on API 2022-03-28 11:04:30 +11:00
Maikel Linke
51420934f3 Add billing and shipping address to customer 2022-03-28 10:58:18 +11:00
Maikel Linke
adc7e97e62 Add tag list to customer endpoint 2022-03-28 10:55:58 +11:00
Maikel Linke
aa6e5ae799 Report useful error message in missing parameter 2022-03-28 10:55:57 +11:00
Maikel Linke
8d12c7a692 Permit more customer attributes for update 2022-03-28 10:55:57 +11:00
Maikel Linke
41746459fa Restrict allow_charges attribute to read-only
We want people to use the UI to change this attribute.
2022-03-28 10:55:57 +11:00
Maikel Linke
12d989568e Safer API error reporting
We don't know what unknown errors would report. They could expose
sensitive data. So let's not pass that data on to the public while we
have the full details in Bugsnag.

Also, let's not catch Exception because that could catch interrupts to
gracefully shut down the application.
2022-03-02 11:59:35 +11:00
Maikel Linke
4aa70c1ffd Render pagination errors 2022-03-02 11:59:35 +11:00
Maikel Linke
414bf5d074 Don't list guest customer records to guest users 2022-03-02 11:59:35 +11:00
Matt-Yorkley
3dbf00f302 Add pagination with Pagy using structure from JSON:API specification
https://jsonapi.org/examples/#pagination

Update schema for collections rendered with pagination data
2022-03-02 11:58:04 +11:00
Matt-Yorkley
c102ce8e7e Add RequestTimeout concern 2022-03-02 11:58:04 +11:00
Matt-Yorkley
a222b507fb Update and document authentication methods 2022-03-02 11:58:04 +11:00
Matt-Yorkley
cc4192047e Fill out customers controller
Add customer serializer
2022-03-02 11:55:46 +11:00
Matt-Yorkley
3128232d7e Create customers controller
And add new customers routes.

Disable them in production for now.
2022-03-02 11:55:46 +11:00
Matt-Yorkley
c4e2c8cb4c Tidy up error handling and update response formats for JSON:API standard
Update translation key namespacing
2022-03-02 11:55:46 +11:00
Matt-Yorkley
7d8ded5ab8 Bring simplified / cleaned up base controller into V1
- Inherits from ActionController::API
- Lots of superfluous junk removed
2022-03-02 11:55:46 +11:00