feat: release Dever 0.1.5 with direct workers and long transactions
This commit is contained in:
1 parent
89629c2197
commit
a900d7e8db
153 files changed
+3676
-3708
No files matched your search
@@ -22,7 +22,7 @@ fn diagnostics(sources: &SourceMap) -> String {
|
||||
|
||||
// Code-generation assertions may inspect unbound HIR; an executable API must
|
||||
// use the same configured site/auth contract as the CLI.
|
||||
fn compile_authenticated_rest(mut sources: SourceMap) {
|
||||
fn compile_authenticated_rest(mut sources: SourceMap, user_id_type: &str) {
|
||||
sources.add("access/user/model.dever", "global type User { name: Text }");
|
||||
sources.add(
|
||||
"access/tenant/model.dever",
|
||||
@@ -30,16 +30,18 @@ fn compile_authenticated_rest(mut sources: SourceMap) {
|
||||
);
|
||||
sources.add(
|
||||
"access/session/app.dever",
|
||||
r#"type Identity {
|
||||
format!(
|
||||
r#"type Identity {{
|
||||
id: Text
|
||||
user_id: access.user.model.id?
|
||||
user_id: {user_id_type}?
|
||||
tenant_id: access.tenant.model.id?
|
||||
}
|
||||
verify(claims: dever.auth.Claims) (identity: Identity) {
|
||||
identity = Identity { id = claims.subject
|
||||
}}
|
||||
verify(claims: dever.auth.Claims) (identity: Identity) {{
|
||||
identity = Identity {{ id = claims.subject
|
||||
user_id = null
|
||||
tenant_id = null }
|
||||
}"#,
|
||||
tenant_id = null }}
|
||||
}}"#
|
||||
),
|
||||
);
|
||||
let directory = TemporaryDirectory::new();
|
||||
std::fs::create_dir(directory.path().join("config")).unwrap();
|
||||
@@ -109,7 +111,7 @@ fn rest_derives_the_public_model_without_an_app_wrapper() {
|
||||
assert!(generated.contains("transaction.commit().await"));
|
||||
assert!(generated.contains("rest_rollback(transaction).await"));
|
||||
assert!(generated.contains("dever_runtime::api::text_bounds(\"name\""));
|
||||
compile_authenticated_rest(sources);
|
||||
compile_authenticated_rest(sources, "access.user.model.id");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -184,7 +186,7 @@ fn rest_owner_is_server_bound_and_scopes_every_database_statement() {
|
||||
] {
|
||||
assert!(generated.contains(sql), "missing {sql}: {generated}");
|
||||
}
|
||||
compile_authenticated_rest(sources);
|
||||
compile_authenticated_rest(sources, "user.account.model.id");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -378,7 +380,7 @@ fn rest_field_bindings_are_checked_and_emit_static_search_sql() {
|
||||
generated.contains("SELECT COUNT(*) FROM \\\"profile\\\" WHERE \\\"user_id\\\" = ?1"),
|
||||
"{generated}"
|
||||
);
|
||||
compile_authenticated_rest(sources);
|
||||
compile_authenticated_rest(sources, "user.account.model.id");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in new issue
Block a user