Commit graph

3761 commits

Author SHA1 Message Date
Zach Daniel
6f0524d67d fix: missing pattern match on error query in read
closes #1084
2024-05-01 08:00:22 -04:00
Zach Daniel
fa7cfe5488 improvement: add pre_flight option for Ash.can 2024-04-30 22:55:32 -04:00
Riccardo Binetti
b4821f2e13
chore: failing tests for before_transaction hooks in bulk actions (#1081) 2024-04-30 20:51:39 -04:00
Zach Daniel
a4ad37c917 chore: release version v3.0.0-rc.39 2024-04-30 13:31:33 -04:00
Zach Daniel
723276f41a fix: remove debugging code
improvement: make `Ash.Filter.map` more consistent
improvement: better inspect behavior for calculations
improvement: better inspect behavior for fragments
fix: don't call `Keyword` functions on maps in unions
2024-04-30 13:31:33 -04:00
Riccardo Binetti
c50d047614
fix: streaming with limit/offset and no pagination (#1080)
If there were 0 results, it just kept reading and reading forever
2024-04-30 13:03:49 -04:00
Pierre Le Gall
4ddc91be51
improvement: better create/update first argument (#1060)
* improvement: better create/update first argument

First argument of Ash.create (with a resource)
and Ash.update (with a record) no longer are in a tuple
with its arguments.

Arguments are moved in the input option.

* improvement: create/update params no more an opts

`Ash.create(User, %{name: "Yasmine"})` 🎉

* improvement: raise if changeset already validated

Raise an argument error for already validated changeset
when params are given.
2024-04-30 13:02:27 -04:00
Riccardo Binetti
09238490c4
fix: don't pass an error tuple to rollback in bulk update (#1079) 2024-04-30 06:40:42 -04:00
Jeremy Grant
45b76c209d
fix: union array argument/attribute handling when current attribute is (#1023) 2024-04-29 22:24:44 -04:00
Sergey Moiseev
417d39e7de
Add documentation on disabling pagination (#1076) 2024-04-29 20:40:19 -04:00
Zach Daniel
fffe87ba3b chore: release version v3.0.0-rc.38 2024-04-29 16:59:25 -04:00
Zach Daniel
28c75df7b8 improvement: support new data layer capability calculate/3
fix: solve for custom expressions and one-off calculations
2024-04-29 16:58:37 -04:00
Zach Daniel
0fa257e7ea chore: don't add atomic allow nil hooks to primary key attributes
improvement: add debug logging for ets data layer
2024-04-29 15:43:47 -04:00
Dmitry Maganov
3ee24da7eb
improvement: pass context to anonymous validate functions (#1070) 2024-04-29 12:53:45 -04:00
Jechol Lee
ae3f632157
Fix is_belongs_to_rel_being_managed? to match list with more than 2 elements (#1072) 2024-04-29 12:49:26 -04:00
Zach Daniel
c151b14900 chore: release version v3.0.0-rc.37 2024-04-29 09:12:28 -04:00
Zach Daniel
ca7b0824d7 fix: properly intercept thrown errors in Ash.bulk_create 2024-04-29 09:12:03 -04:00
Zach Daniel
69b5bd3d3c chore: update cheat sheets 2024-04-29 07:54:50 -04:00
Zach Daniel
a24fdcfe59 docs: fix code interface example 2024-04-29 07:49:25 -04:00
Jechol Lee
856ac698b7
fix: Changeset.present? to be false when belongs_to is set to nil (#1067)
* Changeset.present? to be false when belongs_to is set to nil

* match empty list

* match empty list 2
2024-04-29 07:38:06 -04:00
Jean-Luc Geering
c8c4bb6b1d
docs: typo in documentation (#1068)
* typo in documentation

* idem
2024-04-29 06:57:26 -04:00
Jechol Lee
caf1c5ee2a
Improvement: Changeset.attributes_present? to attribute_present? (#1066) 2024-04-29 06:51:14 -04:00
Zach Daniel
5ef8de03f3 fix: fix simple_equality in attribute type 2024-04-28 00:41:57 -04:00
Zach Daniel
c6c602cb8e chore: add AshCloak to docs 2024-04-28 00:19:03 -04:00
Zach Daniel
f96cacc808 chore: release version v3.0.0-rc.36 2024-04-28 00:17:30 -04:00
Zach Daniel
2f1a0fec71 fix: set resource option in bulk interfaces 2024-04-27 23:56:11 -04:00
Zach Daniel
69f844dc69 chore: fix typo 2024-04-27 23:35:12 -04:00
Zach Daniel
fa6c2ade6d fix: check resource match below checking query input 2024-04-27 23:33:04 -04:00
Zach Daniel
c7918ab1be chore: release version v3.0.0-rc.35 2024-04-27 23:21:54 -04:00
Zach Daniel
26225fc7f5 fix: only use Map.new for inputs if input is keyword in code interface 2024-04-27 23:21:34 -04:00
Zach Daniel
65c6f66b91 fix: properly set action type on changeset 2024-04-27 11:20:03 -04:00
Zach Daniel
8c4e9c44d6 fix: set changed? context on bulk actions 2024-04-27 10:43:53 -04:00
Zach Daniel
44ac91b30b chore: release version v3.0.0-rc.34 2024-04-27 10:14:36 -04:00
Zach Daniel
3f977ff98d improvement: simplifications and clarifications around bulk callback behavior 2024-04-27 10:14:31 -04:00
Jinkyou Son
06bde218f3
docs: Fix typo of docs (#1065) 2024-04-27 08:09:43 -04:00
Zach Daniel
75b63917c7 improvement: don't add autogenerated_id to embeds by default
one list *very mild* breaking change
2024-04-27 00:53:22 -04:00
Zach Daniel
69295daf78 improvement: allow skipping primary keys on embedded resources 2024-04-27 00:41:12 -04:00
Zach Daniel
3451ac02b2 chore: release version v3.0.0-rc.33 2024-04-27 00:33:22 -04:00
Zach Daniel
41f68ca4a4 improvement: support changeset filters in ets 2024-04-27 00:33:00 -04:00
Zach Daniel
0c7900b60f chore: release version v3.0.0-rc.32 2024-04-26 23:54:21 -04:00
Zach Daniel
03b1579d9c fix: properly handle atomic upgrade when policies can't be strict checked 2024-04-26 23:53:54 -04:00
Zach Daniel
caada2e3b8 chore: release version v3.0.0-rc.31 2024-04-26 03:30:17 -04:00
Jinkyou Son
1acbce4ebb
improvement: Treat asterisk as a single arguemnt in accept (#1062) 2024-04-26 03:26:15 -04:00
Zach Daniel
2d0b73af96 chore: set authorization context ahead of query build 2024-04-26 03:15:46 -04:00
Zach Daniel
726c6c3f0f fix: various fixes around bulk action upgrades, atomics 2024-04-26 03:13:22 -04:00
Zach Daniel
41c951d2e5 chore: fix missing clause andhydrate atomic refs 2024-04-25 23:46:11 -04:00
Zach Daniel
ad076735ae chore: fix batch size detection while streaming 2024-04-25 22:56:41 -04:00
Zach Daniel
c8e93877ea improvement: support atomics, update_query, destroy_query in ETS data layer 2024-04-25 22:18:54 -04:00
Barnabas Jovanovics
00ee13143b
fix: handle resource being passed as query code_interface.ex (#1057)
* handle resource being passed as query code_interface.ex

This bit me today because I had code  like this 

```elixir
                Resource
                |> filter_board_codes(board_codes)
                |> filter_min_price(min_price)
                |> filter_max_price(max_price)
                |> filter_refundable_only(refundable_only)
```

and all the `filter_*` functions looked like this

```elixir
def filter_something(query, nil), do: query

def filter_something(query, something) do
  query
  |> Ash.Query.filter(....)
end
```

* Update lib/ash/code_interface.ex

* add another case

---------

Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
2024-04-25 10:37:44 -04:00
Barnabas Jovanovics
02c10c9216
fix: do not use Enum.map_join (#1058)
values are only a flat list of values, and map_join would need a function as the third argument if you specify a `joiner`
2024-04-25 07:53:52 -04:00