tree 5dfb70e43884319e4003a7ab8e1da3a53f21ab4c
parent 973673fad4d251dd71bc7984f7c430925a7b169c
author Rhys Short <rhys.short@outlook.com> 1624368713 +0100
committer GitHub <noreply@github.com> 1624368713 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJg0eZJCRBK7hj4Ov3rIwAA5M0IAEvLyDm9a1puU9wulAb3Dags
 xmWkt6VYi8cyyb7rAWYS9FMCBOURzU60trccbhDT1VViRB+CakHrRG4JTnqEN/OO
 Yey9LIOOX3JHywPcod+WIesRvHzz66ydoUtOKADpISH8ozTUidpqZs4Yhp7OMGy9
 nobwJCWdvKBf1UnNZ6C1eZKivRSO8RojU6xq8NkrqXGPNiYrqELJvfuSG3v4VFN/
 xWSmuNALvYUyWw0Xy2CHz7F4zJkQhO+CwieJYZ2mtgrDygVw1pHUqVuPpm58KeBa
 r5bHXDUngFprlvSseKZaG036fYDKwMI8FmyKKh9yVvfkQtJO+6A2N9zGlu6V5EI=
 =ud6m
 -----END PGP SIGNATURE-----
 

Add extension point for database size (#1317)

Add extension point for database size called `DatabaseList:dbSizeReportFieldName`,
this enables consumers to override the displayed value to meet
their deployment needs. For example, in the case of Cloudant's usage,
the default `sizes.active` field is meaningless to their customers
since they bill using the value from `sizes.external`, using the
extension it is possible to customize the view to provide a better experiance.

The extension point `DatabaseList:dbSizeReportFieldName` only supports
the single extentsion, and assumes the field name is in the `sizes`
object returned from db_info.