vault backup: 2024-01-04 00:54:36
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
## Syntax
|
||||
|
||||
- [CREATE](https://docs.surrealdb.com/docs/surrealql/statements/select): Creates resources/records, similar to `INSERT INTO` in Postgres
|
||||
- [DEFINE](https://docs.surrealdb.com/docs/surrealql/statements/define/overview): Creates namespaces, databases, and logins
|
||||
- [DEFINE](https://docs.surrealdb.com/docs/surrealql/statements/define/overview): Creates namespaces, databases, and scopes, logins
|
||||
- [UPDATE](https://docs.surrealdb.com/docs/surrealql/statements/update): Updates resources/records, similar to `UPDATE table_name SET ...` in Postgres
|
||||
- [DELETE](https://docs.surrealdb.com/docs/surrealql/statements/delete): Deletes resources/records, similar to `DELETE` in Postgres
|
||||
- [USE](https://docs.surrealdb.com/docs/surrealql/statements/use/): Used for switching in between namespaces and databases
|
||||
@@ -118,3 +118,14 @@ UPDATE person:tobie SET name = 'Tobie', company = 'SurrealDB', skills = ['Rust',
|
||||
UPDATE ONLY person:tobie SET name = 'Tobie', company = 'SurrealDB', skills = ['Rust', 'Go', 'JavaScript'];
|
||||
```
|
||||
|
||||
### Logins
|
||||
Create a login table
|
||||
`DEFINE TABLE user SCHEMAFULL PERMISSIONS FOR select, update, delete WHERE id = $auth.id;`
|
||||
|
||||
Define some fields
|
||||
`DEFINE FIELD name ON user TYPE string ASSERT string::len($value) >= 2;`
|
||||
`DEFINE FIELD username ON user TYPE string VALUE string::lowercase($value);`
|
||||
`DEFINE FIELD password ON user TYPE string PERMISSIONS FOR select NONE;`
|
||||
|
||||
Create the login
|
||||
`DEFINE SCOPE user SESSION 7d SIGNIN ( SELECT * FROM user WHERE username = $username AND crypto::argon2::compare(password, $password) ) SIGNUP ( CREATE user CONTENT { name: $name, username: $username, password: crypto::argon2::generate($password) } );`
|
Reference in New Issue
Block a user