Zach Daniel
19fe132717
improvement: add basic type handling for non embedded resources
2022-06-17 15:12:14 -04:00
Zach Daniel
70c6bd64ee
improvement: better transformer ordering error
...
chore: docs
2022-06-17 10:00:04 -04:00
Zach Daniel
1df97999f4
fix: use digraph to order transformers
2022-06-16 04:10:32 -04:00
Zach Daniel
1b6fc035af
chore: remove unnecessary change
2022-06-16 02:51:48 -04:00
Zach Daniel
6aa0c0b591
fix: things breaking due to stricter expectations on type function inputs
2022-06-16 01:57:04 -04:00
Zach Daniel
9a60877f22
chore: simplify is?/2
2022-06-16 00:55:07 -04:00
Zach Daniel
0804ad6e85
improvement: don't pay massive costs of a function undefined error
2022-06-16 00:50:02 -04:00
Zach Daniel
abf25dafbb
fix: depend on all entries in registry
2022-06-14 20:30:13 -04:00
Zach Daniel
329accd565
improvement: optimize related resource inclusion check
2022-06-14 15:42:38 -04:00
Zach Daniel
5b0a5d238b
fix: don't disable lexical tracker for extensions
2022-06-14 14:39:17 -04:00
Zach Daniel
56656deda4
fix: properly set the changed?
context
2022-06-10 10:09:49 -04:00
Zach Daniel
4b57bcc8c7
improvement: add resource to notification warning
2022-06-10 09:52:07 -04:00
Zach Daniel
e19ca1ec66
fix: always return all notifications if return_notifications?: true
2022-06-09 13:52:32 -04:00
Zach Daniel
084b998cab
improvement: add config :ash, :pub_sub, debug?: true
2022-06-09 11:00:53 -04:00
Zach Daniel
ae823e3539
improvement: add from
to notification, and notification_metadata
to api
2022-06-08 13:16:42 -04:00
Zach Daniel
74dc200c01
docs: more work on docs
2022-06-07 15:31:09 -04:00
Zach Daniel
dd3b212008
chore: try escaping html
2022-06-07 15:07:11 -04:00
Zach Daniel
df14b30a8a
docs: add Ash.DocIndex
to doc index
2022-06-07 15:04:42 -04:00
Zach Daniel
ff890e4654
docs: more work on doc replacements/info
2022-06-07 14:57:30 -04:00
Zach Daniel
b0e58ab57d
docs: fix route for overview
2022-06-05 15:06:01 -04:00
Zach Daniel
dc2f57423b
fix: read file at compile time for doc index
2022-06-05 14:42:03 -04:00
Zach Daniel
091251869f
chore: reorder overview
2022-06-05 14:28:51 -04:00
Zach Daniel
dc14f4016a
chore: fix guide reference
2022-06-05 13:45:54 -04:00
Zach Daniel
74a1a6c97c
docs: work on docs + link structure
2022-06-05 13:05:10 -04:00
Zach Daniel
ae65d09373
docs: work on docs structure
2022-06-05 12:13:29 -04:00
Zach Daniel
0d7eac7829
chore: fix typespec
2022-06-04 17:05:49 -04:00
Zach Daniel
a626f8d92d
fix: when casting atom -> string, stringify it first
...
*duh*
2022-06-03 20:35:36 -04:00
Zach Daniel
bdfdc778e0
fix: move preparation init to runtime
2022-06-02 23:53:38 -04:00
Zach Daniel
571c138140
improvement: add identity_priority
and use_identities
option to manage_relationship
2022-06-02 02:08:36 -04:00
Zach Daniel
f8164f6745
improvement: support limit in simple data layer
2022-06-01 23:54:01 -04:00
Zach Daniel
393dd7326f
fix: don't automatically url encode keyset values
2022-05-31 12:18:52 -04:00
Simon Bergström
71884dfa5f
fix: fixed bug wher embedded resources would always provide defaults, not allowing you to declare your own (primary?) actions ( #339 )
2022-05-31 11:58:56 -04:00
Zach Daniel
93424fd16a
fix: keyset pagination counts all rows
2022-05-31 11:56:15 -04:00
Zach Daniel
6d0cbec244
fix: fetch items closest to cursor by reversing keyset sort
2022-05-31 11:17:14 -04:00
Zach Daniel
669c98b379
fix: keyset + before results must be reversed
2022-05-31 10:34:35 -04:00
Theo Harris
021d859990
docs: Fix code block that wrapped non-code text ( #341 )
2022-05-31 10:19:10 -04:00
Theo Harris
4aac381cb1
docs: Add clarifying language around the use of the Enum module ( #340 )
2022-05-31 10:18:42 -04:00
Zach Daniel
067228980e
improvement: add key
to InvalidKeyset
error
2022-05-30 16:41:49 -04:00
Zach Daniel
7a0cfd3ab1
improvement: better error message on invalid keyset
...
closes #336
2022-05-30 16:32:17 -04:00
Zach Daniel
cc82a1a0cb
chore: WIP on documentation push
2022-05-30 15:57:56 -04:00
Zach Daniel
225d4289f6
chore: format
2022-05-28 21:21:36 -04:00
Simon Bergström
4273a5d23a
improvement: added options to the built-in function relate_actor/1
( #332 )
2022-05-28 21:21:14 -04:00
Zach Daniel
02b1194062
chore: fix tests/transformers
2022-05-28 11:22:43 -04:00
Zach Daniel
8b10b892ef
improvement: add :_pkey
shortcut in pub_sub
...
improvement: validate `pre_check_with` is set for ets/mnesia identities
improvement: clearer and raised error message on changeset action mismatch
2022-05-28 11:12:08 -04:00
Zach Daniel
915209da8f
improvement: accept atoms when casting strings
2022-05-25 17:49:48 -04:00
Zach Daniel
3f85d019de
chore: some options helper improvements/docs
2022-05-25 12:23:16 -04:00
Zach Daniel
129c3d33e9
fix: rename interval
to duration_name
2022-05-23 16:20:02 -04:00
Theo Harris
9b5c713bcd
docs: Spelling fixes, add :upsert_identity example ( #327 )
...
* Minor spelling fixes, :upsert_identity example
* Grammatical tweaks in API docs
* Adjust phrasing, consistent formatting
2022-05-20 10:25:23 -04:00
Zach Daniel
ddde776fd0
improvement: specify that upserts could be related at creation
2022-05-20 09:55:17 -04:00
Darren Black
430e6676bd
fix: Fix concat ( #326 )
2022-05-19 10:24:53 -04:00
Darren Black
35a19f800d
fix: Make get and get! consistent with what they raise when no record found ( #325 )
2022-05-18 21:37:04 -04:00
Zach Daniel
574e06b583
fix: add resource/action to policy error context
2022-05-18 15:20:05 -04:00
Zach Daniel
44a72226da
fix: don't ignore lazy load option
2022-05-18 13:11:30 -04:00
Zach Daniel
64e9ecb0bc
fix: return {:ok, nil}
on nil cast for strings
2022-05-17 20:00:55 -04:00
Zach Daniel
d3cb202a12
chore: add ash_phoenix to sub-project tests
...
docs: add `Ash.Policy.Authorizer` to doc index
2022-05-17 16:34:14 -04:00
Zach Daniel
b3e0632792
improvement: move ash_policy_authorizer into core as Ash.Policy.Authorizer
2022-05-17 15:56:40 -04:00
Zach Daniel
0ec5a6d7b0
fix: run after_action in create properly
2022-05-17 12:28:15 -04:00
Zach Daniel
5e270288e6
fix: require calculations specified on resource load
2022-05-17 11:54:02 -04:00
Zach Daniel
f152b4ad36
fix: ensure that the default accept is used
2022-05-12 18:51:05 -04:00
Zach Daniel
5a674c1409
fix: distinct before limit and offset
2022-05-10 16:30:36 -04:00
Zach Daniel
f38b9b8859
improvement: work on module dependencies
2022-05-10 11:33:24 -04:00
Zach Daniel
734f2e0ac6
fix: add distinct in data_layer_query
2022-05-10 10:17:50 -04:00
Zach Daniel
7af5c3c59e
chore: take distinct
out where necessary
2022-05-10 10:17:02 -04:00
Zach Daniel
c71587642d
chore: QoL improvements
2022-05-09 17:48:50 -04:00
Zach Daniel
92609b33ea
fix: merge calculations when merging loads
...
closes #309
2022-05-09 17:47:17 -04:00
Zach Daniel
a39ebd5646
improvement: use new no_depend_modules
everywhere
2022-05-08 23:58:06 -04:00
Zach Daniel
d29cc54725
fix: add no_depend_modules
for changes/validations
2022-05-08 23:38:01 -04:00
Zach Daniel
904968b936
improvement: add no_fields?
relationships
2022-05-03 18:56:37 -04:00
Zach Daniel
98a7ac06b8
fix: match on :unknown
not {:ok, :unknown}
2022-04-28 20:19:23 -04:00
Zach Daniel
6e4ecc62e3
fix: run calc in data layer if it returns :unknown
2022-04-28 20:12:54 -04:00
Zach Daniel
74cc7c4ad5
fix: don't ignore lexical tracker on modules in DSL
...
improvement: add manual read actions
fix: don't treat single actions of a type as primary
2022-04-28 18:08:00 -04:00
Zach Daniel
f6ea11c10f
fix: go back to old method of checking for resource
2022-04-27 09:49:18 -04:00
Zach Daniel
e502f51470
fix: properly load from load
statement in calculations
2022-04-26 22:57:07 -04:00
Zach Daniel
989cb5d22e
improvement: calculation values from requests
2022-04-26 13:02:46 -04:00
Zach Daniel
d3da724422
fix: send notifications in all cases
...
improvement: small optimizations
2022-04-26 00:16:28 -04:00
Zach Daniel
7a1e32908a
improvement: more flow features/fixes, debug step
2022-04-25 17:01:23 -04:00
Zach Daniel
d16432750f
fix: use unpaginated read when loading
2022-04-20 19:43:41 -04:00
Zach Daniel
3fc088d1fc
fix: properly handle errors in mnesia transactions
...
improvement: work on transaction flow steps
2022-04-20 14:38:35 -04:00
Frank Dugan III
f291680622
Chore: Fix typo ( #318 )
2022-04-20 10:17:59 -04:00
Zach Daniel
49929de5a1
fix: default custom steps to be async?: false
2022-04-19 12:04:25 -04:00
Zach Daniel
e7c6ac0f4f
fix: get tests/dialyzer passing
2022-04-19 11:29:28 -04:00
Zach Daniel
6f9f0137ec
chore: release version v1.52.0-rc.1
2022-04-18 23:50:26 -04:00
Zach Daniel
0de8b7bc2c
chore: add flow descriptions
2022-04-18 21:13:36 -04:00
Zach Daniel
61f250d620
improvement: load
on cast_stored
in embedded type
2022-04-18 17:45:10 -04:00
Zach Daniel
7dc5e54af0
improvement: add descriptions to mermaid charts/flow
2022-04-18 13:39:54 -04:00
Zach Daniel
4e19223173
improvement: tons of engine/timeout improvements
2022-04-17 23:56:01 -04:00
Josh Price
c03c3d6175
improvement: implement NaiveDateTime type ( #312 )
2022-04-16 22:09:44 -04:00
Josh Price
21eca98530
improvement: Improve usability of finding by primary key (ID) ( #294 )
2022-04-16 13:25:34 -04:00
Josh Price
6ac4a84ec9
fix: Handle date type cast_input with nil value ( #311 )
2022-04-16 11:12:20 -04:00
Josh Price
cf314d5a6b
improvement: Add time type matching existing date type ( #310 )
2022-04-16 09:31:31 -04:00
Zach Daniel
e452c40919
chore: handle non-boolean values from runtime filter
2022-04-10 20:21:36 -04:00
Zach Daniel
9f21435dbf
fix: fix expression logic
...
improvement: flow -> mermaid chart
improvement: flow tenants
improvement: fix nested map statements in flow
2022-04-10 20:00:57 -04:00
Zach Daniel
ea1adcf230
fix: remove IO.inspect
2022-04-08 02:15:46 -04:00
Zach Daniel
25f5a27525
fix: don't throw away timeout exit
2022-04-08 02:12:41 -04:00
Zach Daniel
20a9f76c8d
fix: timeouts @ the engine, not the parent process
2022-04-08 02:04:26 -04:00
Zach Daniel
24d9948ddb
fix: timeout logic was timing out after the fact
2022-04-08 01:48:45 -04:00
Zach Daniel
868bb9a6e7
fix: uniqueify list_refs
even further
2022-04-07 22:53:56 -04:00
Zach Daniel
c98910add6
improvement: add dynamic allow list
...
improvement: uniqify list_references
2022-04-07 22:33:48 -04:00
Zach Daniel
5bf8c39975
improvement: set default timeout to 30_000
2022-04-07 02:13:41 -04:00
Joe Cole
6dcbe26abe
fix: Enforce unique action names ( #308 )
...
Co-authored-by: Joe Cole <{ID}+{username}@users.noreply.github.com>
2022-04-07 01:14:07 -04:00
Zach Daniel
e23f2a705d
fix: pass tenant option to requests properly
...
docs: work on docs
2022-04-06 23:13:21 -04:00
Zach Daniel
0309f7131e
improvement: fully deprecate the resource
entity
2022-04-06 13:12:22 -04:00
Zach Daniel
be9e564d57
chore: fix identity docs/tests
2022-04-06 12:22:34 -04:00
Zach Daniel
4fc53baf5f
improvement: add eager validate identities
...
improvement: percolate `nil` values in operators in ash expresion language (like SQL)
chore: more docs work
2022-04-06 12:00:32 -04:00
Damir Vandic
3ea7dc2ec0
fix: Fix typespecs in Ash.Api ( #307 )
2022-04-05 18:11:40 -04:00
Zach Daniel
7c13322aa4
improvement: add return_destroyed?
option
2022-04-05 12:42:50 -04:00
Zach Daniel
84ed398980
chore: docs/ci work
2022-04-05 03:59:34 -04:00
Zach Daniel
a012287c3b
fix: fix resource relationship validation
2022-04-04 15:18:53 -04:00
Zach Daniel
6c523b9752
continue working on docs
2022-04-04 14:55:05 -04:00
Zach Daniel
022708c6b5
improvement: add api
option to relationships
...
improvement: make default actions and primary actions far more explicit
this begins the official 2.0.0 work
2022-04-04 01:48:37 -04:00
Zach Daniel
8aa71c1e2c
fix: fix paths for load in flow
...
improvement: better error messages on unknown
2022-04-02 02:39:55 -04:00
Zach Daniel
59075efa03
fix: aggregate/calculation filter issues
2022-04-01 19:08:06 -04:00
Zach Daniel
ae630581ea
improvement: better loading behavior for managed relationships
...
improvement: add lazy? option for loading
2022-04-01 15:17:01 -04:00
Zach Daniel
e017722868
improvement: show value in atom error list
2022-03-31 20:54:06 -04:00
Zach Daniel
0db42cb76a
chore: update doc index
2022-03-31 20:37:40 -04:00
Zach Daniel
9bdd496688
improvements: remove no_modify?
from read
2022-03-30 17:42:07 -04:00
Zach Daniel
c7ff13c2ef
chore: build/lint
2022-03-30 11:37:44 -04:00
Zach Daniel
b7c6005acb
improvement: add modify_query
callback
2022-03-30 11:36:10 -04:00
tlietz
da5306c773
improve: Provide api read error message on no data set ( #302 )
2022-03-29 21:07:44 -04:00
Zach Daniel
b645b04c1d
chore: add code_modules to doc index
2022-03-29 20:43:11 -04:00
Zach Daniel
5ba6439810
fix: show error message in NoSuchResource
...
improvement: add overview
2022-03-29 11:59:59 -04:00
Zach Daniel
2094c37272
chore: clear documentation out for a fresh start
2022-03-28 20:20:08 -04:00
Zach Daniel
49727a0447
improvement: add build_entity!
...
improvement: properly parse `{:_ref, path, name}`
improvement: add `deselect` to build
fix: import builtin preparations in global preparations block
2022-03-28 01:14:50 -04:00
tlietz
12cfe0d848
improvement: validates attributes and relationships have unique names ( #300 )
2022-03-27 20:00:19 -04:00
Zach Daniel
592daaad3f
chore: WIP on doc index
2022-03-27 14:32:33 -04:00
Zach Daniel
e83c54a949
chore: add back guides
2022-03-27 13:08:27 -04:00
Zach Daniel
fed4ca7bb2
chore: fix doc index
2022-03-27 12:15:00 -04:00
Zach Daniel
8a5f7b3f84
chore: remove guides
2022-03-27 12:14:28 -04:00
Zach Daniel
d358f4dc49
chore: get started on guides
2022-03-27 00:49:41 -04:00
Zach Daniel
3c8636bc0b
chore: update doc index
2022-03-25 16:08:51 -04:00
Zach Daniel
29b9569d15
chore: remove duplicate item from doc index
2022-03-25 00:37:08 -04:00
Zach Daniel
a5106c6095
improvement: validate no embeds in api
2022-03-25 00:18:56 -04:00
Zach Daniel
f9734af48c
chore: get final tests passing
2022-03-24 23:36:43 -04:00
Zach Daniel
77bc84194a
chore: set proper module for registry docs
2022-03-24 22:38:30 -04:00
Zach Daniel
cc58d7c9ba
chore: separate ash doc index from doc index
2022-03-24 22:29:18 -04:00
Zach Daniel
e7f9bfe88c
chore: move to a DocIndex
pattern
2022-03-24 22:25:14 -04:00
Zach Daniel
90be7959b5
chore: fix syntax error from docs change
2022-03-24 10:02:28 -04:00
Zach Daniel
6ffd216892
chore: more docs tweaks
2022-03-24 01:01:43 -04:00
Zach Daniel
7b02117531
chore: more extension docs for new docs site
2022-03-24 00:27:21 -04:00
Zach Daniel
27df3f0ba8
chore: begin work on extension auto-doc features
2022-03-24 00:02:29 -04:00
Zach Daniel
e10112113c
fix: add load
option convenience for reads/code interface
...
fix: handle errors in all action types where `changeset` wasn't resolved
2022-03-23 23:22:03 -04:00
Zach Daniel
b12f12be49
improvement: properly attach authorization_filters to loaded items
2022-03-22 23:19:07 -04:00
Zach Daniel
f5502ff8ff
fix: always sanitize requests before we spawn them
2022-03-22 18:40:10 -04:00
Zach Daniel
b5b0067880
fix: context name in loading manual relationships
...
chore: try setting authorizer? explicitly on engine opts to resolve a bug
2022-03-22 18:34:58 -04:00
Maciej Malecki
e1250b419a
Fix the typespec for the Ash.Changeset.get_data/2
function ( #295 )
2022-03-22 10:01:19 -04:00
Zach Daniel
880a17f197
fix: get aggregate query from proper engine path
2022-03-20 21:16:46 -04:00
Zach Daniel
23ea0ee056
fix: handle error case in create
...
improvement: add `ref` template helper
fix: don't require attributes if an argument overrides them
2022-03-20 20:39:47 -04:00
Zach Daniel
7ba9715f27
fix: fix hanging issue when adding engine requests
2022-03-20 01:08:39 -04:00
Zach Daniel
96c45e1a58
improvement: add transaction steps to flow
...
fix: don't require `writable?: false` attributes
2022-03-19 23:51:45 -04:00
Zach Daniel
920dff7f00
fix: pull aggregate values properly
2022-03-15 19:55:23 -04:00
Zach Daniel
81dcbf1bdf
fix: fix nested section configs having wrong path
2022-03-15 18:58:21 -04:00
Zach Daniel
a53b61ddf4
feat: add Ash.Flow
...
feat: support recursive DSL entities.
improvement: unimport to avoid name collisions in nested DSLs
2022-03-15 17:42:29 -04:00
Zach Daniel
335fa523f2
improvement: disable lexical tracker when expanding aliases
2022-03-02 01:04:57 -05:00
Zach Daniel
b6c16897f3
improvement: temporarily move init to runtime for changes
2022-03-01 21:50:36 -05:00
Zach Daniel
f50cf32b7b
fix: don't rescue errors in resource_formatter
...
fix: add `input/2` to resource modules
2022-02-23 10:37:15 -05:00
Zach Daniel
d38320b00d
fix: move back to more efficient formatter
...
However, we now only format the topmost module of a file, due to
unresolved bugs that happened with multiple nested resources
2022-02-20 23:16:23 -05:00
Zach Daniel
ba1b39536e
feat: manual relationships
...
fix: make the formatter safer, again
2022-02-20 22:46:39 -05:00
kernel-io
7121c56b70
fix: typo in changeset.ex ( #291 )
2022-02-17 12:55:12 -05:00
Zach Daniel
ab4e724af6
fix: don't blow away sections when formatting
2022-02-17 12:51:21 -05:00
Zach Daniel
f6b71e6b5b
fix: properly reorder sections in the formatter
2022-02-17 12:44:30 -05:00
Zach Daniel
268bc39a4c
fix: solve reorder bugs in formatter
2022-02-17 02:48:03 -05:00
Zach Daniel
15bdae0d99
feat: add source
option to attributes
2022-02-14 11:38:45 -05:00
Zach Daniel
da04a883d9
improvement: add cast_in_query?/0
to Ash.Type
2022-02-14 10:23:17 -05:00
Zach Daniel
ca6a79c360
improvement: small data layer improvements
2022-02-11 15:52:23 -05:00
Zach Daniel
334a73984c
improvements: add is_expr?, allow aggregates in aggregates
2022-02-09 12:13:51 -05:00
Zach Daniel
0268c06c63
fix: include a missing module
...
fix: properly set filterability on attributes
2022-02-07 16:36:51 -05:00
Zach Daniel
079b941e90
chore: release version v1.50.18
2022-02-07 15:39:12 -05:00
Zach Daniel
1b2d28eb90
fix: no IO.inspect, and log errors from formatting
2022-02-02 17:14:29 -05:00
Zach Daniel
4138bd4934
improvement: initial implementation of ash resource formatter
2022-02-02 17:02:43 -05:00
Zach Daniel
9eff65758c
improvement: ensure no reserved names can be used as constraints
2022-02-02 17:02:43 -05:00
Zach Daniel
9143cf2359
chore: release version v1.50.17
2022-01-31 15:05:43 -05:00
Zach Daniel
5ba1cf5a1e
improvement: optimize if
and is_nil
functions
...
chore: change alpha -> beta
2022-01-27 15:17:21 -05:00
Zach Daniel
7a7cb12de7
fix: use ash_struct_fields
to accumulate schema struct field defaults
2022-01-24 14:36:08 -05:00
Zach Daniel
7174fa8583
improvement: add where
to change
2022-01-19 16:33:01 -05:00
Zach Daniel
501f375e60
fix: don't call add_aggregates w/ a map
2022-01-19 16:32:44 -05:00
Zach Daniel
101628471e
improvement: support data layers bulk adding aggregates
2022-01-12 13:47:01 -05:00
Zach Daniel
ef81843240
fix: allow new filter
pattern in typespec
2021-12-21 13:06:19 -05:00
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
Zach Daniel
3bad25c1e0
improvement: add primary_actions?
option
2021-10-19 04:42:35 -04:00
Zach Daniel
38b357ade9
fix: don't validate allow_nil in attribute casting
2021-10-15 17:13:01 -04:00
Zach Daniel
1f2f9802a3
fix: fix code interface on resources
...
improvement: breaking change! api level code interface *removed*, contact me on discord if you want a way to avoid changing to resource-based interface, but otherwise
switch to the resource based one by specifying `define_for YourApp.YourApi` in the `code_interface` block of each resource.
improvement: use proper equality checking in places where we were using simple elixir equality checking
2021-10-13 18:42:42 -04:00
Zach Daniel
863ed1520f
fix: honor base query still when removing filters
2021-10-11 20:06:13 -04:00
Zach Daniel
922c87ea85
improvement: add resource registry validation
...
fix: move related field validations to resource
fix: remove join_attributes, which didn't do anything anyway
2021-10-11 15:14:33 -04:00
Zach Daniel
028c0c6c32
improvement: support module_prefix
for dsl extensions
...
fix: handle errors when validation calculation constraints
2021-10-08 15:59:15 -04:00
Zach Daniel
9fbc2921f9
fix: remove certain modules from avoiding recompilation
2021-10-07 13:37:37 -04:00
Zach Daniel
ff756b72a7
improvement: deprecation!
...
A deprecation warning will be shown at compile time to illustrate
a change from listing all of your resources in an api to listing
them in a registry and connecting that registry to the api
2021-10-07 02:41:02 -04:00
Zach Daniel
87627993b8
improvement: breaking change! don't define code interface by default
...
In an effort to improve compile times in general, and remove unnecessary
compile time dependencies, the code interface is not defined by default.
It is also now possible to define the code interface directly in the resource module,
via
```elixir
code_interface do
define_for ApiModule
end
```
If you need to reenable the code interface, simply add the following to your api module:
```elixir
resources do
define_interfaces? true
...
end
```
2021-10-06 17:43:22 -04:00
Zach Daniel
a955d89b8f
fix: make arrays default to nil_items?: false
2021-10-04 13:23:23 -04:00
Michael St Clair
8af32a0053
chore: Bring over changes committed to master branch ( #271 )
...
Co-authored-by: kernel-io <git@omnium.co>
Co-authored-by: Zach Daniel <zach@zachdaniel.dev>
Co-authored-by: kernel-io <kernel-io@users.noreply.github.com>
2021-10-01 23:27:35 -04:00
Zach Daniel
c19acf767c
fix: support on
for global changes
...
improvement: skip resource action if no changes have been made
improvement: add `changing_attributes?/1` to determine if any attributes are chaning
2021-09-20 16:30:30 -04:00
Zach Daniel
61dcd56d0e
fix: return proper result when input is struct
2021-09-19 14:17:14 -04:00
Zach Daniel
bead3f528e
improvement: add global changes
2021-09-18 21:57:44 -04:00
Zach Daniel
63b141a0b8
fix: remove File.read! from docs
2021-09-17 17:51:31 -04:00
Zach Daniel
1f47e63c0c
improvement: upgrade docs/tooling for elixir_sense
2021-09-17 17:44:11 -04:00
Zach Daniel
b2fea24a25
improvement: set docs statically
2021-09-17 01:43:18 -04:00
Zach Daniel
294130e3f3
improvement: improvements for elixirsense integration
2021-09-17 01:22:55 -04:00
Zach Daniel
3aaba3f340
improvement: transformer/extension improvements
...
improvement: add path to errors
2021-09-16 03:41:33 -04:00
Zach Daniel
3a284bb644
improvement: remove IO.inspect :*( and fix sobelow
2021-09-15 13:51:46 -04:00
Zach Daniel
c2bd76cba2
fix: set tenant properly on create interface
2021-09-15 13:50:11 -04:00
Zach Daniel
4e23e63428
improvement: support non-endpoint pubsub adapters
2021-09-14 17:17:56 -04:00
kernel-io
63a16be5de
fix: update type spec for Ash.Sort to include single atom instead of only list. ( #263 )
2021-09-13 21:52:48 -04:00