# Adapters
Adapters are what interpret how the final queries for CRUD operations create
, createMany
, upsert
, etc., are built for execution. The default adapter is build for Prisma and OpenCRUD (opens new window) convention.
# Default Adapter Interpretations
class User extends Model {
static entity = "User";
static fields(f) {
f.id();
f.string("name");
f.string("email");
}
}
# Create
const user = await User.create(data);
mutation ($data: UserCreateInput!) {
createOneUser(data: $data) {
id
name
email
}
}
# Create Many
const users = await User.createMany([user1Data, user2Data]);
mutation ($data: [UserCreateInput!]!) {
createManyUsers(data: $data) {
id
name
email
}
}
# Upsert
const user = await User.upsert(where, data);
mutation ($where: UserWhereInput!, $data: UserUpdateInput!) {
upsertOneUser(where: $where, data: $data) {
id
name
email
}
}
# Update
const user = await User.update(where, data);
mutation ($where: UserWhereUniqueInput!, $data: UserUpdateInput!) {
updateOneUser(where: $where, data: $data) {
id
name
email
}
}
# Find Many
const users = await User.findMany();
query {
users {
id
name
email
}
}
# Find Unique
const user = await User.findUnique();
query ($where: UserWhereUniqueInput!) {
user(where: $where) {
id
name
email
}
}
# Delete
const user = await User.delete(where);
mutation ($where: UserWhereUniqueInput!) {
deleteOneUser(where: $where) {
id
name
email
}
}
# Update an existing model
const user = await User.findUnique(where);
user.$fill(data);
user.$update();
mutation ($where: UserWhereUniqueInput!, $data: UserUpdateInput!) {
updateOneUser(where: $where, data: $data) {
id
name
email
}
}
# Delete an existing model
const user = await User.findUnique(where);
user.$delete();
mutation ($where: UserWhereUniqueInput!) {
deleteOneUser(where: $where) {
id
name
email
}
}