vault backup: 2024-01-04 00:54:36
This commit is contained in:
@@ -1,3 +1,26 @@
|
|||||||
# SurrealDB functions
|
# SurrealDB functions
|
||||||
|
|
||||||
-
|
- Crypto
|
||||||
|
- Math
|
||||||
|
- String parsing
|
||||||
|
- Time
|
||||||
|
- Session
|
||||||
|
- Array
|
||||||
|
|
||||||
|
## Crypto
|
||||||
|
WIP
|
||||||
|
|
||||||
|
## Math
|
||||||
|
WIP
|
||||||
|
|
||||||
|
## String/Parse
|
||||||
|
WIP
|
||||||
|
|
||||||
|
## Time
|
||||||
|
WIP
|
||||||
|
|
||||||
|
## Session
|
||||||
|
WIP
|
||||||
|
|
||||||
|
## Array
|
||||||
|
WIP
|
@@ -1,7 +1,7 @@
|
|||||||
## Syntax
|
## Syntax
|
||||||
|
|
||||||
- [CREATE](https://docs.surrealdb.com/docs/surrealql/statements/select): Creates resources/records, similar to `INSERT INTO` in Postgres
|
- [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
|
- [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
|
- [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
|
- [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'];
|
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