odin
odin copied to clipboard
Odin is an implementation of the Active Record pattern in TypeScript
trafficstars
Odin
Odin is an implementation of Active Record pattern in TypeScript.
Table of Content
- Installation
- Usage
- Features
- TODO (RoadMap to version 1.0.0)
- Versioning
- Changelog
- Authors
- License
- Support
Installation
Before installing, download and install Node.js. Node.js 8 or higher is required.
npm i -s @foxify/odin
Usage
const Odin = require("@foxify/odin");
const { Types } = Odin;
class User extends Odin {
}
User.schema = {
email: Types.String.email.required,
name: {
first: Types.String.min(3).required,
last: Types.String.min(3),
}
};
Features
- Written in
ES6 TypeScriptreadyActive RecordpatternSchemavalidationGraphQL Schemagenerator (based on model schema)JSON Schemagenerator (based on model schema)
TODO (RoadMap to version 1.0.0)
- [x]
Schemavalidation - [ ] Model
- [ ] Hooks
- [x]
create - [ ]
update - [ ]
delete - [ ]
restore
- [x]
- [ ] Relationships
- [x]
embedMany - [x]
hasMany - [x]
hasOne - [ ]
hasManyThrough - [ ]
hasOneThrough - [ ]
Polymorphic- [x]
morphMany - [x]
morphOne - [ ]
morphTo - [ ]
morphManyThrough - [ ]
morphOneThrough - [ ]
morphToThrough
- [x]
- [x] CRUD operations
- [x] Create operation
- [x] Read operation
- [x] Update operation
- [x] Delete operation
- [x]
- [x]
GraphQLsupport - [x]
JSON Schemasupport
- [ ] Hooks
- [ ] Migrations
- [ ] Seeding
- [ ] Tests
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Changelog
See the CHANGELOG.md file for details
Authors
- Ardalan Amini - Core Maintainer - @ardalanamini
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details
Support
If my work helps you, please consider

