generateSaveApiKey method
FutureOr<PassedHttpEntity>
generateSaveApiKey(
- RequestHolder request,
- ResponseHolder response,
- Map<String, dynamic> pathArgs
)
Implementation
FutureOr<PassedHttpEntity> generateSaveApiKey(
RequestHolder request,
ResponseHolder response,
Map<String, dynamic> pathArgs,
) async {
return _wrapper(request, response, pathArgs, () async {
String name;
int? expirySeconds;
Duration? expireAfter;
try {
Map<String, dynamic> body = await request.readAsJson();
name = body[BodyFields.name];
expirySeconds = body[BodyFields.expirySeconds];
expireAfter =
expirySeconds == null ? null : Duration(seconds: expirySeconds);
} catch (e) {
throw RequestBodyError();
}
ApiHashModel apiKey = await _apiKeyInfoDatasource.generateApiKey(
name,
expireAfter: expireAfter,
);
await _apiKeyInfoDatasource.saveHashModel(apiKey);
ApiKeyModel apiKeyModel =
apiKey.toApiKey(_apiKeyInfoDatasource.encrypterSecretKey);
ApiUserModel apiUserModel = ApiUserModel.fromModels(apiKeyModel, apiKey);
return SendResponse.sendDataToUser(
response,
apiUserModel.toJson(),
);
});
}