vault backup: 2024-01-04 00:54:36

This commit is contained in:
2024-01-04 00:54:36 -05:00
parent 58cd620ed9
commit 17dd498d4b
2 changed files with 36 additions and 2 deletions

View File

@@ -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) } );`