odin
odin copied to clipboard
Odin is an implementation of the Active Record pattern in TypeScript
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

