createUserSecret method

Future<Secret> createUserSecret({
  1. required String projectId,
  2. required String name,
  3. String type = 'opaque',
  4. bool httpOnly = false,
  5. Map<String, dynamic>? metadata,
  6. Map<String, dynamic>? annotations,
})

Implementation

Future<Secret> createUserSecret({
  required String projectId,
  required String name,
  String type = 'opaque',
  bool httpOnly = false,
  Map<String, dynamic>? metadata,
  Map<String, dynamic>? annotations,
}) async {
  final uri = Uri.parse('$baseUrl/accounts/users/me/secrets');
  final response = await httpClient.post(
    uri,
    body: jsonEncode(
      _secretPayload(projectId: projectId, name: name, type: type, httpOnly: httpOnly, metadata: metadata, annotations: annotations),
    ),
  );

  if (response.statusCode >= 400) {
    throw MeshagentException('Failed to create user secret. Status code: ${response.statusCode}, body: ${response.body}');
  }

  return Secret.fromJson(jsonDecode(response.body) as Map<String, dynamic>);
}