Commit graph

303 commits

Author SHA1 Message Date
Rebecca Le
4b42ef2e41
docs: Replace incorrect attribute policy check in Policies guide with an expr (#1393)
There is no built-in check for `attribute` - but the same logic can be expressed readably with a call to `expr`.
2024-08-17 11:00:42 -04:00
Rebecca Le
707de0d664
docs: Fix code typo in Policies guide (#1392) 2024-08-16 08:15:33 -04:00
Zach Daniel
87d8263abb improvement: support expr and expr_type options when building aggregates
for example:

```elixir
calculate(
  :max_comment_similarity,
  :float,
  expr(max(comments, expr_type: :float, expr: fragment("similarity(?, ?)", title, ^arg(:to))))
) do
  argument(:to, :string, allow_nil?: false)
end
```
2024-08-14 20:11:58 -04:00
Alex Slade
61387e6ba0
docs: using multitenancy with code interfaces (#1388)
---------

Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2024-08-14 18:42:56 -04:00
Zach Daniel
f0c6e86d45 chore: remove unnecessary line in docs 2024-08-12 16:01:58 -04:00
Zach Daniel
dc73c3a3d5 feat: add policy groups
Policy groups allow you to group policies by shared conditions.
This can help simplify the mental overhead of large sets of policies.

For example:

```elixir
policies do
  policy_group actor_attribute_equals(:role, :owner) do
    policy action_type(:read) do
      authorize_if expr(owner_id == ^actor(:id))
    end

    policy action_type([:create, :update, :destroy]) do
      forbid_if
      authorize_if expr(owner_id == ^actor(:id))
    end
  end
end
```
2024-08-09 16:48:54 -04:00
Zach Daniel
e4dcd1c397 improvement: implement Comp for atoms & strings, comparing atoms as strings 2024-08-08 11:38:16 -04:00
Zach Daniel
17feea7a14 chore: update docs on atomics 2024-08-04 08:56:36 -04:00
Torkild Gundersen Kjevik
77d12dc689
docs: Add section regarding strict-loading for manual relationships. (#1359)
* Add section about strict-loading for manual relationships.

* Remove comment.
2024-07-31 09:03:10 -04:00
Zach Daniel
0301009073 docs: add code interface to generic actions guide 2024-07-23 17:42:32 -04:00
Jonatan Männchen
9e155e55c2
docs: document how to call a Generic Action (#1334) 2024-07-23 17:40:53 -04:00
Jesse Williams
1ad425bd84
docs: update relationships docs so source_attribute is not required to be unique (#1320) 2024-07-18 16:38:43 -04:00
Tore Pettersen
37755a870b
feat: Allow field policies to hide private fields (#1289)
* Allow field policies to hide private fields

* Create option for how to handle private fields

* Improve docs
2024-07-15 08:16:52 -04:00
Zach Daniel
ec367e8941 chore: update docs to show installers 2024-07-09 21:11:41 -04:00
Zach Daniel
0129285340 improvement: update getting started guide and document generators 2024-07-08 17:15:52 -04:00
Barnabas Jovanovics
51e003e4f2
docs: fix call to for_read in auth docs (#1291) 2024-07-08 09:51:56 -04:00
Mikael Muszynski
f7f0db1ef5
docs: extend documentation for validate where option (#1279)
For the `where` option of the `validate` function in the `Ash.Resource`
DSL, the current documentation puts little emphasis on the fact that one
can pass a list of validations to construct complex conditionals.

1. Change the text to put more emphasis on the functionality of multiple
   `where`-validations.
2. Add more usage examples.
2024-07-03 20:58:57 -04:00
Matheus Cardoso
86c382d642
docs: Fix typos in Relationships & Multitenancy docs (#1259) 2024-06-25 09:22:33 -04:00
Zach Daniel
d72b59253a docs: update docs on batch callbacks 2024-06-24 08:25:30 -04:00
Matheus Cardoso
d858044037
docs: Fix typo in Changes docs (#1260) 2024-06-24 08:22:09 -04:00
Matheus Cardoso
e8a38207b7
docs: Fix typo in Multitenancy docs (#1256)
* Fix typo in Multitenancy docs

* Remove unnecessary new line in Multitenancy docs
2024-06-23 07:56:33 -04:00
Matheus Cardoso
30d413eb74
docs: Fix typo in Actors and Authorization docs (#1255) 2024-06-23 07:55:56 -04:00
m0rt3nlund
3888acb454
docs: fix typo in update-actions.md (#1248) 2024-06-20 15:07:42 -04:00
Andreas Donig
58cc007ff5
docs: Fix a small mistake in the docs. (#1222)
Co-authored-by: Andreas Donig <git@innwiese.de>
2024-06-04 14:41:09 -04:00
Riccardo Binetti
421905c163
docs: add pagination guide in advanced topics (#1113) 2024-05-29 07:35:34 -04:00
Zach Daniel
d1736a109b docs: fix miscommunication in upgrade guide 2024-05-28 14:23:28 -04:00
Zach Daniel
feb187bdf6 improvement: add atomic_upgrade? flag to update/destroy actions
improvement: do not do atomic upgrade by default unless `require_atomic?` is `true`
improvement: allow configuring the read action used by atomic upgrades
2024-05-23 11:05:17 -04:00
Guillaume Cugnet
ac9afafcd9
docs: Update project-structure.md (#1196)
Seems there were a just a little typo and a lacking `end` word.
2024-05-22 13:08:22 -04:00
Jinkyou Son
aae679f50e
improvement: Implement show_sensitive? config (#1180)
* Refactor with Ash.Helpers.redact/1

* Implement show_sensitive? config

* Use Application.compile_env/3 instead of Application.get_env/3

* Update sensitive-data.md
2024-05-21 08:47:51 -04:00
Zach Daniel
2dcbafac4e chore: add alternative in doc 2024-05-18 10:30:59 -05:00
Sucipto
441bc74d40
docs: fix typo on destroy actions (#1174) 2024-05-16 09:54:06 -05:00
Zach Daniel
751153990b docs: add alternatives guide 2024-05-16 09:38:31 -05:00
Alan Heywood
4214522302
^ref argument order fixes (#1171) 2024-05-15 19:56:06 -04:00
m0rt3nlund
d3ff7b1656
Update sensitive-data.md, tyring to clearify that public? applies to … (#1168)
* fix typo

* Update sensitive-data.md, tyring to clearify that public? applies to read

---------

Co-authored-by: Barnabas Jovanovics <barnabas.jovanovics@gmail.com>
2024-05-15 09:31:52 -04:00
Zach Daniel
35bbd3f1b0 docs: use strict_loads false in upgrade guide 2024-05-14 21:29:48 -04:00
Barnabas Jovanovics
ca61d56fcf
docs: fix typo (#1164) 2024-05-14 09:50:06 -04:00
Rebecca Le
6afd9f57f2
docs: Clarify resource code in Actions guide (#1156) 2024-05-13 07:30:59 -04:00
Zach Daniel
a3bc76e29a chore: update upgrade guide links 2024-05-11 01:29:06 -04:00
Zach Daniel
32446b0b2e chore: fixes around policy exceptions
docs: add policy how-to guide
2024-05-10 15:26:23 -04:00
Zach Daniel
b000259418 docs: add preparations doc 2024-05-09 20:52:44 -04:00
Zach Daniel
5f1bfe60b2 docs: add info in guide for accept in actions 2024-05-09 20:40:26 -04:00
Zach Daniel
48c6438212 improvement: change default timeout to :infinity, for efficiency 2024-05-07 17:01:11 -04:00
Barnabas Jovanovics
815ceff61d
Do not define info inside extension because of compile dependency (#1120) 2024-05-06 09:26:09 -04:00
Zach Daniel
e03e4379a9 fix: small logic fixes for optimistic locking error case
chore: a bunch of QoL fixes around inspecting expressions
2024-05-04 01:10:04 -04:00
Zach Daniel
f67749ccf1 docs: update tenancy docs 2024-05-03 17:16:49 -04:00
Abhishek Tripathi
bacc147837
docs: ash actions are run in transaction (#1093) 2024-05-03 10:40:58 -04:00
Rebecca Le
c1fd3f36ad
docs: Add some examples to the Identities guide, with a link to the DSL docs (#1097) 2024-05-02 11:25:50 -04:00
Zach Daniel
5ad47c10cf fix: enforce that transaction hooks are not added from other hooks
closes #1096
2024-05-02 09:23:41 -04:00
Rebecca Le
0e30ed0e65
docs: Update code interface syntax in Domains guide (#1095)
The action name is part of the `opts` keyword list
2024-05-02 07:59:19 -04:00
Zach Daniel
d44755a07a chore: update package description 2024-05-01 15:23:42 -04:00