Commit graph

1549 commits

Author SHA1 Message Date
Zach Daniel
1f53644070 fix: ensure query in ensure_selected 2021-06-29 12:16:11 -04:00
Zach Daniel
414119116a chore: fix warnings/compiler errors 2021-06-28 13:27:31 -04:00
Zach Daniel
602ba78e9c fix: handle sorting empty data properly
fix: manage ets tables properly

for context, we had a problem where `RequestHandlers`
would live forever, but were tiny. A change to the internal
engine caused request handlers to be less tiny, which exposed
the process leak. When we fixed the process leak, it became apparent
that the ets table creation was incorrect, as the owning process for
a non-private table could be the request handler, meaning it was
transient. We solve this by having a `TableManager` for each resource/
tenant combo, which owns the ets table in question
2021-06-28 13:20:37 -04:00
Zach Daniel
294480ee34 fix: link request handler to engine and runner, solve mem leak 2021-06-28 12:05:03 -04:00
Zach Daniel
ad0af9831c improvement: if "" fails to cast, cast it as nil instead
improvement: ReadActionRequiresActor error
improvement: `ensure_selected` change
2021-06-28 01:33:31 -04:00
Zach Daniel
ff0de75138 improvement: don't perform match on nil 2021-06-27 13:29:36 -04:00
Zach Daniel
9477f0e82a improvement: add {:arg, :name} input for set_attribute 2021-06-25 13:51:17 -04:00
Zach Daniel
69967099e3 fix: ensure ci_strings casted after constraints 2021-06-25 13:41:05 -04:00
Zach Daniel
01abe80a04 improvement: revamp ci_string
previously, ci_string would downcase all input/output automatically,
throwing away the "representation" of the original input. Now, that
is an option provided as a constraint, for example:

`attribute :email, :ci_string, constraints: [casing: :lower]`
or
`attribute :serial, :ci_string, constraints: [casing: :upper]`

