accel-record
Advanced tools
Comparing version 1.12.0 to 1.13.0
{ | ||
"name": "accel-record", | ||
"version": "1.12.0", | ||
"version": "1.13.0", | ||
"description": "Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.", | ||
@@ -13,2 +13,6 @@ "type": "module", | ||
}, | ||
"./enums": { | ||
"types": "./dist/enums.d.ts", | ||
"default": "./dist/enums.js" | ||
}, | ||
"./search": { | ||
@@ -50,6 +54,6 @@ "types": "./dist/search.d.ts", | ||
"dependencies": { | ||
"accel-record-core": "^1.12.0", | ||
"accel-record-factory": "^1.12.0", | ||
"prisma-generator-accel-record": "^1.12.0" | ||
"accel-record-core": "^1.13.0", | ||
"accel-record-factory": "^1.13.0", | ||
"prisma-generator-accel-record": "^1.13.0" | ||
} | ||
} |
@@ -1182,13 +1182,5 @@ Language: [English](https://github.com/koyopro/accella/blob/main/packages/accel-record/README.md) | [日本語](https://github.com/koyopro/accella/blob/main/packages/accel-record/README-ja.md) | ||
translation: { | ||
accelrecord: { | ||
models: { | ||
User: "User", | ||
}, | ||
attributes: { | ||
User: { | ||
firstName: "First Name", | ||
lastName: "Last Name", | ||
}, | ||
}, | ||
}, | ||
"accelrecord.models.User": "User", | ||
"accelrecord.attributes.User.firstName": "First Name", | ||
"accelrecord.attributes.User.lastName": "Last Name", | ||
}, | ||
@@ -1248,18 +1240,6 @@ }, | ||
translation: { | ||
accelrecord: { | ||
models: { | ||
User: "User", | ||
}, | ||
attributes: { | ||
User: { | ||
firstName: "First Name", | ||
lastName: "Last Name", | ||
}, | ||
}, | ||
errors: { | ||
messages: { | ||
blank: "can't be blank", | ||
}, | ||
}, | ||
}, | ||
"accelrecord.models.User": "User", | ||
"accelrecord.attributes.User.firstName": "First Name", | ||
"accelrecord.attributes.User.lastName": "Last Name", | ||
"accelrecord.errors.messages.blank": "can't be blank", // Add | ||
}, | ||
@@ -1291,2 +1271,56 @@ }, | ||
### Translation of Enums | ||
You can define translations for each value of an Enum. | ||
```ts | ||
// prisma/schema.prisma | ||
enum Role { | ||
MEMBER | ||
ADMIN | ||
} | ||
model User { | ||
/* ... */ | ||
role Role @default(MEMBER) | ||
} | ||
``` | ||
You can use `User.role.options()` to retrieve the translations corresponding to each value of the Enum. | ||
For each `User` with a `role`, you can retrieve the translation corresponding to the Enum value using the `roleText` property. | ||
```ts | ||
import i18next from "i18next"; | ||
import { User } from "./models/index.js"; | ||
i18next | ||
.init({ | ||
lng: "ja", | ||
resources: { | ||
ja: { | ||
translation: { | ||
"enums.User.Role.MEMBER": "Member", | ||
"enums.User.Role.ADMIN": "Admin", | ||
}, | ||
}, | ||
}, | ||
}) | ||
.then(() => { | ||
User.role.options(); // => [["Member", "MEMBER"], ["Admin", "ADMIN"]] | ||
const user = User.build({}); | ||
user.role; // => "MEMBER" | ||
user.roleText; // => "Member" | ||
}); | ||
``` | ||
In the example of `user.role`, the following keys will be searched in order, and the first key found will be used: | ||
``` | ||
enums.User.Role.MEMBER | ||
enums.defaults.Role.MEMBER | ||
enums.Role.MEMBER | ||
``` | ||
## Password Authentication | ||
@@ -1293,0 +1327,0 @@ |
38779
1407