mirror of
https://github.com/SrIzan10/next-auth.git
synced 2026-05-01 10:55:20 +00:00
* init adapter folder * add schema * run migration * run `npx @edgedb/generate edgeql-js` * fix `generate` script * add `EdgeDBAdapter` * add tests * add README * docs * dev app * lockfile * remove generated files * ignore `dbschema/edgeql-js` * add `postinstall` generate script * update docs * move `nonrecursive_access_policies` to default schema * newlines * remove js generation * rewrite in edgeql * make `userId` computed * fix `createUser` image param * code review comments * update lockfile * code review * comments * delete * types * revert settings.json * delete migrations * deps * clean up * Restore packages/adapter-test/index.ts * chore: formatting & fix logic of useVerificationToken * chore: delete .md file * fix: test * chore: logo * chore: formatting * chore: add edgedb to doc --------- Co-authored-by: Nico Domino <yo@ndo.dev> Co-authored-by: Thang Vu <hi@thvu.dev>
72 lines
2.1 KiB
Plaintext
72 lines
2.1 KiB
Plaintext
module default {
|
|
type User {
|
|
property name -> str;
|
|
required property email -> str {
|
|
constraint exclusive;
|
|
}
|
|
property emailVerified -> datetime;
|
|
property image -> str;
|
|
multi link accounts := .<user[is Account];
|
|
multi link sessions := .<user[is Session];
|
|
property createdAt -> datetime {
|
|
default := datetime_current();
|
|
};
|
|
}
|
|
|
|
type Account {
|
|
required property userId := .user.id;
|
|
required property type -> str;
|
|
required property provider -> str;
|
|
required property providerAccountId -> str {
|
|
constraint exclusive;
|
|
};
|
|
property refresh_token -> str;
|
|
property access_token -> str;
|
|
property expires_at -> int64;
|
|
property token_type -> str;
|
|
property scope -> str;
|
|
property id_token -> str;
|
|
property session_state -> str;
|
|
required link user -> User {
|
|
on target delete delete source;
|
|
};
|
|
property createdAt -> datetime {
|
|
default := datetime_current();
|
|
};
|
|
|
|
constraint exclusive on ((.provider, .providerAccountId))
|
|
}
|
|
|
|
type Session {
|
|
required property sessionToken -> str {
|
|
constraint exclusive;
|
|
}
|
|
required property userId := .user.id;
|
|
required property expires -> datetime;
|
|
required link user -> User {
|
|
on target delete delete source;
|
|
};
|
|
property createdAt -> datetime {
|
|
default := datetime_current();
|
|
};
|
|
}
|
|
|
|
type VerificationToken {
|
|
required property identifier -> str;
|
|
required property token -> str {
|
|
constraint exclusive;
|
|
}
|
|
required property expires -> datetime;
|
|
property createdAt -> datetime {
|
|
default := datetime_current();
|
|
};
|
|
|
|
constraint exclusive on ((.identifier, .token))
|
|
}
|
|
}
|
|
|
|
# Disable the application of access policies within access policies
|
|
# themselves. This behavior will become the default in EdgeDB 3.0.
|
|
# See: https://www.edgedb.com/docs/reference/ddl/access_policies#nonrecursive
|
|
using future nonrecursive_access_policies;
|