1#ifndef YAZE_APP_PLATFORM_WASM_SECURE_STORAGE_H_
2#define YAZE_APP_PLATFORM_WASM_SECURE_STORAGE_H_
9#include "absl/status/status.h"
10#include "absl/status/statusor.h"
34class WasmSecureStorage {
52 static absl::Status
StoreApiKey(
const std::string& service,
53 const std::string& key,
63 const std::string& service,
72 static absl::Status
ClearApiKey(
const std::string& service,
81 static bool HasApiKey(
const std::string& service,
91 static absl::Status
StoreSecret(
const std::string& key,
92 const std::string& value,
102 const std::string& key,
111 static absl::Status
ClearSecret(
const std::string& key,
140 struct StorageQuota {
149 static constexpr const char* kApiKeyPrefix =
"yaze_secure_api_";
150 static constexpr const char* kSecretPrefix =
"yaze_secure_secret_";
157 static std::string BuildApiKeyStorageKey(
const std::string& service);
164 static std::string BuildSecretStorageKey(
const std::string& key);
171 static std::string ExtractServiceFromKey(
const std::string& storage_key);
184#include "absl/status/status.h"
185#include "absl/status/statusor.h"
199 static absl::Status
StoreApiKey(
const std::string&,
const std::string&,
201 return absl::UnimplementedError(
"Secure storage requires WASM build");
206 return absl::NotFoundError(
"Secure storage requires WASM build");
211 return absl::UnimplementedError(
"Secure storage requires WASM build");
219 static absl::Status
StoreSecret(
const std::string&,
const std::string&,
221 return absl::UnimplementedError(
"Secure storage requires WASM build");
226 return absl::NotFoundError(
"Secure storage requires WASM build");
231 return absl::UnimplementedError(
"Secure storage requires WASM build");
240 return absl::UnimplementedError(
"Secure storage requires WASM build");
252 return absl::UnimplementedError(
"Secure storage requires WASM build");