# 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
}
}