All comparison logic remains the same, so the only thing that is affected
is the `to_string(value)` logic, which now returns based on the configured casing.
By default its just the value, but with `lower`/`upper` it will downcase/upcase the
value accordingly.
2021-06-25 13:19:14 -04:00
Zach Daniel
cb315db44d fix: Revert "more optimized types"
This reverts commit 3d7f3db85d.
2021-06-24 18:25:24 -04:00
Zach Daniel
21e52bebbd Revert "chore: fix compiling embedded types (why??)"
This reverts commit d7ef5efbb2.
2021-06-24 18:19:46 -04:00
Zach Daniel
28a4429b9e Revert "fix: don't call type() on :string"
This reverts commit 27c8bcb5bc.
2021-06-24 18:19:45 -04:00
Zach Daniel
e64d0a9791 Revert "improvement: add Ash.Type.type/1"
This reverts commit a0f6cd9219.
2021-06-24 18:19:43 -04:00
Zach Daniel
a0f6cd9219 improvement: add Ash.Type.type/1 2021-06-24 17:51:56 -04:00
Zach Daniel
27c8bcb5bc fix: don't call type() on :string 2021-06-24 16:42:03 -04:00
Zach Daniel
d7ef5efbb2 chore: fix compiling embedded types (why??) 2021-06-24 16:33:38 -04:00
Zach Daniel
3d7f3db85d improvement: more optimized types 2021-06-24 16:05:50 -04:00
Zach Daniel
114de0af4e fix: optimize ash type loading 2021-06-24 01:11:54 -04:00
Zach Daniel
dc56376d80 improvement: add error_handler for create/update/destroy actions 2021-06-23 17:19:59 -04:00
Zach Daniel
b9db67e47e fix: pass opts through to Jason.Encode.string/2 2021-06-23 12:51:47 -04:00
Zach Daniel
a484006596 fix: properly encode ci string to json 2021-06-23 12:50:13 -04:00
Zach Daniel
8f84d5b4d4 improvement: more engine logging 2021-06-23 12:11:14 -04:00
Zach Daniel
13981d5aa0 fix: :infinity on engine genserver calls 2021-06-22 13:57:56 -04:00
Zach Daniel
786047c3e7 fix: hide __metadata__ field on inspect
fix: load relationships required for calculations (optimize later)
2021-06-08 16:37:47 -04:00
Zach Daniel
a0b0e633d5 fix: don't halt on request handler failure
fix: properly error when more than 2 requests of the same type are primary
fix: properly process sort when the sort is an atom
fix: properly calculate reverse relationship paths
2021-06-08 14:42:17 -04:00
Zach Daniel
d45a9dbbfa improvement: support calculation sorts 2021-06-05 18:11:09 -04:00
Zach Daniel
30af25ba74 fix: always wait on the engine if it hasn't completed 2021-06-05 02:42:40 -04:00
Zach Daniel
3f1f31694d fix: always wait for engine
improvement: spawn async requests where possible
2021-06-04 18:32:08 -04:00
Zach Daniel
9719d0dce5 fix: constraints on calculations
fix: better calculation inspect
fix: allow supplying stacktraces when building errors
2021-06-04 14:33:22 -04:00
Zach Daniel
d247004610 feat: expression based calculations for filterable/sortable calculations
fix: aggregate authorization issues
improvement: tons of improvements across the board
2021-06-04 01:40:11 -04:00
Zach Daniel
231eeafd30 feat: expression calculations for sorting/filtering
improvement: small improvements/fixes across the board
2021-06-04 01:37:11 -04:00
Darren Black
42cc8b9711
docs: Minor documentation tweaks (#246) 2021-06-02 10:38:15 -04:00
kernel-io
dd1474a4f6
improvement: Update remaining builtin validators (#244)
Co-authored-by: David Culina <git@omnium.co>
2021-06-01 20:57:13 -04:00
kernel-io
35af220d9d
feat: add compare validator (#242)
Co-authored-by: David Culina <git@omnium.co>
2021-06-01 13:32:22 -04:00
kernel-io
42895c50f7
fix: ensure create functions generated by code_interface accept tenant in the opts list (#243) 2021-05-31 18:34:54 -04:00
Zach Daniel
d9debc07f1 fix: properly process managed belongs to relationships 2021-05-28 03:12:14 -04:00
Zach Daniel
f895f3ddd8 fix: cast nil -> {:ok, nil} in all cases 2021-05-28 01:47:38 -04:00
kernel-io
0fbf7eab6a
fix: set tenant even on non-tenant resources where relevant (#241) 2021-05-27 02:22:24 -04:00
Zach Daniel
86f6719390 improvement: define embedded schemas where appropriate 2021-05-22 23:48:10 -04:00
Zach Daniel
4662c23f68 improvement: calculation.select/2 + select calculation option 2021-05-20 16:42:26 -04:00
Zach Daniel
584d628047 fix: run after_action hooks in the proper order
improvement: add `validate_destination_field?`
improvement: add builtin `select` change
2021-05-20 12:17:56 -04:00
Zach Daniel
d87969ad1b improvement: set moduledoc to description if one is not set
chore: fix some dialyzer typing issues
2021-05-20 01:36:45 -04:00
Zach Daniel
41aaeeed47 fix: fix dialyzer errors for enum + code interface 2021-05-19 01:32:06 -04:00
Zach Daniel
4b028cbf53 chore: lint/build/compiler issues 2021-05-18 23:12:49 -04:00
Zach Daniel
2406732811 fix: fix code interface + args combo error
improvement: support specifying the `upsert_identity` option
2021-05-18 23:05:31 -04:00
Zach Daniel
013b49c2b2 fix: ignore?: true still accumulates changes
fix: properly require_attributes before setting defaults
2021-05-18 01:44:10 -04:00
Zach Daniel
820020d4e5 improvement: ignore? option for manage_relationship change
fix: set default values before calling resource changes
2021-05-18 00:02:11 -04:00
Zach Daniel
d2e5c06511 fix: reverse-reverse relationship detection 2021-05-17 15:06:49 -04:00
Zach Daniel
de684a27a8 fix: support non-predicates in satsolver 2021-05-16 21:59:06 -04:00
Zach Daniel
50eb787410 improvement: expose default_value/1 in aggregate 2021-05-15 11:56:23 -04:00
Zach Daniel
2ffa0e38b6 fix: raise better error w/ invalid filter expression 2021-05-14 17:02:22 -04:00
Zach Daniel
dd40b24bf9 improvement: transactions for reads, notifications from read callbacks 2021-05-14 11:25:42 -04:00
Zach Daniel
baba0a368a fix: handle error return in code_interface getter 2021-05-14 01:56:36 -04:00
Zach Daniel
574f6f59a3 improvement: various managed relationship improvements
fix: rename `context` -> `relationship_context` to avoid conflict
feat: `on_no_match: :match` supported for to_one rels
2021-05-14 01:07:51 -04:00
Zach Daniel
968e234a31 improvement: set __source__ context for embeds 2021-05-11 00:28:26 -04:00
Zach Daniel
69afdfce25 improvement: utility manage_relationship_source context 2021-05-10 18:03:36 -04:00
Zach Daniel
de167cea28 chore: format code 2021-05-09 17:25:40 -04:00
Frank Dugan III
a796e0d308
refactor: remove references to "side loading" (#236) 2021-05-09 17:24:48 -04:00
Zach Daniel
097447bf38 fix: run action changes on destroy
test: test manual actions
fix: pattern match manage_relationship notifications fix
2021-05-09 16:56:44 -04:00
Zach Daniel
7d37f8ae3d improvement: add manual? option for create/update/destroy 2021-05-09 16:25:39 -04:00
Zach Daniel
3bd2686de3 improvement: ensure data layer can perform aggregates 2021-05-08 23:31:01 -04:00
Zach Daniel
78247ffa5a improvement: support filtering on related aggregates
improvement: autoload aggregates used in filters
2021-05-08 22:48:05 -04:00
Zach Daniel
990aaf8147
docs: side_loading -> loading 2021-05-08 20:34:44 -04:00
Zach Daniel
be07ffc0dd fix: don't fail on nil root filters 2021-05-08 20:06:14 -04:00
Zach Daniel
30e443c021 fix: don't raise unnecessary side load error 2021-05-07 16:31:06 -04:00
Zach Daniel
1412052ff6 improvement: fix data-based side loads 2021-05-07 11:57:59 -04:00
Zach Daniel
cb19e66fb5 fix: IsNil function to IsNil operator 2021-05-07 01:51:54 -04:00
Zach Daniel
cd023bf0a1 fix: function clause match error in not expression 2021-05-07 01:37:44 -04:00
Zach Daniel
f8604717bd fix: limit 1 on to one side load queries 2021-05-07 01:07:01 -04:00
Zach Daniel
46fb08f085 improvement: support sorted relationships 2021-05-07 00:28:51 -04:00
Zach Daniel
fed41b5060 fix: don't consider contextual relationships as reverse relationships 2021-05-06 13:39:04 -04:00
Zach Daniel
ae5b67fcdb fix: support not in query expressions 2021-05-05 16:05:32 -04:00
Zach Daniel
8d15cabd2a fix: include aggregates in count request for aggregate filters 2021-05-04 12:27:25 -04:00
Zach Daniel
d767ba513e fix: use base_query for aritifical limit/offset when loading 2021-05-04 09:27:33 -04:00
Zach Daniel
593b111069 improvement: add read_action option
feat: rework lateral joins for many to many performance boost
2021-05-03 16:21:29 -04:00
Zach Daniel
d16d2f35ce improvement: inner later join for many to many relationships 2021-04-29 17:04:57 -04:00
Zach Daniel
3de71bc7f1 chore: fix test + compile 2021-04-28 17:43:02 -04:00
Zach Daniel
9da95e6d75 improvement: support relationship filters 2021-04-28 17:39:30 -04:00
Zach Daniel
312d19878b improvement: add has filter predicate 2021-04-27 13:45:23 -04:00
Zach Daniel
e11f399fc0 improvement: add :list aggregate kind 2021-04-26 16:01:39 -04:00
Zach Daniel
9df3803492 fix: don't include NotLoaded in manage_relationship 2021-04-25 18:35:19 -04:00
Zach Daniel
53ceb5b753 fix: compile time fixes
improvement: add `require_attributes` to create/update/destroy
2021-04-23 11:41:13 -04:00
Zach Daniel
dd82fcc53b improvement: add first class support for enum types 2021-04-21 13:32:25 -04:00
Zach Daniel
64876c6e19 fix: don't consider nils for pkey matching 2021-04-21 13:32:25 -04:00
Zach Daniel
d099bc87ee chore: format code 2021-04-18 19:51:56 -04:00
Jason Axelson
85d9e8f86c
docs: use full module name (#230)
This will make the Query docs easier to follow
2021-04-18 19:46:21 -04:00
Jason Axelson
f6fa5a98dd
improvement: Add detailed parameter checking for Api read functions (#229) 2021-04-18 19:45:38 -04:00
Jason Axelson
a4262965ea
chore: Enable Credo's Readability.StrictModuleLayout (#228)
Enforce layout of module parts
2021-04-18 19:41:49 -04:00
Zach Daniel
060dadeff1 fix: clearer errors when resource fails to compile 2021-04-18 16:20:05 -04:00
Zach Daniel
a75bfd4203 improvement: add list access to context 2021-04-17 19:34:28 -04:00
Zach Daniel
33ac53faa5 fix: don't preload multiplicatively 2021-04-17 18:22:20 -04:00
Vadim Tsvetkov
0d13cd8b3d
fix: Decimal casting issues on ash_postgres (#227) 2021-04-17 15:00:43 -04:00
Zach Daniel
b028dad1cd improvement: add Resource.input/1 2021-04-17 13:50:55 -04:00
Zach Daniel
bd7f4f9532 fix: use items for single constraints 2021-04-16 14:16:45 -04:00
Zach Daniel
ad2772034c fix: don't overwrite select in side_load 2021-04-15 14:57:49 -04:00
Zach Daniel
5425660752 fix: load relationships for management properly
fix: `fetch_key` bug in embedded types
fix: handle_indexed_maps for embedded types
2021-04-14 23:38:51 -04:00
Zach Daniel
a6b880ce86 fix: handle no key provided to NotFound
chore: add tests for `get!`
2021-04-14 14:18:05 -04:00
Zach Daniel
c3c0abb239 docs: update documentation 2021-04-13 17:44:48 -04:00
Zach Daniel
2f634ae36a improvement: special provisions for casting to embedded type (e.g uuid)
fix: embedded cast_stored must cast all key/values
fix: ci_string constraints when `nil`
fix: manage_relationship change turns embedded resources to maps
fix: fixes for common types parsing from embedded, e.g utc_datetime_usec
2021-04-13 17:41:16 -04:00
Zach Daniel
e20ffe9636 fix: get! should raise on nil not {:ok, nil} 2021-04-13 16:28:01 -04:00
Zach Daniel
0ee074c176 fix: allow_nil -> allow_nil_input 2021-04-13 16:22:13 -04:00
Zach Daniel
e353ea49c3 fix: allow api.load/2 to load calculations
improvement: add `allow_nil_input` to create actions for api layers
improvement: add `load/1` builtin change
feat: change `get?: true` interface functions to raise on `nil`
2021-04-13 15:49:42 -04:00
Zach Daniel
567df21422 fix: always select necessary load fields for nested loads 2021-04-12 16:51:31 -04:00
Zach Daniel
3e29b4e00d fix: always select necessary fields for side loading 2021-04-10 16:58:37 -04:00
Zach Daniel
c21e310996 fix: logic bug in selecting specific fields 2021-04-09 00:47:22 -04:00
Zach Daniel
250186a0ea chore: update docs 2021-04-09 00:10:01 -04:00
Zach Daniel
ec57f363ed improvement: support the datalayer selecting fields in reads 2021-04-09 00:10:01 -04:00
Zach Daniel
f454f98f3f docs: add docs on managing relationships 2021-04-05 13:45:39 -04:00
Zach Daniel
425a1ce59e chore: fix description 2021-04-04 16:01:37 -04:00
Michael St Clair
6805d431ac
improvement: add sum aggregate (#221) 2021-04-04 16:00:53 -04:00
Michael St Clair
fec77dd92f
allow specifying that calculation can't be nil (#220) 2021-04-04 03:11:43 -04:00
Zach Daniel
db26a1cc61 fix: update struct_field logic for latest ecto 2021-04-03 14:35:04 -04:00
Zach Daniel
7faf73097a fix: apply proper interface operation when opts aren't passed 2021-04-02 10:21:10 -04:00
Zach Daniel
92344029d3 improvement: before_action? on validate, validate inline 2021-04-01 11:53:52 -04:00
Jason Axelson
274fc9ea88
chore: Misc doc updates (#208)
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2021-03-31 17:20:59 -04:00
Zach Daniel
d6ee71ce53 feat: support Ash.Query.distinct/2
feat: add `build/2` query preparation
fix: manage_relationships *before* after_action callbacks
2021-03-31 17:13:20 -04:00
Jason Axelson
fc705ad0a5
Documentation improvements and labeled examples (#216)
Improve documentation for calculations
Add ability to "label" examples by passing a tuple instead of just a string.
Fix some minor typos
2021-03-31 16:24:06 -04:00
Zach Daniel
29b2c821fe fix: don't overwrite managed belongs_to relationships 2021-03-29 14:48:42 -04:00
Zach Daniel
1d412c97cd fix: handle on_lookup + on_no_match for belongs_to 2021-03-29 14:04:53 -04:00
Zach Daniel
11d658d077 fix: fix required relationships and add test 2021-03-28 13:44:21 -04:00
Zach Daniel
e65d47d386 fix: fix required relationships 2021-03-28 13:44:21 -04:00
Zach Daniel
523f7bbc0d fix: various managed_relationship fixes 2021-03-28 13:44:21 -04:00
Zach Daniel
2f9fafcbc7 feat: add manage relationship types
improvement: don't accept relationships on actions anymore

improvement: require arguments

This probably broke a lot of people's setups, but it was a
necessary change. Better to get this stuff out while we're
still beta
2021-03-25 11:33:32 -04:00
Zach Daniel
aeb1cad518 fix: add tenant metadata before after action hooks 2021-03-24 00:54:36 -04:00
Zach Daniel
8eba8d6b22 fix: support tenant option in read interface 2021-03-24 00:24:42 -04:00
Darren Black
571eba3558
Resolve type aliases (#207) 2021-03-23 22:48:36 -04:00
Zach Daniel
5eec3d93b3 chore: release version v1.36.19 2021-03-22 17:37:44 -04:00
Zach Daniel
6c1108d834 fix: always return changeset when runner failed 2021-03-22 17:37:20 -04:00
Zach Daniel
44d574862b improvement: docs + dialyzer + error improvements 2021-03-22 02:34:52 -04:00
Zach Daniel
41a91b8aa6 fix: don't require values when managing relationships 2021-03-21 23:00:17 -04:00
Zach Daniel
801778abbd fix: Revert "fix: force_change_attributes before passing to action"
This reverts commit 4a0b2035b9.
2021-03-21 22:17:41 -04:00
Zach Daniel
4a0b2035b9 fix: force_change_attributes before passing to action 2021-03-21 22:11:04 -04:00
Zach Daniel
4e8bd5bfbc fix: exception on invalid query arguments 2021-03-21 14:19:45 -04:00
Zach Daniel
ac72c623d9 fix: allow casting strings as uuids (for embedded types) 2021-03-21 11:31:25 -04:00
Zach Daniel
ab31320e73 improvement: retain actor context from changeset 2021-03-21 11:31:01 -04:00
Jason Axelson
6c31956b56
improvement: Add float type (#204)
Also update `Ash.Type` documentation to use the float module as an
example of a custom type.
2021-03-21 00:09:27 -04:00
Zach Daniel
b155a5fb81 improvement: raise informative errors on bad inputs to for_* 2021-03-20 17:17:23 -04:00
Zach Daniel
b98650aeb7 fix: avoid exception in Changeset.new/2 for bad attribute 2021-03-20 17:16:57 -04:00
Zach Daniel
f1a6fb7418 fix: use ecto's uuid type under the hood 2021-03-20 16:27:11 -04:00
Zach Daniel
e206167f27 improvement: make Ash.Error a public module 2021-03-19 18:23:48 -04:00
Zach Daniel
e0a368365c improvement: docs/default value for params 2021-03-19 17:07:22 -04:00
Zach Daniel
6cfa91cc63 chore: fix lint 2021-03-18 23:37:34 -04:00
Zach Daniel
c2d121c0fe fix: set source_field when replacing belongs_to relationship 2021-03-18 23:33:56 -04:00
Zach Daniel
60da316f58 fix: don't consider false as absent value 2021-03-18 23:33:09 -04:00
Zach Daniel
0ef51ce9e6 improvement: trim whitespace in uuid 2021-03-18 23:32:56 -04:00
Zach Daniel
ba6b4202f9 fix: set argument name in manage_relationship 2021-03-18 23:32:12 -04:00
Zach Daniel
f3c85da268 improvement: improve the behavior of defaults
functional defaults are added at action time, others are added directly
into the changeset
2021-03-17 22:34:49 -04:00
Zach Daniel
a1c5f1d06f fix: validate required attributes *after* before_action hooks 2021-03-16 23:09:36 -04:00
Zach Daniel
3e7b798e34 improvement: discard certain empty values for embed input 2021-03-16 21:41:19 -04:00
Zach Daniel
1b972b9598 fix: force_change attrs *after* for_create/update 2021-03-15 15:55:26 -04:00
Zach Daniel
e60acf4167 fix: pattern match errors in manage_relationships
fix: clean up some error cases
fix: only default accept to `public` attributes
2021-03-15 15:47:33 -04:00
Zach Daniel
f6026c6895 fix: allow_nil?: false + default interaction 2021-03-14 23:06:18 -04:00
Zach Daniel
a33e0b97b9 docs: fix redundancy in API docs 2021-03-14 18:45:10 -04:00
Zach Daniel
7eea6576a0 docs: fix dangling docs references 2021-03-14 18:29:30 -04:00
Zach Daniel
0109696d54 fix: remove the as option 2021-03-14 17:50:11 -04:00
Zach Daniel
4df4e9a070 docs: remove interface docs 2021-03-14 17:48:39 -04:00
Jason Axelson
be56174a3d
docs: Fix some documentation warnings (#196)
i.e. warnings that appear when you run `mix docs`

Although this PR doesn't fix the majority of them, since the majority
are errors from referring to `@moduledoc false` modules in docs and typespecs.
2021-03-14 17:27:12 -04:00
Jason Axelson
3ba6b593b1
docs: Updates to the docs with a focus on the getting started docs (#195) 2021-03-14 17:14:53 -04:00
zimt28
a219bc0c6c
improvement: Add timestamps() attribute (#198) 2021-03-14 17:09:38 -04:00
Zach Daniel
5992fc00f7 docs: remove Ash from docs 2021-03-13 16:07:40 -05:00
zimt28
8ae003e382
docs: Update dsl.ex (#193) 2021-03-13 09:29:21 -05:00
zimt28
87390946bf
Fix documentation TOC (#194) 2021-03-13 09:26:57 -05:00
Zach Daniel
db47a15cf7 fix: properly validate allow_nil?: false on update
fix: properly validate `allow_nil?: false` private attributes
2021-03-13 09:25:13 -05:00
Zach Daniel
3c2ffd8662 fix: set argument default on cast 2021-03-12 22:22:27 -05:00
Zach Daniel
55a35396a4 docs: add primary action docs 2021-03-12 22:22:27 -05:00
zimt28
deba10f236
docs: Fix doc (#192) 2021-03-12 22:21:03 -05:00
Zach Daniel
22188d4366 improvement: derive has_one destination_field
improvement: finalize code API logic
2021-03-11 23:45:52 -05:00
Zach Daniel
662bbf96b9 fix: fix pub_sub on update
improvement: add not_found_message + violation_message for relationships
chore: fix lint
2021-03-10 00:08:26 -05:00
Zach Daniel
68f358d342 improvement: support get_by_<identity> in interface
fix: fix `publish_all` pub_sub notifier
improvement: support sublists in pub_sub topics
improvement: support `:_tenant` in pub_sub topics
2021-03-09 16:16:02 -05:00
Zach Daniel
f4fcfb54a2 improvement: accept tenant in for_read
fix: properly filter aggregates
2021-03-09 01:19:45 -05:00
Zach Daniel
5cfa4d5bf0 improvement: update interface to accept query/changesets 2021-03-08 17:19:13 -05:00
Zach Daniel
50f893e8db docs: update notifier docs 2021-03-08 17:19:04 -05:00
Zach Daniel
72b5a57a25 feat: functional interface on the Api module
feat: resource aliases
improvement: require completely unique action names
2021-03-08 00:59:32 -05:00
Zach Daniel
6e1baad6b2 fix: don't reverse sub-entities in DSL 2021-03-07 15:19:53 -05:00
Zach Daniel
e90fdad34a feat: support Ash.Query.select/3 and Ash.Changeset.select/3 2021-03-07 14:09:51 -05:00
Zach Daniel
c2cb843be9 improvement: ignore destination field on some relationship inputs 2021-03-05 10:39:06 -05:00
Zach Daniel
80a65db150 improvement: various validation lifecycle options
fix: various validation lifecycle fixes
fix: don't fetch sideloads for empty data
2021-03-04 22:48:15 -05:00
Zach Daniel
be576206bd chore: remove IO.inspect 2021-02-26 15:13:48 -05:00
Zach Daniel
2f8074ff88 fix: fix nested boolean expression optimization 2021-02-26 15:11:14 -05:00
Zach Daniel
02f7d0101b fix: manage_relationship fixes, input + option defaults 2021-02-24 13:49:27 -05:00
Zach Daniel
e60e5bf281 fix: treat empty string as nil in manage_relationship
fix: be more conservative (and more correct) when optimizing predicates
2021-02-24 11:13:35 -05:00
zimt28
e10b273ce4
Ecto.UUID -> Ash.UUID (#188) 2021-02-23 12:27:49 -05:00
Zach Daniel
16d60386aa fix: fix builtin mange_relationship change 2021-02-22 23:50:23 -05:00
Zach Daniel
53296fab8b fix: support belongs_to relationships properly 2021-02-22 23:16:25 -05:00
Zach Daniel
f068055f63 fix: authorize if actor key is present 2021-02-22 21:34:45 -05:00
Zach Daniel
d42c778a0d improvement: many compile time fixes via code splitting
feat: refactored manage_relationship options/behavior
2021-02-22 20:44:03 -05:00
zimt28
db533450ed
improvement: Guess destination_field for has many relationships (#187) 2021-02-15 13:32:44 -05:00
Darren Black
983a711837
improvement: Implement string length validation (#183)
Co-authored-by: Darren Black <darren@ifixsystems.com.au>
2021-02-08 18:16:32 -05:00
Zach Daniel
3739b4c33a chore: update doc formatting 2021-02-05 19:07:47 -05:00
Zach Daniel
03b6714e6f improvement: set_context change/preparation
fix: support `manage_relationship` for `belongs_to`
2021-02-05 18:56:56 -05:00
Zach Daniel
142b3bf7f9 feat: add default_context
feat: add `manage_relationship/4`

feat: add relationship specific context (for postgres polymorphism)

feat: add `reject` (opposite of `accept`)

improvement: set `accept` by default
2021-02-04 17:15:15 -05:00
Zach Daniel
dd26beb79b chore: add more authorization tests
chore: improve authorization test helper

improvement: support `{:filter, _}` authorization results for changesets
2021-01-28 14:49:08 -05:00
Zach Daniel
0ac0be6a1f fix: only run authorization once per request
fix: don't error on replacing empty relationship with empty

improvement: support `tenant` option to `get/2`

improvement: support `message` option on identities
2021-01-26 23:48:00 -05:00
Zach Daniel
1004ceb71d feat: add after_action for queries
fix: default to calculating filters on `data_layer_query`
2021-01-25 02:14:22 -05:00
Zach Daniel
8e74ff62a6 fix: remove invalid boolean expression optimization
improvement: make form errors work better with phoenix

this involves temporarily making embed error messages *worse*
but we can improve them as we get more usage
2021-01-24 13:47:10 -05:00
Zach Daniel
61e6b7c80c fix: various ci_string improvements
feat: add `contains/2` query function
2021-01-23 22:28:56 -05:00
zimt28
63483822d6
Update transformer.ex (#179) 2021-01-22 20:26:23 -05:00
Zach Daniel
bb91fd4bc7 fix: add action filters in for_read/3
fix: don't let local runner processes mix up messages

fix: runtime filter filters properly
2021-01-22 16:41:32 -05:00
Zach Daniel
7ea9b082f1 improvement: support all string constraints for ci_string 2021-01-21 15:25:07 -05:00
Zach Daniel
f6f5d194bf feat: freeform expressions
feat: validatiosn in actions

feat: query arguments

feat: add `Ash.Query.for_read/3`

feat: return changeset with API errors

feat: add case insensitive string `CiString`/`:ci_string`

feat: support `context/1` and `arg/1` in filter templates

feat: support targeting notifications with the `for` option

feat: add `ago/2` query function

feat: add basic arithmetic operators (+, *, -, /)

feat: `sensitive?` option for attributes

feat: `sensitive?` option for arguments

feat: `private` arguments, which can’t be set using `for_<action>`

feat: add `prevent_change` which will erase changes just before the changeset is committed

feat: add `match?` validation that supports a custom error message

feat: add `interval` type to support `ago/2` function

feat: add `url_encoded_binary` type

feat: add `function` type

improvement: `changing?` is now a validation

improvement: add `Transformer.get_persisted/3`

improvement: add `api` field to `Notification`

improvement: standardize errors, add `to_error_class`

improvement: use `Comp` everywhere

Improvement: use action on changeset if set by `for_<action_type>`

improvement: `action_failed?` field on change sets

improvement: remove ability for data layers to add operators (for now at least)

Improvement: Changeset.apply_attributes/2 now returns an error tuple

Improvement: add a bunch of new/informative errors

improvement: runtime filter now uses left join logic (a naive implementation of it)

improvement: support more filter templates in resources

Improvement: basic/naive type system for operators/functions

Fix: properly expand module aliases for options w/o compile time dependency

chore(engine): track changeset changes for the request with `manage_changeset?: true`
2021-01-21 15:22:50 -05:00
zimt28
6ddae6850f
improvement: Add trim/allow_empty to string type (#171) 2021-01-15 20:41:21 -05:00
zimt28
2a7acffabb
Always validate constraints (#173) 2021-01-14 10:52:18 -05:00
Zach Daniel
13ca0b2976 chore: generalize DSL tooling 2021-01-14 01:17:26 -05:00
zimt28
31cb4f4be3
improvement: Improve attribute defaults (#164) 2021-01-12 15:40:55 -05:00
Zach Daniel
6a26a583de
feat: Add Embedded Resources (#170) 2021-01-12 15:05:56 -05:00
zimt28
db6bdfcf15
improvement: Add built in decimal type (#162) 2021-01-09 11:58:52 -05:00
zimt28
4404da93ce
fix: Correct error message (#163) 2021-01-09 11:36:01 -05:00
Zach Daniel
dbf9f82802 improvement: add Ash.Sort.parse_input/2
fix: fix small sort bugs
2021-01-08 14:22:31 -05:00
zimt28
72ba6c4742
improvement: Add built in usec datetime type (#160) (#161)
improvement!: Use usec timestamps by default
2021-01-08 12:12:37 -05:00
Zach Daniel
7ce72a7454 fix: only cast public relationships/attributes 2021-01-08 02:58:02 -05:00
Zach Daniel
8ef272b1ca fix: allow_nil?: false for integer_primary_key 2021-01-07 22:30:41 -05:00
Zach Daniel
424d020a7d improvement: add for_<action> helpers 2021-01-07 21:35:40 -05:00
Darren Black
fb5cc74329
improvement: Add built in binary type (#156)
Co-authored-by: Darren Black <darren@ifixsystems.com.au>
2021-01-06 22:46:20 -05:00
Zach Daniel
109ed9b19c fix: the __resource__ change broke some extensions 2021-01-06 15:15:43 -05:00
Zach Daniel
6eebe33c29 fix: add back extensions/1 helper to resources 2021-01-06 14:49:30 -05:00
Zach Daniel
86236a5962 fix: lazy loaded module issues (e.g in iex) 2021-01-06 14:39:56 -05:00
Zach Daniel
a886fecfd6 improvement: optimize not-in and fix dialyzer 2020-12-31 18:39:15 -05:00
Zach Daniel
60e0dad7b6 improvement: rework filter creation + subset checking
This is one of the most complicated parts of Ash. In order to pass
a filter statement to the satisfiability solver that we use, we have
to first transpile a *value* statement into a *boolean* statement.
This means that we need to embed the knowledge of mutual exclusivity
wherever possible. Authorization still works if the system doesn't know
the relationship between two value statements, as it will attach
the authorization filters if its not sure. But having this in place
should represent a fairly significant optimization in many cases.

Additionally, filter creation has a set of optimizations around the
`eq` and `in` operators to combine them whlie building a boolean
statement
2020-12-31 18:39:15 -05:00
Zach Daniel
d96f54b4c8 docs: format line breaks in bullet points 2020-12-30 17:11:23 -05:00
Zach Daniel
9ebbb6e683 improvement: support autocompletion on Api funcs 2020-12-30 16:45:44 -05:00
Zach Daniel
b16cbf7303 fix: validate read action existence 2020-12-30 15:28:00 -05:00
Zach Daniel
c1767e79b2 improvement: default actions 2020-12-30 11:55:40 -05:00
Zach Daniel
2c996c8168 fix: fix compile issues, add docs 2020-12-30 01:09:02 -05:00
Zach Daniel
251d7e03df docs: filter parsing docs 2020-12-30 00:58:34 -05:00
Zach Daniel
dcbbd21f0c improvement: add parse_input/3 to Ash.Filter 2020-12-30 00:49:32 -05:00
Zach Daniel
31e58bfc70 improvement: describe operator types 2020-12-29 14:23:55 -05:00
Zach Daniel
9efe0355e8 fix: only accept kw list in aggregate/5 2020-12-28 19:33:01 -05:00
Zach Daniel
42deba22f0 chore: update aggregate documentation 2020-12-28 19:25:16 -05:00
Zach Daniel
1719d97d2c chore: update docs 2020-12-28 19:20:52 -05:00
Zach Daniel
d600c55509
feat: support :first aggregate (#153)
feat: support more sort orders
2020-12-28 19:18:01 -05:00
Zach Daniel
ada5e0a2ae fix: separate builders + description in sections 2020-12-27 01:06:32 -05:00
Zach Daniel
28e26660a6 fix: support examples on dsl sections 2020-12-27 01:00:24 -05:00
Zach Daniel
fb6478c52b docs: add section examples 2020-12-27 00:49:51 -05:00
Zach Daniel
abff2e4b39 docs: update generated documentation to be single file 2020-12-26 23:54:36 -05:00
Zach Daniel
bfa4d0f924 fix: cast string argument names 2020-12-26 21:20:12 -05:00
Zach Daniel
281fced422 fix: uuid/id pkeys should allow_nil 2020-12-26 18:30:51 -05:00
Zach Daniel
744a903f24 fix: support operators on both sides for not_eq 2020-12-23 14:49:40 -05:00
Zach Daniel
2c585d28a4 fix: fix filtering for ets + mnesia data layers 2020-12-23 14:16:23 -05:00
Zach Daniel
935cbf8b26 fix: various pagination, runtime, and auth bugs 2020-12-23 12:45:49 -05:00
Zach Daniel
b94bd0ff83 fix: default pagination limit triggers pagination 2020-12-07 19:55:54 -05:00
Zach Daniel
3bc1086a0a chore: release version v1.25.2 2020-12-05 20:39:45 -05:00
Zach Daniel
75a50ceb82 fix: resolve warning from nimbleoptions deprecation 2020-12-05 20:39:21 -05:00
Zach Daniel
2b500071f3 improvement: support confirming arguments, test allow_nil? 2020-12-01 22:50:43 -05:00
Zach Daniel
0abf03065a feat: support arguments for actions 2020-12-01 22:09:37 -05:00
Zach Daniel
c6ea07896b test: various testing improvements 2020-12-01 00:51:24 -05:00
Zach Daniel
b7896dbf8f fix: various build fixes 2020-12-01 00:45:15 -05:00
Zach Daniel
0e3333c05f chore: update tests 2020-11-30 23:23:34 -05:00
Zach Daniel
cb7caa51a0 fix: various small utility fixes 2020-11-30 23:15:37 -05:00
Kyle Nguyen
0f47d808e3
fix: do not require private attributes in create api (#143) 2020-11-08 11:49:03 -05:00
Zach Daniel
c493c1616b
feat: add uuid_primary_key/2 and integer_primary_key/2 2020-11-07 00:31:13 -05:00
Zach Daniel
8fd26d66ca
fix: derived belongs_to attributes are required if their parent is 2020-11-07 00:09:04 -05:00
Zach Daniel
375123e653
fix: default create/update timestamps to private? 2020-11-05 21:27:11 -05:00
Zach Daniel
262be96ed3
fix: set proper pagination defaults 2020-11-05 21:05:32 -05:00
Zach Daniel
05a79c2dbd
chore: add built_in? ash type helper 2020-11-03 13:58:57 -05:00
Zach Daniel
bd190f91f2
docs: update docs 2020-11-03 00:43:57 -05:00
Kyle Nguyen
c732099240
feat: Add property: private? for attributes, relationships, aggregates, and calculations (#140) 2020-11-02 15:33:14 -05:00
Zach Daniel
46efda4db4
improvement: support specifying that some options are modules 2020-10-29 00:14:01 -04:00
Zach Daniel
2333d01ddf
feat: multitenancy! and tons of various fixes (#139) 2020-10-28 01:14:17 -04:00
Zach Daniel
fcf2f2c7ce
chore: fix tests/new behavior 2020-10-21 00:57:27 -04:00
Zach Daniel
ef66219780
fix: better not_found error handling 2020-10-21 00:52:47 -04:00
Zach Daniel
721555f232
fix: remove unused code 2020-10-20 18:53:12 -04:00
Zach Daniel
1bf2058233
fix: various fixes and improvements 2020-10-20 18:50:11 -04:00
A.shalaby
9020d3b36d
feat: Optimize relashionship records replacement (#135)
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2020-10-19 19:10:05 -04:00
Zach Daniel
ad24164e2e
fix: invalid function arg parsing w/ ref 2020-10-17 19:21:25 -04:00
Zach Daniel
59063ff928
chore: docs + def -> defp 2020-10-17 13:35:09 -04:00
Zach Daniel
b0bfec7e0f
feat: pubsub notifier (#134) 2020-10-17 13:06:27 -04:00
Zach Daniel
de474db4a6
fix: engine hanging on parallel requests 2020-10-16 01:47:34 -04:00
Zach Daniel
eb25d5b826
feat: add notifiers (#133) 2020-10-15 00:54:02 -04:00
Digit
78861b6a51
feat: Add :one_of constraint to the Atom type (#130) 2020-10-13 10:29:57 -04:00
Maarten van Vliet
57c0c7294e
docs: Switch titles to match contents of paragraphs (#132) 2020-10-12 10:38:11 -04:00
Zach Daniel
7d4212b5bf
fix: bugs with keyset pagination 2020-10-12 02:35:12 -04:00
Zach Daniel
f8fadc67e6
feat: Add pagination (#131) 2020-10-11 23:55:47 -04:00
Zach Daniel
bd6334385f
fix: parse functions properly 2020-10-09 20:59:43 -04:00
Zach Daniel
3c6c60f594
fix: fix dialyzer 2020-10-09 20:56:15 -04:00
Zach Daniel
084857bf83
fix: fix certain versions of elixir having issues 2020-10-09 20:44:15 -04:00
Zach Daniel
cd0998bb92
chore: fix CI + update docs 2020-10-09 10:13:44 -04:00
Zach Daniel
6392361f72
chore: fix lint 2020-10-08 01:59:02 -04:00
Zach Daniel
d928ca5f6e
feat: expression based filter 2020-10-08 01:22:55 -04:00
Zach Daniel
0c216c284d
Module updates (#129) 2020-10-07 01:17:17 -04:00
Zach Daniel
114e64f8b4
feat: filter rewrite to op/function/ref based structure 2020-10-06 00:58:06 -04:00
WolfDan
1d6066f247
fix: add module name to errors (#127) 2020-10-05 10:40:22 -04:00
A.shalaby
a2f5db08f4
fix: Fix composite key in changeset functions (#125)
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2020-10-03 02:37:17 -04:00
A.shalaby
0f805803e1
test: add changeset_test (#123)
Co-authored-by: Zach Daniel <zachary.s.daniel@gmail.com>
2020-10-02 14:48:49 -04:00
Zach Daniel
bce4f910f5
docs: update dsl extension docs 2020-09-25 14:34:31 -04:00
mario
6d719516c2
feat: added description for missing resources (#117) 2020-09-25 08:20:58 -04:00
Zach Daniel
2fae5e1ec5
chore: remove typespec temporarily to fix dialyzer 2020-09-25 00:46:10 -04:00
Zach Daniel
9d9f5aab51
chore: fix dialyzer 2020-09-25 00:42:32 -04:00
Zach Daniel
657dd4bfc2
docs: write up some engine docs 2020-09-25 00:36:50 -04:00
Zach Daniel
d1d84422ed
fix: typespec/error message improvements 2020-09-23 21:06:12 -04:00
mario
2efcf12818
feat: descriptions for actions and relationships (#116) 2020-09-22 17:48:46 -04:00
Zach Daniel
ca66133777
docs: organize modules/builtins docs 2020-09-22 11:22:21 -04:00
Zach Daniel
6df3f4eb17
docs: fix ash_graphql link 2020-09-22 11:02:21 -04:00
Zach Daniel
d10ae9bad1
docs: update query/authorization docs 2020-09-22 10:51:15 -04:00
Zach Daniel
e75ae597d2
docs: add links to extensions 2020-09-21 18:33:44 -04:00
Jan Pieper
348a814fc6
fix: correct comment in UUID type (#115) 2020-09-21 17:51:58 -04:00
Zach Daniel
448b8f06a0
docs: add example application 2020-09-19 21:54:24 -04:00
Zach Daniel
f41cc77549
Various Improvements (#113) 2020-09-19 15:46:34 -04:00
Zach Daniel
5552ce1f83
fix: remove delegate data layer (#112)
The delegation data layer was the wrong tactic. We should model
shared behavior as composition, not inheritance (which is essentially
what the delegation data layer turned into)
2020-09-06 01:16:21 -04:00
Zach Daniel
c75ae780d7
fix: delete process/global storage properly 2020-09-05 23:14:01 -04:00
Zach Daniel
28d2d9b363
fix: Fix identities (#110) 2020-09-04 00:59:32 -04:00
Zach Daniel
243c9f05a2
feat: required belongs_to relationships (#107)
fix: various delegate data layer improvements

fix: engine halting issues

feat: support filter templates on read actions

feat: builtin concat calculation
2020-09-01 23:34:55 -04:00
Zach Daniel
9a3962d47a
feat: add changes to actions (#106) 2020-08-30 03:15:16 -04:00
Zach Daniel
a58367414d
feat: add accept option to create/update actions (#105) 2020-08-28 02:58:03 -04:00
Zach Daniel
c5c51ebed9
chore: fix build issues 2020-08-27 21:14:19 -04:00
Zach Daniel
bc0853eb2d
fix: resolve engine deadlocks 2020-08-27 21:00:25 -04:00
Zach Daniel
157752294c
fix: support nested lists of filters 2020-08-27 20:59:36 -04:00
Zach Daniel
9f9935dead
feat: add Ash.NotLoaded back, simpler defaults 2020-08-27 18:36:28 -04:00
Zach Daniel
5d37709cb2
feat: improve errors (add stacktraces) 2020-08-27 18:35:31 -04:00
Zach Daniel
036e0c2a88
feat: add one_of validation 2020-08-27 00:30:09 -04:00
Zach Daniel
8ce58a6187
feat: add simple data layer, and make it default 2020-08-27 00:29:50 -04:00
Zach Daniel
b019ba8eca
fix: allow anonymous functions in the dsl 2020-08-26 17:45:49 -04:00
Zach Daniel
acd9402829
fix: only update filter when its a filter 2020-08-26 13:55:11 -04:00
Zach Daniel
394ed448da
fix: set resource in delegation query 2020-08-26 13:53:27 -04:00
Zach Daniel
3373d72899
feat: support inner lateral joins (#100)
Specifically, this allows us to behave correctly when loading
relationships w/ a limit or offset
2020-08-26 00:16:08 -04:00
Mike Binns
846f381d08
ci: Improve CI Elixir/Erlang matrix (#96) 2020-08-25 15:39:40 -04:00
Zach Daniel
385ec0b423
feat: add identities, to enhance get calls (#99) 2020-08-25 02:06:01 -04:00
Zach Daniel
9d4fc1e2a0
docs: finish docs on calculations 2020-08-25 01:10:17 -04:00
Zach Daniel
3b1bde6a39
fix: spec + dialyzer fixes 2020-08-25 01:05:29 -04:00
Zach Daniel
9ed9f82087
fix: spec mix task run as no_return 2020-08-25 00:52:27 -04:00
Zach Daniel
2ef877ee53
feat: initial calculation support (#98)
* feat: initial calculation support
2020-08-25 00:49:07 -04:00
Zach Daniel
a56fdbb3ff
feat: Add delegate datalayer (#97) 2020-08-22 18:44:05 -04:00
Mike Binns
90af0b0357
Add is_nil support to Ets/Mnesia (#94) 2020-08-20 21:27:32 -04:00
Zach Daniel
7b1c735ff3
feat: various custom datalayer features 2020-08-19 00:50:35 -04:00
Zach Daniel
c14e2e865d
fix(extensions): resolve duplicate nested entities 2020-08-18 01:49:35 -04:00
Zach Daniel
fdc7ba463f
feat: streamline load by accepting ok/error 2020-08-18 01:49:22 -04:00
Zach Daniel
fa480b20df
fix: use Ecto's NotLoaded for assocs for now 2020-08-18 01:49:01 -04:00
Zach Daniel
06ad91d4c5
fix: create/update typespecs were wrong 2020-08-18 01:48:41 -04:00
Zach Daniel
0e373f69a6
fix: add lexical scope to DSL for imports 2020-08-17 02:42:59 -04:00
Zach Daniel
fdc427f20f
fix: crash on entity w/ no options specified 2020-08-17 02:42:47 -04:00
Zach Daniel
be37e13ab0
fix: convert eq: nil into is_nil, fix credo 2020-08-17 02:42:27 -04:00
Zach Daniel
66c394e601
feat: add is_nil predicate 2020-08-17 02:36:15 -04:00
Zach Daniel
b617f45fc8
fix: various fixes for graphql extension 2020-08-13 17:49:33 -04:00
Zach Daniel
e83785c8d8
chore: update docs 2020-08-10 13:47:49 -04:00
Zach Daniel
dd2162e4dd
fix: load typespecs 2020-08-10 13:43:58 -04:00
Zach Daniel
b7073e3098
chore: update docs on aggregates 2020-08-10 03:51:28 -04:00
Zach Daniel
dcf6680573
fix: various fixes from json:api integration 2020-08-10 03:36:52 -04:00
Zach Daniel
be74d1e7eb
feat: add named aggregates 2020-08-08 16:17:52 -04:00
Zach Daniel
a45efc79dd
fix: scope data layer feature to aggregate kind 2020-07-24 19:26:51 -04:00
Zach Daniel
bd4ce75a23
chore: add notice to docs 2020-07-24 17:55:19 -04:00
Zach Daniel
53fb534865
feat: group metadata by path and async?: false 2020-07-24 17:13:45 -04:00
Zach Daniel
f7c9814ef9
feat: run aggregates async if not in query 2020-07-24 02:20:44 -04:00
Zach Daniel
156b89b0fb
fix: incorrect callback 2020-07-23 01:36:54 -04:00
Zach Daniel
5065306b3c
fix: comment out aggregate splitting code for now 2020-07-23 01:18:37 -04:00
Zach Daniel
28c236452d
feat: aggregations! 2020-07-23 01:09:59 -04:00
Zach Daniel
fbd19a32df
fix: simplify dsl building using on_load 2020-07-20 19:16:24 -04:00
Zach Daniel
9d51ec6300
feat: allow editing join association attributes 2020-07-16 19:17:01 -04:00
Zach Daniel
b549337dc2
fix: use proper errors everywhere 2020-07-15 17:06:27 -04:00
Zach Daniel
28982f03fd
feat: various small refactors + validations 2020-07-15 01:38:42 -04:00
Zach Daniel
129ab24a1f
fix: changeset + set_state issues 2020-07-13 00:37:02 -04:00
Zach Daniel
2cf41b966e
feat: refactor changes into changesets 2020-07-12 02:25:53 -04:00
Zach Daniel
d00ba360f2
chore: fix lint 2020-07-09 03:25:40 -04:00
Zach Daniel
5502aea126
fix: small fixes 2020-07-09 03:23:21 -04:00
Zach Daniel
253b1c2e7a
feat: lots of docs, simplify query generation 2020-07-09 02:55:09 -04:00
Zach Daniel
41b8c94964
feat: validate relationship keys 2020-07-09 00:20:32 -04:00
Zach Daniel
482433a28c
docs: update latest docs 2020-07-07 20:30:49 -04:00
Zach Daniel
ea42601a4e
chore: add getting started guide 2020-07-07 19:28:31 -04:00
Zach Daniel
053b3e4a1c
fix!: remove initial subscriptions pass 2020-07-07 10:38:28 -04:00
Zach Daniel
3b1e263fe3
feat: general improvements 2020-07-07 10:19:03 -04:00
Zach Daniel
ac1628b81d
fix: in predicate + engine errors 2020-07-04 01:45:28 -04:00
Zach Daniel
2c6ed51661
docs: add short type references 2020-07-01 09:37:42 -04:00
Zach Daniel
e90d509ccb
fix!: remove atom type, add docs 2020-07-01 00:45:15 -04:00
Zach Daniel
b5120a42b5
feat: list types 2020-06-30 23:57:24 -04:00
Zach Daniel
05848d5f4a
feat: refactor ash types to modules, add constraints 2020-06-30 17:29:43 -04:00
Zach Daniel
2228617e8f
fix: remove benchee, ensure mnesia always uses transactions 2020-06-30 12:21:08 -04:00
Zach Daniel
e565d753ce
fix: stop gitignoring the mnesia data layer 2020-06-30 09:58:04 -04:00
Zach Daniel
e1f6d7bca0
fix: try to fix ash.formatter task 2020-06-30 09:53:37 -04:00
Zach Daniel
24d66b3f39
fix: test/improve parallelizable requests 2020-06-30 01:19:20 -04:00
Zach Daniel
8438795f96
fix: require that resources have primary keys 2020-06-30 00:31:07 -04:00
Zach Daniel
807b16e268
fix: move to simpler transaction logic 2020-06-29 17:42:01 -04:00
Zach Daniel
05f2d9ad64
WIP 2020-06-29 17:20:29 -04:00
Zach Daniel
c39709761d
fix: fix tests/credo 2020-06-28 23:43:35 -04:00
Zach Daniel
b5c3f7acc4
fix: fix tests, add tests for gt/lt filters 2020-06-28 23:36:38 -04:00
Zach Daniel
473c49577c
feat: add less_than and greater_than filter support 2020-06-28 23:22:41 -04:00
Zach Daniel
22eeb29d8f
feat: validate all related resources in API 2020-06-28 23:00:56 -04:00
Zach Daniel
1cd586a59c
feat: cross data layer filters 2020-06-28 21:31:54 -04:00
Zach Daniel
30319f31f1
feat: cross data layer filtering 2020-06-28 02:20:33 -04:00
Zach Daniel
564d095f2a
feat: section option configuration 2020-06-27 14:24:54 -04:00
Zach Daniel
8c1886df10
fix: set persistent_term properly 2020-06-26 18:24:18 -04:00
Zach Daniel
a6916e4c44
chore: switch from on_load to application start 2020-06-26 18:20:02 -04:00
Zach Daniel
ec69ac7117
fix: use authorization filters in side loads 2020-06-22 02:11:59 -04:00
Zach Daniel
c89acce635
fix: remove reverse relationships 2020-06-22 00:34:44 -04:00
Zach Daniel
e6e9f88710
fix: many filter/side load fixes/improvements 2020-06-21 23:26:47 -04:00
Zach Daniel
cf199b70e6
fix: allow side_load option on create/update 2020-06-20 19:41:57 -04:00
Zach Daniel
d95e984193
fix: raised error message contents 2020-06-18 23:53:46 -04:00
Zach Daniel
846f842d98
fix: parent error messages 2020-06-18 23:43:06 -04:00
Zach Daniel
2742a8f1f1
fix: relationship path clause 2020-06-18 23:08:55 -04:00
Zach Daniel
1033677259
feat: boolean filter refactor (#78)
feat: predicate behaviour
2020-06-18 22:59:30 -04:00
Zach Daniel
2a4fc7ebb1
fix: consider nested entities in ash.formatter 2020-06-15 03:28:47 -04:00
Zach Daniel
a97927fa2e
fix: compile application in ash.formatter task 2020-06-15 03:02:33 -04:00
Zach Daniel
b6101a4dff
feat: extension section module imports, generated .formatter.exs (#71) 2020-06-15 02:40:33 -04:00
Zach Daniel
c776da9237
chore: release version v0.4.0 2020-06-14 02:42:44 -04:00
Zach Daniel
6dc699d8a6
feat: rebuild DSL inner workings for extensibility (#70) 2020-06-14 02:39:11 -04:00
Zach Daniel
5f2019027d
improvement: add date support (#68) 2020-06-12 22:39:20 -04:00
Zach Daniel
0092af6a94
fix: dialyzer warnings 2020-06-09 01:13:20 -04:00
Zach Daniel
2daa72e165
feat: add after_compile and validate primary key 2020-06-07 03:30:38 -04:00
Zach Daniel
f7912b54fb
docs: abstract shared relationship DSL options 2020-06-07 03:18:49 -04:00
Zach Daniel
ff2e342741
fix: honor the authorize? flag 2020-06-05 14:35:02 -04:00
Zach Daniel
1cc143e7fa
test: adjust tests for removal of name/type (and defaults) 2020-06-04 23:34:44 -04:00
Zach Daniel
d5fc20f07c
fix: account for action/actor args to interface 2020-06-04 23:22:00 -04:00
Zach Daniel
1b94ca891c
fix: remove the rest of the deps on name/type 2020-06-04 23:19:23 -04:00
Zach Daniel
651872a67f
fix: add resource_module?/1 back to Ash 2020-06-04 22:43:51 -04:00
Zach Daniel
ecbdaa1abb
feat: remove name/type from ash core 2020-06-04 22:43:30 -04:00
Zach Daniel
71c49cb215
feat: use option schemas in the interface (#30) 2020-06-04 21:54:55 -04:00
Zach Daniel
68d0ba44e7
fix: references to error handling code 2020-06-04 02:21:20 -04:00
Zach Daniel
797792f947
docs: update documentation 2020-06-04 02:16:59 -04:00
Zach Daniel
6b73e855a1
docs: make most moduledocs private 2020-06-02 23:51:39 -04:00
Zach Daniel
84422d1f98
fix: fix empty filter checks 2020-06-02 18:24:19 -04:00
Zach Daniel
f42462408a
docs: fix unclosed backquotes 2020-06-02 02:05:06 -04:00
Zach Daniel
7c987b32bb
chore: wrap up remaining lint errors 2020-06-02 01:47:25 -04:00
Zach Daniel
451d4d62f0
fix: typo in function name 2020-06-02 00:44:57 -04:00
Zach Daniel
9ac266e6c0
chore: move #TODO comments into readme for now 2020-06-02 00:41:07 -04:00
Zach Daniel
ebf6c8ffe3
chore: address refactor opportunity lint errors 2020-06-02 00:24:08 -04:00
Zach Daniel
21fae1aed1
chore: address sobelow warnings 2020-06-01 23:37:50 -04:00
Zach Daniel
9a0be3a072
chore: fix dialyzer build errors 2020-06-01 23:23:50 -04:00
Zach Daniel
b5c2fe6cf6
chore: remove ashton in favor of nimble_options 2020-06-01 01:14:23 -04:00
Zach Daniel
525e3ae268
fix: combine filters properly 2020-06-01 01:02:33 -04:00
Zach Daniel
6fbfb8b2bc
fix: dependencies 2020-06-01 00:51:02 -04:00
Zach Daniel
908bbbcdb8
fix: honor returned check filters 2020-05-31 03:14:30 -04:00
Zach Daniel
377319e881
feat: add data layer custom filters 2020-05-31 01:52:00 -04:00
Zach Daniel
7820adeebe
WIP 2020-05-30 23:55:45 -04:00
Zach Daniel
9dca201f79
WIP 2020-05-30 23:55:01 -04:00
Zach Daniel
fdb6f055fa
WIP 2020-05-30 03:29:27 -04:00
Zach Daniel
5912595208
fix: side_load queries 2020-05-27 22:31:40 -04:00
Zach Daniel
e05b6b55d6
fix: many to many relationship side loads 2020-05-27 09:42:05 -04:00
Zach Daniel
65aa5215fe
finalize engine refactor 2020-05-27 00:29:54 -04:00
Zach Daniel
9d76bb1d9b
WIP 2020-05-27 00:29:54 -04:00
Zach Daniel
227532db29
WIP 2020-05-27 00:29:54 -04:00
Zach Daniel
1ed9d3c5fa
WIP 2020-05-27 00:29:54 -04:00
Zach Daniel
b876f87e23
WIP 2020-05-27 00:29:53 -04:00
Zach Daniel
b174bc6433
WIP: start work on engine-2 2020-05-27 00:29:53 -04:00
Zach Daniel
2f37228ab4
fix: protect against double data resolution 2020-05-15 02:54:46 -04:00
Zach Daniel
ad8f2c0826
WIP 2020-05-15 02:29:12 -04:00
Zach Daniel
08d373c207
WIP 2020-05-15 02:27:13 -04:00
Zach Daniel
8a2319cb41
WIP 2020-05-15 02:04:14 -04:00
Zach Daniel
a594747515
WIP 2020-05-15 02:02:46 -04:00
Zach Daniel
2e283aa493
WIP 2020-05-15 01:58:07 -04:00
Zach Daniel
eb655c6d4f
WIP 2020-05-15 01:56:03 -04:00
Zach Daniel
3b10b1ced4
WIP 2020-05-15 01:51:29 -04:00
Zach Daniel
f33841be7f
WIP 2020-05-15 01:49:10 -04:00
Zach Daniel
0b5c362ed1
WIP 2020-05-15 01:44:13 -04:00
Zach Daniel
482dadf1eb
WIP 2020-05-15 01:42:24 -04:00
Zach Daniel
0af7c5fdb9
WIP 2020-05-15 01:36:46 -04:00
Zach Daniel
d44d372902
WIP 2020-05-15 01:31:58 -04:00
Zach Daniel
a1f33d7249
WIP 2020-05-15 01:08:36 -04:00
Zach Daniel
5cc928f192
WIP 2020-05-15 01:06:51 -04:00
Zach Daniel
ccf30bafac
WIP 2020-05-15 01:03:43 -04:00
Zach Daniel
26cd1c4af9
WIP 2020-05-15 00:59:30 -04:00
Zach Daniel
548bc41145
WIP 2020-05-15 00:44:37 -04:00
Zach Daniel
bb8202d66a
WIP 2020-05-15 00:42:43 -04:00
Zach Daniel
099330559d
fix: various small improvements 2020-05-15 00:29:47 -04:00
Zach Daniel
04a53e585b
feat: various fixes, upsert, relationship changes 2020-05-14 18:01:34 -04:00
Zach Daniel
fd4dce3b93
fix: various bugs 2020-05-13 13:52:08 -04:00
Zach Daniel
1cc096e621
improvement: huge query/filter overhaul 2020-05-13 11:54:44 -04:00
Zach Daniel
596a8e3d75
improvement: remove pagination, add query struct (unused) 2020-05-09 22:23:23 -04:00
Zach Daniel
22e649a755
improvement(filters): simplify/improve inspect logic 2020-05-09 20:02:40 -04:00
vherr2
e0efa2a12c Updates guard with perf feedback 2020-05-09 16:32:14 -07:00
vherr2
127d4abd62 Fixes guard for maps 2020-05-09 16:30:21 -07:00
vherr2
c89600a248 refactor(filter, inspect): adds helpers and guards to clarify code
Creates private guard for checking against nil/empty values; Moves variable assignment outside of
function heads when not required for differentiating pattern matching; Adds helpers for parsing
attributes and relationships
2020-05-09 16:26:59 -07:00
Zach Daniel
6d78286112
Merge pull request #11 from ash-project/move-inspect-impl-to-struct-files
refactor(filter): moves defimpl Inspect to corresponding struct files
2020-05-09 19:25:10 -04:00
vherr2
665f82a45e refactor(filter): moves defimpl Inspect to corresponding struct files
Colocates defimpl Inspect with the corresponding struct. This should help colocate the struct itself
with the IO representation of the entity.
2020-05-09 16:20:55 -07:00
vherr2
666c1968e2 Fixes compilation warning for unused variable 2020-05-09 15:03:17 -07:00
Zach Daniel
91a4a668bf
fix: verbose? now prints auth log 2020-05-09 16:24:41 -04:00
Zach Daniel
1278eaedbd
feat: add side_load 2020-05-07 01:34:34 -04:00
Zach Daniel
4d73d771ea
improvement: add DslBuilder pattern for deriving dsl blocks 2020-05-07 00:12:29 -04:00
Zach Daniel
67ae03c810
improvement: add new types 2020-05-06 23:14:55 -04:00
Zach Daniel
9beea38b7a
WIP 2020-05-02 05:01:57 -04:00
Zach Daniel
7a28c7b9bd
feat: add timestamps/0 to attributes 2020-05-01 10:22:31 -04:00
Zach Daniel
2dea5d6d33
WIP on new error system. Only a few tests left to fix 2020-05-01 02:21:46 -04:00
Zach Daniel
e013341f11
fix: read generated fields after writes 2020-04-30 23:31:32 -04:00
Zach Daniel
5faff254bf
fix: more fixes 2020-04-30 23:18:04 -04:00
Zach Daniel
b988632aa3
fix: fetch_attr right 2020-04-30 23:16:48 -04:00
Zach Daniel
cf94465996
fix: attribute defaults 2020-04-30 23:15:06 -04:00
Zach Daniel
2d26d94fe2
feature: add update_defaults 2020-04-30 23:05:06 -04:00
Zach Daniel
4ea1d53a30
fix: use attribute name in error 2020-04-30 22:52:24 -04:00
Zach Daniel
7758d4069c
fix: fetch_attr return value 2020-04-30 22:45:45 -04:00
Zach Daniel
736a98d8c4
fix: writeable is not a word 2020-04-30 22:43:57 -04:00
Zach Daniel
6d12eb8546
fix: correct writeable attribute logic 2020-04-30 22:42:06 -04:00
Zach Daniel
035a857138
feat: support writeable?: false attributes 2020-04-30 22:30:15 -04:00
Zach Daniel
b567bc1f2f
fix: required attribute validations 2020-04-30 22:10:01 -04:00
Zach Daniel
8cbad05f4a
fix: use resource's primary key config 2020-04-30 20:16:58 -04:00
Zach Daniel
b7ca80d2eb
fix: fix resolvable requests logic 2020-04-30 13:36:16 -04:00
Zach Daniel
73c51943cf
WIP 2020-04-29 23:10:48 -04:00
Zach Daniel
f6bca5942b
WIP 2020-04-29 21:01:44 -04:00
Zach Daniel
51fcf1a498
WIP 2020-04-28 00:12:57 -04:00
Zach Daniel
61c0ffee50
WIP 2020-04-25 23:56:21 -04:00
Zach Daniel
2e0aa229be
WIP 2020-04-24 10:27:47 -04:00
Zach Daniel
ec404bc89f
WIP 2020-04-20 00:43:33 -04:00
Zach Daniel
24d1bd03c4
WIP 2020-04-19 23:15:52 -04:00
Zach Daniel
8170efca8a
WIP 2020-04-19 14:01:01 -04:00
Zach Daniel
61c46f33a3
WIP 2020-04-18 23:26:05 -04:00
Zach Daniel
bee1150385
WIP 2020-04-12 18:52:52 -04:00
Zach Daniel
9766db8b92
WIP 2020-04-12 18:33:03 -04:00
Zach Daniel
290a2e2048
WIP 2020-04-05 14:54:05 -04:00
Zach Daniel
68b8261411
WIP 2020-04-05 06:25:17 -04:00
Zach Daniel
3a6543a9b3
WIP 2020-04-05 06:25:17 -04:00
Andrew Callahan
d850cd242a remove duplicate key 2020-03-29 11:59:14 -05:00
Zach Daniel
3e928d3462
WIP 2020-03-28 16:26:13 -04:00
Zach Daniel
bed0a39cf2
WIP 2020-01-14 15:02:30 -05:00
Zach Daniel
ed2b24d590
WIP 2020-01-14 14:00:38 -05:00
Zach Daniel
c6521a668c
WIP 2020-01-13 13:39:55 -05:00
Zach Daniel
a831af570d
WIP 2020-01-13 13:16:24 -05:00
Zach Daniel
ebd8291631
WIP 2020-01-11 00:09:52 -05:00
Zach Daniel
9bb19f95ad
WIP 2020-01-10 12:27:16 -05:00
Zach Daniel
a6ca37f537
WIP 2020-01-06 23:01:15 -05:00
Zach Daniel
de9a790626
WIP 2020-01-01 04:53:51 -05:00
Zach Daniel
5f2c134060
WIP 2020-01-01 04:51:56 -05:00
Zach Daniel
442d6f720e
WIP 2020-01-01 04:39:10 -05:00
Zach Daniel
e31718510b
WIP 2019-12-30 22:48:17 -05:00
Zach Daniel
b1a997ea55
WIP 2019-12-29 17:28:28 -05:00
Zach Daniel
cf40fe0222
WIP 2019-12-29 01:56:47 -05:00
Zach Daniel
56a1b3e658
WIP 2019-12-29 01:31:50 -05:00
Zach Daniel
08ef1a0eb1
WIP 2019-12-28 13:52:47 -05:00
Zach Daniel
4aee8095d4
WIP 2019-12-27 16:10:55 -05:00
Zach Daniel
6781f655c8
Fixing irrelevant clause detection 2019-12-27 01:39:20 -05:00
Zach Daniel
4d3688532f
WIP 2019-12-26 16:33:35 -05:00
Zach Daniel
694b7b362e
WIP 2019-12-26 03:42:35 -05:00
Zach Daniel
80545c416c
WIP 2019-12-24 02:53:56 -05:00
Zach Daniel
485b8479df
WIP 2019-12-24 01:42:09 -05:00
Zach Daniel
add170ccc3
fixing tests/errors 2019-12-24 01:29:01 -05:00
Zach Daniel
6702c8eb3a
finishing up action tests 2019-12-23 23:22:31 -05:00
Zach Daniel
06e372e029
WIP 2019-12-23 17:41:29 -05:00
Zach Daniel
d9353f9df9
fixing up docs changes 2019-12-23 16:33:41 -05:00
Zach Daniel
5dfe2a6a6c
WIP 2019-12-23 16:26:59 -05:00
Zach Daniel
41faa751c1
finish up relationship update tests 2019-12-23 15:51:01 -05:00
Zach Daniel
50941958e6
WIP, action tests 2019-12-23 13:17:22 -05:00
Zach Daniel
2c3c368a7e
WIP (removes sat solver) 2019-12-22 23:28:40 -05:00
Zach Daniel
e0cc81c2e7
finally starting to stablize a bit. Still need to finish pg datalayer and
authorization. Realized that `get` `update` and `destroy` logic isn't
going to be as easy as filter based logic. Still not sure how to
handle it really.
2019-12-22 04:06:33 -05:00
Zach Daniel
a93c1b60cb
WIP, making filters work, for the most part 2019-12-22 03:17:29 -05:00
Zach Daniel
4e2e013f96
adding some tests, working on relationship stateful changes 2019-12-20 00:30:27 -05:00
Zach Daniel
fc259c9012
WIP 2019-12-19 23:19:34 -05:00
Zach Daniel
2f85a1385f
wildin out man 2019-12-15 18:20:44 -06:00
Zach Daniel
201e068235
whirlwind 2019-12-12 01:19:22 -05:00
Zach Daniel
58a99fd2d6
WIP 2019-12-10 01:29:25 -05:00
Zach Daniel
d29afca057
WIP 2019-12-10 00:08:59 -05:00
Zach Daniel
82cd7c00b1
WIP 2019-12-09 14:28:09 -05:00
Zach Daniel
6ba4afa1d6
WIP 2019-12-09 02:07:23 -05:00
Zach Daniel
b776d06c2d
WIP 2019-12-09 01:44:07 -05:00
Zach Daniel
9f4254d640
WIP 2019-12-08 23:08:36 -05:00
Zach Daniel
b861568321
WIP 2019-12-08 23:05:56 -05:00
Zach Daniel
ee05955af8
WIP 2019-12-08 14:02:09 -05:00
Zach Daniel
a2e007697a
working on defaults, updating error messages 2019-12-08 01:21:09 -05:00
Zach Daniel
0cd0748ead
WIP 2019-12-07 16:33:31 -05:00
Zach Daniel
83d1761dd8
test the api dsl 2019-12-07 03:38:35 -05:00
Zach Daniel
eea6fc1003
WIP 2019-12-07 02:57:51 -05:00
Zach Daniel
4e527865e7
WIP 2019-12-07 02:42:14 -05:00
Zach Daniel
fa1ca7736b
WIP 2019-12-06 15:54:30 -05:00
Zach Daniel
e90023f75d
remove deafults in actions 2019-12-06 02:06:34 -05:00
Zach Daniel
05e84102dd
test and docs 2019-12-06 02:00:26 -05:00
Zach Daniel
2686fed263
WIP 2019-12-05 20:56:01 -05:00
Zach Daniel
415b784bad
Merge pull request #5 from ash-project/update-ets-doc
update docs for ETS
2019-12-05 19:55:42 -05:00
Andrew Callahan
45eef4675e respond to PR feedback 2019-12-05 19:45:26 -05:00
Andrew Callahan
eb33e050bc respond to PR feedback 2019-12-05 19:39:22 -05:00
Andrew Callahan
8a338bd044 respond to PR feedback 2019-12-05 19:37:53 -05:00
Andrew Callahan
9cad8ce51a respond to PR feedback 2019-12-05 19:16:46 -05:00
Andrew Callahan
f9111a5f5c simplify language 2019-12-05 17:52:11 -05:00
Andrew Callahan
3e53310cc7 respond to PR feedback 2019-12-05 17:35:59 -05:00
Andrew Callahan
f929384edc respond to PR feedback 2019-12-05 16:41:30 -05:00
Andrew Callahan
aa87646af6 update docs for ETS'
'
2019-12-05 16:22:12 -05:00
Andrew Callahan
bb48b7aa85 update ash resource doc 2019-12-05 15:53:20 -05:00
Zach Daniel
248a5d667d
WIP 2019-12-05 13:45:02 -05:00
Zach Daniel
1c5a7e228c
add ash types and test one of them 2019-12-05 11:50:30 -05:00
Zach Daniel
aec2128f6d
WIP 2019-12-05 02:24:20 -05:00
Zach Daniel
030c389225
WIP on cleanup/documentation 2019-12-05 02:18:13 -05:00
Zach Daniel
df70095e39
WIP 2019-12-04 18:04:07 -05:00
Zach Daniel
7a23dccdfa
WIP 2019-12-04 13:35:03 -05:00
Zach Daniel
b3d56031a0
WIP 2019-12-04 00:34:15 -05:00
Zach Daniel
b2feeac52d
WIP 2019-12-03 01:47:49 -05:00
Zach Daniel
5e12d96f73
WIP 2019-12-02 17:01:36 -05:00
Zach Daniel
9f525d15ae
WIP 2019-12-02 11:25:00 -05:00
Zach Daniel
af40b830fc
WIP 2019-12-01 23:04:16 -05:00
Zach Daniel
dd081977a0
WIP 2019-12-01 16:58:29 -05:00
Zach Daniel
9d51c80810
WIP 2019-11-29 15:29:35 -05:00
Zach Daniel
d9ed8e7bbc
WIP 2019-11-29 14:40:19 -05:00
Zach Daniel
242db09396
WIP 2019-11-29 11:36:01 -05:00
Zach Daniel
ad313c5ff3
WIP 2019-11-29 01:54:11 -05:00
Zach Daniel
4cabb8a838
add an ets data layer, and start on some testing 2019-11-28 00:24:29 -05:00
Zach Daniel
0c7b97a305
WIP 2019-11-27 16:36:25 -05:00
Zach Daniel
a5875df1fd
WIP 2019-11-26 17:35:28 -05:00
Zach Daniel
9de67150d9
WIP 2019-11-26 17:33:23 -05:00
Zach Daniel
45f61b669f
add authorized versions of read/get 2019-11-26 12:38:47 -05:00
Zach Daniel
ef2f828250
WIP 2019-11-26 01:50:53 -05:00
Zach Daniel
afdd294e7f
start on authorization 2019-11-25 18:23:59 -05:00
Zach Daniel
8682c4e83b
WIP 2019-11-25 12:08:38 -05:00
Zach Daniel
e57f3961ad
WIP 2019-11-24 19:01:21 -05:00
Zach Daniel
3c1ef49950
whew 2019-11-02 16:36:46 -04:00
Zach Daniel
c6710f9381
work on separation lines and relationships 2019-10-30 11:10:01 -04:00
Zach Daniel
5d7382f966
move data functions out to Ash.Data 2019-10-11 11:18:59 -07:00
Zach Daniel
d0362b65d7
move json_api out to ash_json_api 2019-10-11 11:06:09 -07:00
Zach Daniel
ef1faf8ce8
finish ash_ecto setup 2019-10-07 10:38:30 -04:00
Zach Daniel
397d79fa7e
move datalayer stuff out of ash 2019-10-06 16:36:06 -04:00
Zach Daniel
9cb52f55a7
adding includes support 2019-10-05 20:33:38 -04:00
Zach Daniel
d250271cd1
add relationship route for has one 2019-10-04 04:30:25 -04:00
Zach Daniel
39d6106a9c
draw the rest of the fucking owl 2019-10-03 22:33:55 -04:00
Zach Daniel
daa8b7ca84
remove example, add functionality 2019-10-03 15:07:57 -04:00
Zach Daniel
b693519ef7
add basic serialization 2019-10-03 03:40:37 -04:00
Zach Daniel
c190f4049b
updated the example, added the skeleton of "get" 2019-10-03 03:18:07 -04:00
Zach Daniel
91a4f814ab
move example code into examples 2019-10-03 02:11:34 -04:00
Zach Daniel
9a4c5217f1
WIP 2019-10-03 00:36:32 -04:00
Zach Daniel
4c41344126
init 2019-10-02 23:08:36 -04:00