Zach Daniel
ce3ae44a4c
improvement: add more authorizer state management
...
Added more opportunities for authorizers to pass back state.
This is being used to ensure that ash policy authorizer errors
can always have enough information to provide a policy breakdown
2021-12-21 12:24:12 -05:00
Zach Daniel
6b95dec339
improvement: customizable exception for authorizers
2021-12-21 01:07:06 -05:00
Zach Daniel
77f5e69c8c
fix: fix recursion in do_reverse_relationship_path/3
2021-12-20 22:13:52 -05:00
Zach Daniel
f0870461a4
fix: properly construct reverse relationship paths
2021-12-20 21:13:14 -05:00
Zach Daniel
e40806e021
improvement: cover more potential cases in filter parsing
2021-12-19 15:39:31 -05:00
Zach Daniel
2986838a19
fix: support new versions of ecto's struct fields
...
fix: fixes for elixir_sense plugin
2021-12-19 00:12:10 -05:00
Zach Daniel
6c5198eea4
improvement: add elixir_sense extension, to be merged when ready ( #275 )
2021-12-13 18:17:34 -05:00
Zach Daniel
88168de320
improvement: add Ash.DataLayer.Simple.set_data/2
...
docs: add data-layer-less resource guide
2021-12-07 21:39:07 -05:00
Zach Daniel
3ee5b059b0
improvement: complete mutually_exclusive_and_collectively_exhaustive logic
2021-12-07 15:08:50 -05:00
Zach Daniel
4448a4eeb7
improvement: catch more equivalencey cases around is_nil in sat solver
2021-12-06 16:50:33 -05:00
Zach Daniel
e1cd19950e
fix: undo an unnecessary contains
change
2021-12-06 00:33:25 -05:00
Zach Daniel
9fdb56587c
fix: WIP attempt to resolve ci_string typing errors
2021-12-06 00:25:07 -05:00
Zach Daniel
d9ce401bb4
fix: case clause error in Query.equivalent_to?
2021-12-01 14:59:23 -05:00
Zach Daniel
48d88151ba
fix: missing rename on refactor
2021-12-01 14:04:14 -05:00
Zach Daniel
6fcff37659
fix: typo in unquote
2021-12-01 14:03:48 -05:00
Zach Daniel
a5b130e5f4
improvement: expose small filter helpers
2021-12-01 14:02:44 -05:00
Zach Daniel
a46b5268d1
fix: mark contains
as a predicate
...
improvement: make to_simple_filter fail better, add failure option
2021-11-29 14:06:31 -05:00
Zach Daniel
df306ef2ad
improvement: add Transformer.eval/3
(for special use cases only)
2021-11-26 14:59:37 -05:00
Zach Daniel
83b2d13910
improvement: track defaults being set
2021-11-24 19:09:39 -05:00
Zach Daniel
2dbdc06536
improvement: add Ash.Query.equivalent_to/2
...
docs: small documentation tweaks
2021-11-16 22:46:14 -05:00
Zach Daniel
b6094b1e9c
improvement: add subset_of?
and superset_of?
query macros
2021-11-16 19:17:57 -05:00
Zach Daniel
b26e272bb4
fix: run calculations inline by default
2021-11-13 14:43:51 -05:00
Michael St Clair
f9b7223d91
fix: use Date.add when using LessThanOrEqual with date value ( #281 )
2021-11-13 14:11:32 -05:00
Zach Daniel
7cb4401d8e
improvement: support do/else blocks in if
...
improvement: support `cond`
2021-11-13 13:48:25 -05:00
Zach Daniel
f124e9bf7c
fix: cast nil input on strings
...
docs: add line on multitenancy
2021-11-11 14:27:57 -05:00
Zach Daniel
034ed97efe
fix: simplify and improve allow_nil checking
2021-11-09 03:26:50 -05:00
Zach Daniel
f16ffb3782
improvement!: breaking!: explicitly setting a value to nil on create no longer falls back to the default value
...
This behavior is more expected than silently switching back to the default, but it does have the potential
to cause issues for those relying on the old behavior. To get the *old* behavior, you'd want to add a change
that does something like `if is_nil(Ash.Changeset.get_attribute(changeset, :attribute)) do` to check if
it should set the value, and then uses `Ash.Changeset.change_attribute/2` to make the change
2021-11-09 00:39:19 -05:00
Zach Daniel
1d68df5cd3
improvement: add set_new_attribute/2
2021-11-09 00:01:59 -05:00
Zach Daniel
23dfebc59f
chore: add code interface docs
2021-11-07 01:24:45 -04:00
Zach Daniel
629708eecc
improvement: still filter in cases w/o a lateral join on load
...
fix: don't ask the data layer to sort if no sort is applied
2021-11-03 17:21:29 -04:00
kernel-io
3b06998df5
fix: set tenant at start of query build ( #278 )
2021-11-02 16:59:55 -04:00
Zach Daniel
ca631d27da
improvement: only_when_valid?
on changes
...
fix: set storage_type to `:uuid` for Ash.Type.UUID
2021-11-01 04:39:13 -04:00
Zach Daniel
68d7d10877
fix: remove IO.inspect
2021-10-29 19:53:24 -04:00
Zach Daniel
cd70686a4e
fix: add changes from last release that I forgot
2021-10-29 18:39:13 -04:00
Zach Daniel
ea73432ff1
improvement: compile time optimizations via configuration
...
improvement: breaking change! if you were previously relying on the undocumented
ability to configure resources using application config, you will no longer configure
them as `config :ash, DslEntity`, but rather you will set an otp_app on the entity,
e.g `use Ash.Resource, otp_app: :otp_app`, and then you'll configure that via
`config :otp_app, MyApp.Resource, ...`
2021-10-29 17:21:05 -04:00
kernel-io
4113595f69
fix: correctly handle errors in validate_required_belongs_to ( #276 )
2021-10-28 17:38:14 -04:00
Zach Daniel
9613ab812c
fix: set actor when loading to manage belongs_to
...
improvement: set `action` into data layer context
2021-10-28 16:11:11 -04:00
Zach Daniel
dc25e9d7e4
fix: cast to string before concatenating
2021-10-26 11:54:44 -04:00
Zach Daniel
13cffc852c
fix: always lateral join for many to many relationships
...
improvement: add `default` option for aggregates
2021-10-25 18:48:35 -04:00
Zach Daniel
05d8eb1741
improvement: add allow_async?
to calculations, default to false
...
improvement: add elixir evaluation step to expression calculations
2021-10-25 17:53:51 -04:00
Zach Daniel
e17daf6b02
improvement: global resource preparations
...
fix: unset `load` when running calculation queries
2021-10-25 16:59:11 -04:00
Zach Daniel
358a1b5cae
fix: breaking change! disambiguating functions in keyword filter syntax
...
it was possible to call functions in the form of `[function_name: [...args]]`,
but if you had relationships that overlapped w/ the function name that would cause problems.
To disambiguate, function arguments must now be provided as a tuple, e.g
`[function_name: {...args}]`.
2021-10-24 14:19:38 -04:00
Zach Daniel
e765eb5e10
fix: use correct typespec for Ash.Sort.parse_input/2
2021-10-23 02:51:49 -04:00
Zach Daniel
8683ca46c9
chore: set default for get?
2021-10-21 22:13:10 -04:00
Zach Daniel
0e66801ebe
improvement: add get? metadata
2021-10-21 22:12:28 -04:00
Zach Daniel
f0ab170b5d
chore: remove IO.inspect
2021-10-21 18:11:35 -04:00
Zach Daniel
1805c21075
improvement: custom error paths for managed relationships
2021-10-21 18:09:13 -04:00
Zach Daniel
d8f6aaedf2
fix: honor get_by
and get_by_identity
on bang (!) interfaces
2021-10-20 01:43:31 -04:00
Zach Daniel
5e6442c3e4
improvement: add get_by
and get_by_identity
to code interface
...
improvement: compile time validations for managed relationships
2021-10-19 21:39:30 -04:00
Zach Daniel
a4fef11c6e
fix: don't require primary actions if disabled
2021-10-19 05:25:33 -04:00