17 Commits

Author SHA1 Message Date
b6d8548327
chore(flake): remove cargo from explicitely installed packages
Some checks failed
CI / tests (push) Has been cancelled
Cargo is already installed with rustVersion
2025-06-05 00:56:13 +02:00
8f965ffd9e
docs: complete rewrite of README
All checks were successful
CI / tests (push) Successful in 3m50s
Replaces the existing README with a comprehensive guide that
significantly improves the developer and user experience. The new README
provides complete documentation for all Georm features and a detailed
development setup guide.
2025-06-05 00:49:40 +02:00
5348bea90e
fix(deps): update tokio to 1.45.1 to address RUSTSEC-2025-0023
All checks were successful
CI / tests (push) Successful in 4m2s
Updates tokio dependency to address security advisory RUSTSEC-2025-0023.
This ensures the codebase uses a secure version of the tokio runtime.
2025-06-05 00:07:18 +02:00
6690713fb5
docs: add roadmap with prioritized feature development plan 2025-06-05 00:06:31 +02:00
32828f9ee5
feat: add defaultable field support with companion struct generation
Introduces support for `#[georm(defaultable)]` attribute on entity
fields. When fields are marked as defaultable, generates companion
`<Entity>Default` structs where defaultable fields become `Option<T>`,
enabling easier entity creation when some fields have database defaults
or are auto-generated.

Key features:
- Generates `<Entity>Default` structs with optional defaultable fields
- Implements `Defaultable<Id, Entity>` trait with async `create` method
- Validates that `Option<T>` fields cannot be marked as defaultable
- Preserves field visibility in generated companion structs
- Only generates companion struct when defaultable fields are present
2025-06-04 23:59:39 +02:00
91d7651eca
feat: add foreign one_to_one relationships
All checks were successful
CI / tests (push) Successful in 4m20s
2025-03-02 16:12:20 +01:00
4ff2df1a4e
chore: bump to 0.1.1
All checks were successful
CI / tests (push) Successful in 5m18s
0.1.1
2025-02-01 02:03:43 +01:00
f2e59cee7c
fix: correct docs.rs link and switch to GitHub repository
All checks were successful
CI / tests (push) Successful in 7m21s
2025-02-01 01:59:40 +01:00
d82f9fe2f4
docs: update readme
All checks were successful
CI / tests (push) Successful in 6m37s
0.1.0
2025-02-01 01:25:55 +01:00
59eb96b9c8
docs: improve documentation of georm 2025-02-01 01:25:52 +01:00
f7cdcb1563
chore: add CI and issue templates
All checks were successful
CI / tests (push) Successful in 4m26s
2025-01-31 23:23:19 +01:00
003af71107
chore: simplify flake.nix and update flake.lock 2025-01-31 23:14:40 +01:00
b70b4b7a81
test: added tests for M2M relationships, it works 2025-01-31 23:14:40 +01:00
86e29fa2dc
test: one-to-many relationships work 2025-01-31 23:14:40 +01:00
bca0619f30
fix: simple ORM for one struct and foreign references work
Currently, all methods declared in the Georm trait are available.

If a struct has an ID pointing towards another entity, the user can
create a get method to get the entity pointed at from the database
too (local one-to-one relationship).

I still need to implement remote one-to-one relationships (one-to-one
relationships when the ID of the remote object is not available
locally).

I still need to also test and debug one-to-many relationships (ID of
the remote entiies not available locally) and many-to-many
relationships (declared in a dedicated table).

For now, IDs in all cases are simple types recognized by SQLx that are
not arrays. Options are only supported when explicitely specified for
one-to-one relationships.
2025-01-31 23:14:39 +01:00
96ac2aa979
chore: migrate source code from old repo to this repo 2025-01-26 15:18:31 +01:00
39f757991a
initial commit 2025-01-26 15:18:31 +01:00