Zach Daniel
b4766d1ccc
chore: set typespec to proper return value
2022-09-20 20:00:30 -04:00
Zach Daniel
39b143e19e
chore: undo typespec that is complaining for some reason
2022-09-20 19:48:45 -04:00
Zach Daniel
1f6fb8d7af
chore: fix tests
2022-09-20 19:44:04 -04:00
Zach Daniel
3903e36d29
improvement: update to latest spark, support dsls in resource info
2022-09-20 16:09:40 -04:00
Zach Daniel
87f20369bc
improvement: deprecate :replace
in favor of :relate_and_unrelate
2022-09-19 15:44:06 -04:00
Zach Daniel
2ca0f09444
improvement: add loading?/1
query helper
...
improvement: add `loading/1` built in check
2022-09-19 10:14:08 -04:00
Zach Daniel
bee3a6ea09
fix: properly handle args/nested expression for tuple calcs
2022-09-16 03:54:17 -04:00
Zach Daniel
003ba3246b
fix: add a case for calculations as tuples in expr filters
2022-09-16 03:47:12 -04:00
Zach Daniel
cc5c1b69c0
fix: return count, not {:ok, count}
2022-09-15 17:12:40 -04:00
Zach Daniel
301d5b56d9
fix: bad return value when async fetching counts
2022-09-15 17:06:56 -04:00
Zach Daniel
405019d33b
fix: remove dbg() call
2022-09-15 16:54:58 -04:00
Zach Daniel
da282d1193
docs: hide a function from docs
2022-09-15 16:52:06 -04:00
Zach Daniel
266ecc8249
fix: nil
casts as any type (sort of)
2022-09-15 02:15:23 -04:00
Zach Daniel
1b2d351721
fix: return nil
on nil
inputs for length/1
2022-09-15 02:12:51 -04:00
Zach Daniel
d7b446bc7f
fix: properly reraise errors raised in tasks
2022-09-15 02:08:30 -04:00
Zach Daniel
f084d346ad
fix: properly return errors from tasks
2022-09-15 01:09:12 -04:00
Zach Daniel
2c2c207e68
fix: use Comp.equal?/2
when finding loaded data matches
2022-09-15 00:55:04 -04:00
Darren Black
865d028667
chore: Guard length function for invalid input ( #380 )
2022-09-15 00:10:01 -04:00
Zach Daniel
a5f51e8f1b
fix: properly error on types when evaluating expressions at runtime
2022-09-14 22:31:32 -04:00
Zach Daniel
4b88300e00
fix: properly surface errors all the way from runtime filters
2022-09-14 20:05:51 -04:00
Zach Daniel
3baf2b8c97
fix: properly catch errors when running expressions at runtime
2022-09-14 19:50:07 -04:00
Darren Black
a572099e24
improvement: Implement length function ( #379 )
2022-09-14 13:28:42 -04:00
Zach Daniel
08642b9123
chore: update typespec for attribute
2022-09-14 13:20:24 -04:00
Zach Daniel
2dae8ffa44
improvement: validate aggregate paths supported
2022-09-13 16:24:55 -04:00
Zach Daniel
e36f8c3e59
improvement: add filterable?
option to relationships
...
improvement: add data layer capability for aggregate relationships & filter relationships
improvement: add guide on manual relationships
2022-09-13 13:53:05 -04:00
Zach Daniel
4260b9a1c9
fix: inspect the match for default message
2022-09-13 13:53:05 -04:00
Zach Daniel
827548f737
chore: fix typespec for aggregate_type/2
2022-09-12 13:43:18 -04:00
Zach Daniel
f583ababbc
fix: fix keyset pagination ordering bug
...
fix: short names are snake cased
2022-09-12 11:17:44 -04:00
Zach Daniel
d32efadb62
improvement: add aggregate_type/2
helper
2022-09-12 11:17:44 -04:00
Zach Daniel
5c81d2b4a7
fix: properly do pagination
...
docs: fix some docs, add some guides
2022-09-11 22:19:37 -04:00
Zach Daniel
3644d05cd6
Revert "improvement: make two queries for full keyset pagination support"
...
This reverts commit 64b3312cb9
.
2022-09-11 18:35:02 -04:00
Zach Daniel
8c7ddf703c
chore: warnings
2022-09-11 16:10:11 -04:00
Zach Daniel
64b3312cb9
improvement: make two queries for full keyset pagination support
...
docs: add store context in process guide
2022-09-11 16:07:21 -04:00
Zach Daniel
fbebcf6670
fix: handle pins in exists
2022-09-07 17:53:18 -04:00
Zach Daniel
1c1c375d66
fix: add better error for exists/2
2022-09-07 17:15:18 -04:00
Zach Daniel
f381014fd1
fix: use root_resource for related
path in filter
2022-09-07 17:00:16 -04:00
Zach Daniel
9ddc2aeb0d
fix: set root_resource in exists
parsing
2022-09-07 16:26:49 -04:00
Zach Daniel
ac60cda9ac
docs: add docs for all builtins
2022-09-07 15:03:09 -04:00
Zach Daniel
0368c1a8da
fix: error fetching relationships in filter expressions
...
docs: more docs on upgrade/policies guide
2022-09-07 12:53:29 -04:00
Zach Daniel
12c46a8da9
fix: filter check typespecs
...
docs: add docs on `expr/1` policies and using `exists/2`
2022-09-06 22:38:56 -04:00
Zach Daniel
171b7bbdf3
fix: runtime filter handle new relationship shape
2022-09-06 18:17:36 -04:00
Zach Daniel
619adcee93
improvement: add exists/2
expression
2022-09-06 18:02:01 -04:00
Zach Daniel
b98dc5ffd5
docs: update moduledocs and types
2022-09-04 00:56:41 -06:00
Zach Daniel
9ac4eafb87
fix: the semantics of forbid_unless
were not wrong
...
docs: remove some formatting
2022-09-04 00:53:52 -06:00
Zach Daniel
31d1d925ef
fix: forbid_unless
expression compilation
...
docs: add some more expression template docs
fix: fix runtime filter join simulation for multiple rows
2022-09-03 21:34:55 -06:00
Zach Daniel
5134673fed
chore: fix tests
2022-08-31 10:51:12 -06:00
Zach Daniel
4c90ab5d1f
chore: fix ets test
2022-08-30 17:00:45 -06:00
Zach Daniel
c380cc1a14
docs: sanitize things for docs
2022-08-30 16:45:55 -06:00
Zach Daniel
bf67aef99f
chore: bump pre version
...
fix: typo in dsl
2022-08-30 12:37:43 -06:00
Zach Daniel
1ff91f303d
improvement: update ash docs
2022-08-30 12:27:03 -06:00
Zach Daniel
696f7ca82a
fix: small fix to get_path
...
improvement: support `read_action` in embeddable types, and optimize loading
docs: more documentation
2022-08-30 11:18:10 -06:00
Zach Daniel
85b2d0d50c
chore: fix lint
2022-08-30 02:23:13 -06:00
Zach Daniel
ae3f4290d2
docs: update pub_sub example
2022-08-30 02:22:46 -06:00
Zach Daniel
834d99c57e
fix: runtime filter checking is unknown for non-selected values
...
docs: tons of work on docs/guides
2022-08-30 02:22:15 -06:00
Zach Daniel
005bb3ea3c
fix: typo on private
-> private?
2022-08-29 08:57:52 -06:00
Zach Daniel
54deb28d2e
fix: make private:0 overridable
2022-08-29 08:57:25 -06:00
Zach Daniel
89c7f15b85
fix: always select always_select?
fields
...
improvement: add `private?/0` callback to functions
docs: reword some docs
2022-08-29 08:54:11 -06:00
Zach Daniel
7930e3efa1
fix: don't fail to build Phoenix.Socket.Broadcast
2022-08-29 08:05:12 -06:00
Zach Daniel
5924833c1d
fix: use ensure_compiled/1
to detect Phoenix.Socket.Broadcast
2022-08-28 22:39:51 -06:00
Zach Daniel
6c40747320
improvement: options for prepending/appending hooks
...
docs: guides improvements
2022-08-28 19:27:44 -06:00
Zach Daniel
b181a8d4cf
improvement: add flow chart generator
2022-08-28 19:27:44 -06:00
Zach Daniel
a262e58ffb
fix: validate args in the proper order
2022-08-28 19:27:44 -06:00
Zach Daniel
1bb3468851
improvement: add tracing and telemetry
2022-08-28 19:27:44 -06:00
Zach Daniel
caf9a2340e
fix: various issues w/ over/under-selecting data
2022-08-28 19:27:44 -06:00
Zach Daniel
2e6ec5b8b4
docs: total docs reorg
2022-08-28 19:27:44 -06:00
Zach Daniel
603f845952
chore: update spark
2022-08-28 19:27:44 -06:00
Zach Daniel
e37f62284b
chore: update doc links
2022-08-28 19:27:44 -06:00
Zach Daniel
0b7f48b7c2
fix: string goes before ci_string in function typings always
2022-08-28 19:27:44 -06:00
Zach Daniel
c7640abfef
improvement: better scope simple data layer context
...
docs: better language around simple data layer in getting started guide
2022-08-28 19:27:44 -06:00
Zach Daniel
feee4516bc
fix: properly halt in ets dump_to_native reducer
2022-08-28 19:27:44 -06:00
Zach Daniel
d7a9ff7996
improvement: move docs out of priv, update spark
2022-08-28 19:27:44 -06:00
Zach Daniel
f678c585d6
WIP: on guides
2022-08-28 19:27:44 -06:00
Zach Daniel
87eca9fdcd
fix: use proper link identifier
2022-08-28 19:27:44 -06:00
Zach Daniel
edb0887d19
fix: section link format error
2022-08-28 19:27:44 -06:00
Zach Daniel
8786df69f3
fix: fix section docs format
2022-08-28 19:27:44 -06:00
Zach Daniel
a806cac2e2
fix: properly list entries for ensuring no embeds
2022-08-28 19:27:44 -06:00
Zach Daniel
f50484cf98
fix: properly get entries registry DSL structure
2022-08-28 19:27:44 -06:00
Zach Daniel
b5796ff65b
fix: typo in rebase
2022-08-28 19:27:44 -06:00
Zach Daniel
6d98b78227
improvement: unlock flow
...
improvement: pagination as a DSL
improvement: don't block engine on async tasks
2022-08-28 19:27:44 -06:00
Zach Daniel
f9941a6c75
improvement: update spark, use new transformer style
2022-08-28 19:27:44 -06:00
Zach Daniel
656bd22085
docs: docs and links for everything
2022-08-28 19:27:44 -06:00
Zach Daniel
8f2c74da74
docs: fix docs for check/4
2022-08-28 19:27:44 -06:00
Zach Daniel
04744f395f
improvement: move functions to more conventional places
...
improvement: move ash.formatter task to `spark.formatter`
2022-08-28 19:27:44 -06:00
Zach Daniel
6c79519b6c
improvement: make long-awaited DSL name changes
2022-08-28 19:27:44 -06:00
Zach Daniel
44adc9a1b8
improvement: upgrade spark, move to its formatter
2022-08-28 19:27:44 -06:00
Zach Daniel
a5f616812b
improvement: replace Ash DSL underpinnings with Spark
2022-08-28 19:27:44 -06:00
Zach Daniel
8a87e7c891
fix: don't try to use record as input when updating embed
2022-08-28 18:51:43 -06:00
Zach Daniel
bb4a3b34b3
fix: fix read!
typespec
2022-08-24 12:50:26 -04:00
Zach Daniel
18515dd82a
fix: don't raise random error :|
2022-08-24 12:00:17 -04:00
Zach Daniel
91d3bf314a
fix: properly handle "bare" references, and track it for potential later use
2022-08-24 11:54:12 -04:00
Zach Daniel
80833c3f58
improvement: handle the case where managed relationship input is an embed
2022-08-22 19:48:22 -04:00
Zach Daniel
584a927776
improvement: add value_is_key
option for managed relationships
2022-08-22 12:26:31 -04:00
Darren Black
548247a8b7
fix: False default value for argument is nil in changeset ( #364 )
2022-08-22 10:41:25 -04:00
Zach Daniel
3a69b3104e
fix: ignore belongs_to in preflight attribute check
2022-08-17 20:58:11 -04:00
Mike Buhot
150f7178b8
improvement: Replace usage of Timex.shift with builtin Calendar functions ( #362 )
2022-08-17 19:18:03 -04:00
Zach Daniel
86e171bae9
fix: clean up relationship validation logic
2022-08-17 14:40:20 -04:00
Zach Daniel
91129aac8a
fix: clean up logic around preflight belongs_to validation
2022-08-17 14:12:53 -04:00
Zach Daniel
917131c21f
improvement: handle required but not accepted values better
2022-08-17 12:58:43 -04:00
Darren Black
c21c5e6ae7
docs: Fix little documentation typo ( #361 )
2022-08-15 12:29:38 -04:00
Zach Daniel
73124c43fd
docs: more DSL docs, create shell guides
2022-08-14 12:49:21 -04:00
Zach Daniel
3bcf731eea
fix: persist a nil actor properly
2022-08-09 21:32:32 -04:00
Zach Daniel
b9675295e6
improvement: support authorize?
as a changeset option
2022-08-09 20:25:43 -04:00
Zach Daniel
a4770e35fd
fix: propery set authorize?: false on runtime filter
2022-08-08 09:56:17 -04:00
Zach Daniel
6f233cd905
chore: remove IO.inspect
2022-08-08 09:47:11 -04:00
Zach Daniel
817336eefc
fix: explicitly don't authorize the runtime filter authorization logic
2022-08-08 09:30:44 -04:00
Zach Daniel
dff0c6fc45
fix: fix eager function/operator evaluation
2022-08-07 21:46:35 -04:00
Zach Daniel
234cdc2517
fix: scrub values properly, same as last bug
2022-08-07 20:23:50 -04:00
Zach Daniel
d03915b194
fix: map update bug when sanitizing boolean expressions
2022-08-07 19:46:01 -04:00
Zach Daniel
8a2208601c
improvement: add actor_present
policy
2022-08-07 01:16:50 -04:00
Zach Daniel
fe12f40056
fix: fixs runtime filter fallbacks
...
improvement: add `error?` option to get
2022-08-05 11:58:01 -04:00
Zach Daniel
6aaab781e0
chore: remove debug logs
2022-08-04 16:55:53 -04:00
Zach Daniel
10f2b14d97
improvement: fix various operator evaluators
...
docs: improve docs
2022-08-04 16:50:56 -04:00
Zach Daniel
c8628066de
fix: (attempt) to fix calc loading issue
2022-08-03 11:13:02 -04:00
Zach Daniel
f823e35f7d
fix: actually use warn_on_empty?
config
2022-08-01 19:23:16 -04:00
Zach Daniel
32bab0959d
chore: add moduledocs for WarnOnEmpty
2022-08-01 14:52:56 -04:00
Zach Daniel
c0404af740
improvement: add warnings to DSL transformer returns
...
improvement: warn on empty registries
closes #359
2022-08-01 14:43:38 -04:00
Zach Daniel
285c7db5be
docs: small docs updates
2022-07-26 02:46:01 -04:00
Zach Daniel
d94ebf8883
docs: fix guide links
2022-07-25 21:14:32 -04:00
Zach Daniel
a07b8bb2f6
docs: properly format links
2022-07-25 18:53:37 -04:00
Zach Daniel
ca9c80b6b0
improvement: better sanitization around sensitive attributes in filters
...
docs: general doc improvements
2022-07-25 18:47:30 -04:00
Zach Daniel
0b18be167e
docs: improve docs/small error message tweak
2022-07-25 15:56:52 -04:00
Zach Daniel
951c3051b9
fix: check for actor on query/changeset for actor context
2022-07-22 15:21:11 -04:00
zimt28
d24888b0eb
docs: update authorization section examples.
2022-07-22 14:26:26 -04:00
Zach Daniel
026ac43493
fix: pass actor opt down
2022-07-22 00:59:34 -04:00
Zach Daniel
347907029b
improvement: change always_authorize?
to authorize
for multiple options
2022-07-21 22:23:18 -04:00
Zach Daniel
22a598d6d6
fix: don't skip setting tenant when actor is present
2022-07-21 18:24:57 -04:00
Zach Daniel
6c277a1a59
fix: don't use apply/3
on kernel macros
2022-07-21 14:02:56 -04:00
Zach Daniel
552af4b665
fix: small bug in DSL transformer manipulation.
2022-07-21 14:01:44 -04:00
Zach Daniel
331d0cf66c
fix: && and || don't short-circuit to nil
2022-07-20 15:46:14 -04:00
Zach Daniel
7b9861dc2c
fix: {:ok, _}
-> {:known, _}
when evaluating operators
2022-07-20 15:44:03 -04:00
Zach Daniel
8036c268d6
fix: fix bad evaluation case for operators
2022-07-20 15:12:37 -04:00
Zach Daniel
ebef8057c8
improvement: add error message for manual action missed
2022-07-20 13:38:26 -04:00
Zach Daniel
75ca760c9f
fix: ensure we only take unique related records when lazy loading
2022-07-20 01:12:53 -04:00
Zach Daniel
98a64577d9
improvement: add || and && operators
...
improvement: sort parsing helpers
test: fix flaky test
2022-07-19 19:15:23 -04:00
Zach Daniel
8f23cc71fb
improvement: add Ash.Sort.parse_input!/2
2022-07-19 13:34:01 -04:00
zimt28
81c085b9a3
improvemtn: Add accept_default option ( #351 )
...
* Add accept_default option
2022-07-19 10:03:23 -04:00
Zach Daniel
fe27a7f61b
improvement: add transfer_context/1
and get_context_for_transfer/0
2022-07-19 09:59:57 -04:00
Zach Daniel
c9f20f1488
improvement: add process-based actor, tenant and query/changeset context
...
improvement: add `always_authorize?` and `require_actor?` to api config
2022-07-19 00:49:05 -04:00
zimt28
bc05fb5b47
Deprecate option type helper ( #352 )
2022-07-18 15:22:17 -04:00
Zach Daniel
e83fcf13fb
fix: use Map.get/2
when getting paths if the value is a struct
2022-07-15 22:02:59 -04:00
Zach Daniel
594698986e
improvement: support paths in actor/1
2022-07-15 21:42:30 -04:00
Zach Daniel
e86887b8b8
improvement: add default guide to doc_index
2022-07-14 11:41:20 -04:00
Zach Daniel
611603c7d3
docs: add info for can/4
2022-07-14 10:45:55 -04:00
Frank Dugan III
3776af9f85
feat: add can?/4 policy utility ( #349 )
...
* feat: add can?/4 policy utility
* refactor: change defaults and add can/4
* refactor: add typespecs, rename test
2022-07-14 10:05:51 -04:00
Zach Daniel
a023aaff95
fix: make mnesia and ets work properly when sharing tables
...
fix: make updates properly merge with mnesia and ets
fix: `attribute_writable?` also makes it public
2022-07-13 15:05:55 -04:00
Zach Daniel
5a4a3009d9
docs: update seed docs on __keep_nil__
2022-07-12 01:26:13 -04:00
Zach Daniel
ba559936d8
improvement: code_interface optional arguments
...
test: add some load tests
2022-07-11 22:59:51 -04:00
Zach Daniel
0f3521b2f4
improvement: improve behavior of lazy?: true
option
...
before, any calculation that determined that it needed to load
would always load its dependencies, but now if they are already loaded
then dependencies won't be reloaded
2022-07-11 21:31:50 -04:00
Zach Daniel
a9f93c1ca3
chore: ignore unnecessary sobelow error
2022-07-10 23:45:26 -04:00
Zach Daniel
4d3c393342
docs: small docs tweaks, more modules
2022-07-10 23:39:57 -04:00