feat: icon/screenshots/docs_url fields on StoreEntry (v0.11.0)
Picks up the three new optional fields on the StoreEntry proto. No new client method — fields are plumbed through SearchStore. Studio reads them off the entry directly. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
df6ab995d3
commit
a893361ff9
3 changed files with 55 additions and 2 deletions
|
|
@ -2518,6 +2518,9 @@ class StoreEntry extends $pb.GeneratedMessage {
|
||||||
$core.String? status,
|
$core.String? status,
|
||||||
$core.bool? installed,
|
$core.bool? installed,
|
||||||
$core.bool? featured,
|
$core.bool? featured,
|
||||||
|
$core.String? iconUrl,
|
||||||
|
$core.Iterable<$core.String>? screenshotUrls,
|
||||||
|
$core.String? docsUrl,
|
||||||
}) {
|
}) {
|
||||||
final $result = create();
|
final $result = create();
|
||||||
if (name != null) {
|
if (name != null) {
|
||||||
|
|
@ -2565,6 +2568,15 @@ class StoreEntry extends $pb.GeneratedMessage {
|
||||||
if (featured != null) {
|
if (featured != null) {
|
||||||
$result.featured = featured;
|
$result.featured = featured;
|
||||||
}
|
}
|
||||||
|
if (iconUrl != null) {
|
||||||
|
$result.iconUrl = iconUrl;
|
||||||
|
}
|
||||||
|
if (screenshotUrls != null) {
|
||||||
|
$result.screenshotUrls.addAll(screenshotUrls);
|
||||||
|
}
|
||||||
|
if (docsUrl != null) {
|
||||||
|
$result.docsUrl = docsUrl;
|
||||||
|
}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
StoreEntry._() : super();
|
StoreEntry._() : super();
|
||||||
|
|
@ -2587,6 +2599,9 @@ class StoreEntry extends $pb.GeneratedMessage {
|
||||||
..aOS(13, _omitFieldNames ? '' : 'status')
|
..aOS(13, _omitFieldNames ? '' : 'status')
|
||||||
..aOB(14, _omitFieldNames ? '' : 'installed')
|
..aOB(14, _omitFieldNames ? '' : 'installed')
|
||||||
..aOB(15, _omitFieldNames ? '' : 'featured')
|
..aOB(15, _omitFieldNames ? '' : 'featured')
|
||||||
|
..aOS(16, _omitFieldNames ? '' : 'iconUrl')
|
||||||
|
..pPS(17, _omitFieldNames ? '' : 'screenshotUrls')
|
||||||
|
..aOS(18, _omitFieldNames ? '' : 'docsUrl')
|
||||||
..hasRequiredFields = false
|
..hasRequiredFields = false
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
@ -2727,6 +2742,39 @@ class StoreEntry extends $pb.GeneratedMessage {
|
||||||
$core.bool hasFeatured() => $_has(14);
|
$core.bool hasFeatured() => $_has(14);
|
||||||
@$pb.TagNumber(15)
|
@$pb.TagNumber(15)
|
||||||
void clearFeatured() => $_clearField(15);
|
void clearFeatured() => $_clearField(15);
|
||||||
|
|
||||||
|
/// Optional URL of a square icon (PNG / SVG, 256px+).
|
||||||
|
/// Studio loads and renders this in the detail sheet's hero
|
||||||
|
/// header in place of the category-derived fallback. Empty
|
||||||
|
/// → fall back to the category icon.
|
||||||
|
@$pb.TagNumber(16)
|
||||||
|
$core.String get iconUrl => $_getSZ(15);
|
||||||
|
@$pb.TagNumber(16)
|
||||||
|
set iconUrl($core.String v) { $_setString(15, v); }
|
||||||
|
@$pb.TagNumber(16)
|
||||||
|
$core.bool hasIconUrl() => $_has(15);
|
||||||
|
@$pb.TagNumber(16)
|
||||||
|
void clearIconUrl() => $_clearField(16);
|
||||||
|
|
||||||
|
/// Optional screenshot URLs in display order. Studio renders
|
||||||
|
/// them as a horizontally-scrollable strip in the detail
|
||||||
|
/// sheet so operators can see what the module *does* before
|
||||||
|
/// installing.
|
||||||
|
@$pb.TagNumber(17)
|
||||||
|
$pb.PbList<$core.String> get screenshotUrls => $_getList(16);
|
||||||
|
|
||||||
|
/// Explicit docs URL override. Empty → hub falls back to the
|
||||||
|
/// well-known raw-README paths against `repository`.
|
||||||
|
/// Use this when the README lives at a non-default branch /
|
||||||
|
/// path or when the docs are a separate Markdown file.
|
||||||
|
@$pb.TagNumber(18)
|
||||||
|
$core.String get docsUrl => $_getSZ(17);
|
||||||
|
@$pb.TagNumber(18)
|
||||||
|
set docsUrl($core.String v) { $_setString(17, v); }
|
||||||
|
@$pb.TagNumber(18)
|
||||||
|
$core.bool hasDocsUrl() => $_has(17);
|
||||||
|
@$pb.TagNumber(18)
|
||||||
|
void clearDocsUrl() => $_clearField(18);
|
||||||
}
|
}
|
||||||
|
|
||||||
class ChannelStatusResponse extends $pb.GeneratedMessage {
|
class ChannelStatusResponse extends $pb.GeneratedMessage {
|
||||||
|
|
|
||||||
|
|
@ -652,6 +652,9 @@ const StoreEntry$json = {
|
||||||
{'1': 'status', '3': 13, '4': 1, '5': 9, '10': 'status'},
|
{'1': 'status', '3': 13, '4': 1, '5': 9, '10': 'status'},
|
||||||
{'1': 'installed', '3': 14, '4': 1, '5': 8, '10': 'installed'},
|
{'1': 'installed', '3': 14, '4': 1, '5': 8, '10': 'installed'},
|
||||||
{'1': 'featured', '3': 15, '4': 1, '5': 8, '10': 'featured'},
|
{'1': 'featured', '3': 15, '4': 1, '5': 8, '10': 'featured'},
|
||||||
|
{'1': 'icon_url', '3': 16, '4': 1, '5': 9, '10': 'iconUrl'},
|
||||||
|
{'1': 'screenshot_urls', '3': 17, '4': 3, '5': 9, '10': 'screenshotUrls'},
|
||||||
|
{'1': 'docs_url', '3': 18, '4': 1, '5': 9, '10': 'docsUrl'},
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -665,7 +668,9 @@ final $typed_data.Uint8List storeEntryDescriptor = $convert.base64Decode(
|
||||||
'JlcXVpcmVzX3NlcnZpY2VzGAkgAygJUhByZXF1aXJlc1NlcnZpY2VzEhgKB2xpY2Vuc2UYCiAB'
|
'JlcXVpcmVzX3NlcnZpY2VzGAkgAygJUhByZXF1aXJlc1NlcnZpY2VzEhgKB2xpY2Vuc2UYCiAB'
|
||||||
'KAlSB2xpY2Vuc2USHgoKcmVwb3NpdG9yeRgLIAEoCVIKcmVwb3NpdG9yeRIhCgxiZXN0X3Zlcn'
|
'KAlSB2xpY2Vuc2USHgoKcmVwb3NpdG9yeRgLIAEoCVIKcmVwb3NpdG9yeRIhCgxiZXN0X3Zlcn'
|
||||||
'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh'
|
'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh'
|
||||||
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZA==');
|
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZBIZCghpY2'
|
||||||
|
'9uX3VybBgQIAEoCVIHaWNvblVybBInCg9zY3JlZW5zaG90X3VybHMYESADKAlSDnNjcmVlbnNo'
|
||||||
|
'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJs');
|
||||||
|
|
||||||
@$core.Deprecated('Use channelStatusResponseDescriptor instead')
|
@$core.Deprecated('Use channelStatusResponseDescriptor instead')
|
||||||
const ChannelStatusResponse$json = {
|
const ChannelStatusResponse$json = {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
name: fai_dart_sdk
|
name: fai_dart_sdk
|
||||||
description: gRPC client SDK for the F∆I Platform hub. Used by F∆I Studio and Tier-3 domain apps.
|
description: gRPC client SDK for the F∆I Platform hub. Used by F∆I Studio and Tier-3 domain apps.
|
||||||
version: 0.10.1
|
version: 0.11.0
|
||||||
publish_to: 'none'
|
publish_to: 'none'
|
||||||
repository: https://git.flemming.ws/fai/dart-sdk
|
repository: https://git.flemming.ws/fai/dart-sdk
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue