2023-11-06 19:36:16 +08:00
|
|
|
from flask_restful import fields
|
2024-02-06 13:21:13 +08:00
|
|
|
|
2023-11-06 19:36:16 +08:00
|
|
|
from libs.helper import TimestampField
|
|
|
|
|
|
|
|
|
|
|
|
class HiddenAPIKey(fields.Raw):
|
|
|
|
def output(self, key, obj):
|
2023-11-06 23:07:30 +08:00
|
|
|
api_key = obj.api_key
|
|
|
|
# If the length of the api_key is less than 8 characters, show the first and last characters
|
|
|
|
if len(api_key) <= 8:
|
2024-08-15 12:54:05 +08:00
|
|
|
return api_key[0] + "******" + api_key[-1]
|
2023-11-06 23:07:30 +08:00
|
|
|
# If the api_key is greater than 8 characters, show the first three and the last three characters
|
|
|
|
else:
|
2024-08-15 12:54:05 +08:00
|
|
|
return api_key[:3] + "******" + api_key[-3:]
|
2023-11-06 19:36:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
api_based_extension_fields = {
|
2024-08-15 12:54:05 +08:00
|
|
|
"id": fields.String,
|
|
|
|
"name": fields.String,
|
|
|
|
"api_endpoint": fields.String,
|
|
|
|
"api_key": HiddenAPIKey,
|
|
|
|
"created_at": TimestampField,
|
2023-11-06 19:36:16 +08:00
|
|
|
}
|