| from flask_restful import fields | |
| from libs.helper import TimestampField | |
| class HiddenAPIKey(fields.Raw): | |
| def output(self, key, obj): | |
| 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: | |
| return api_key[0] + '******' + api_key[-1] | |
| # If the api_key is greater than 8 characters, show the first three and the last three characters | |
| else: | |
| return api_key[:3] + '******' + api_key[-3:] | |
| api_based_extension_fields = { | |
| 'id': fields.String, | |
| 'name': fields.String, | |
| 'api_endpoint': fields.String, | |
| 'api_key': HiddenAPIKey, | |
| 'created_at': TimestampField | |
| } | |