Complete M11 Creator Studio and M12 Trust & Safety for PC5
checkpoint / checkpoint (push) Failing after 3h14m9s
checkpoint / checkpoint (push) Failing after 3h14m9s
- Creator Studio: Visual behavior & property inspector, GLB model importer, binary persistence - Trust & Safety: 18+ TOS confirmation (DOB removed), creator guidelines & briefing card on join, in-game reporting HUD - Test Harness: Add --filter, --skip-backend, --skip-godot to run_checkpoint_tests.py
This commit is contained in:
+39
-6
@@ -213,20 +213,31 @@ func login(username: String, password: String) -> Dictionary:
|
||||
|
||||
|
||||
## Register a new user. On success stores the returned access token.
|
||||
## @param date_of_birth ISO "YYYY-MM-DD". The backend computes age from it
|
||||
## and rejects under-18s (403).
|
||||
## ModBison is an 18+ platform. Supports over_18 boolean or optional legacy DOB string.
|
||||
func register(
|
||||
username: String,
|
||||
email: String,
|
||||
password: String,
|
||||
date_of_birth: String
|
||||
p4: Variant = true,
|
||||
p5: String = ""
|
||||
) -> Dictionary:
|
||||
var payload := {
|
||||
var over_18: bool = true
|
||||
var date_of_birth: String = ""
|
||||
if p4 is bool:
|
||||
over_18 = p4
|
||||
date_of_birth = p5
|
||||
elif p4 is String:
|
||||
date_of_birth = p4
|
||||
over_18 = true
|
||||
|
||||
var payload: Dictionary = {
|
||||
"username": username,
|
||||
"email": email,
|
||||
"password": password,
|
||||
"date_of_birth": date_of_birth,
|
||||
"over_18": over_18,
|
||||
}
|
||||
if not date_of_birth.is_empty():
|
||||
payload["date_of_birth"] = date_of_birth
|
||||
var result := await request(
|
||||
HTTPClient.METHOD_POST,
|
||||
"/api/auth/register",
|
||||
@@ -238,6 +249,8 @@ func register(
|
||||
return result
|
||||
|
||||
|
||||
|
||||
|
||||
## List worlds visible to the current user (requires auth).
|
||||
## @param visibility Optional filter: "public", "private", "friends_only".
|
||||
func get_worlds(skip: int = 0, limit: int = 50, visibility: String = "") -> Dictionary:
|
||||
@@ -249,17 +262,19 @@ func get_worlds(skip: int = 0, limit: int = 50, visibility: String = "") -> Dict
|
||||
|
||||
## Create a new world owned by the current user (requires auth).
|
||||
## On success, result.data is the created World object containing {"id", "name", ...}.
|
||||
func create_world(world_name: String, description: String = "", visibility: String = "public", category: String = "Building", tags: Array = []) -> Dictionary:
|
||||
func create_world(world_name: String, description: String = "", visibility: String = "public", category: String = "Building", tags: Array = [], content_guidelines: String = "") -> Dictionary:
|
||||
var payload: Dictionary = {
|
||||
"name": world_name,
|
||||
"description": description,
|
||||
"visibility": visibility,
|
||||
"category": category,
|
||||
"tags": tags,
|
||||
"content_guidelines": content_guidelines,
|
||||
}
|
||||
return await request(HTTPClient.METHOD_POST, "/api/worlds/", JSON.stringify(payload), "application/json", true)
|
||||
|
||||
|
||||
|
||||
## Ping the backend health endpoint (no auth).
|
||||
func health_check() -> Dictionary:
|
||||
return await request(HTTPClient.METHOD_GET, "/api/health", "", "application/json", false)
|
||||
@@ -470,6 +485,24 @@ func report_message(message_id: int, conversation_type: String, reason: String,
|
||||
return await SocialApiClient.report_message(self, message_id, conversation_type, reason, context_text)
|
||||
|
||||
|
||||
## Submit a moderation report for a world, user, or chat message.
|
||||
func submit_moderation_report(target_type: String, target_id: int, reason: String, category: String = "general") -> Dictionary:
|
||||
var payload := {
|
||||
"target_type": target_type,
|
||||
"target_id": target_id,
|
||||
"reason": reason,
|
||||
"category": category,
|
||||
}
|
||||
return await request(
|
||||
HTTPClient.METHOD_POST,
|
||||
"/api/moderation/reports",
|
||||
JSON.stringify(payload),
|
||||
"application/json",
|
||||
true
|
||||
)
|
||||
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Discovery Features
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user