@aglyn/plugins-marketplace 1.15.2 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +15 -15
- package/src/lib/components/listing-content.component.js +32 -14
- package/src/lib/components/listing-content.component.js.map +1 -1
- package/src/lib/components/site-plugin-connections-card.component.js +4 -3
- package/src/lib/components/site-plugin-connections-card.component.js.map +1 -1
- package/src/lib/model/editor-connections.d.ts +1 -1
- package/src/lib/model/editor-connections.js +13 -2
- package/src/lib/model/editor-connections.js.map +1 -1
- package/src/lib/model/marketplace.d.ts +11 -0
- package/src/lib/model/marketplace.js +12 -2
- package/src/lib/model/marketplace.js.map +1 -1
- package/src/lib/model/plugin-connection-card.d.ts +6 -0
- package/src/lib/model/plugin-connection-card.js +8 -0
- package/src/lib/model/plugin-connection-card.js.map +1 -1
- package/src/lib/model/plugin-connections.d.ts +14 -0
- package/src/lib/model/plugin-connections.js +18 -1
- package/src/lib/model/plugin-connections.js.map +1 -1
- package/src/lib/native-nav.js +26 -1
- package/src/lib/native-nav.js.map +1 -1
- package/src/lib/server/admin-reviews.js +9 -0
- package/src/lib/server/admin-reviews.js.map +1 -1
- package/src/lib/server/admin-trust.js +11 -0
- package/src/lib/server/admin-trust.js.map +1 -1
- package/src/lib/server/connections/site-records-platform.js +8 -5
- package/src/lib/server/connections/site-records-platform.js.map +1 -1
- package/src/lib/server/install-plugin.js +34 -19
- package/src/lib/server/install-plugin.js.map +1 -1
- package/src/lib/server/listing-versions.js +7 -2
- package/src/lib/server/listing-versions.js.map +1 -1
- package/src/lib/server/revoke-cache-drop.d.ts +29 -34
- package/src/lib/server/revoke-cache-drop.js +43 -49
- package/src/lib/server/revoke-cache-drop.js.map +1 -1
package/src/lib/native-nav.js
CHANGED
|
@@ -37,7 +37,32 @@ import { MARKETPLACE_LICENSES_SECTION_ID } from "./model/marketplace-section-ids
|
|
|
37
37
|
sections: [
|
|
38
38
|
nativeNavHubSection('org', '/marketplace', 'browse', 'Browse All', 'marketplace.browse'),
|
|
39
39
|
nativeNavHubSection('org', '/marketplace', 'installed', 'Installed', 'marketplace.installed'),
|
|
40
|
-
nativeNavHubSection('org', '/marketplace', MARKETPLACE_LICENSES_SECTION_ID, 'Licenses', 'marketplace.licenses')
|
|
40
|
+
nativeNavHubSection('org', '/marketplace', MARKETPLACE_LICENSES_SECTION_ID, 'Licenses', 'marketplace.licenses'),
|
|
41
|
+
// The seller half: publishing opens the publish hub and its eight forms; the four seller cards are the
|
|
42
|
+
// tabs of one Selling screen, opened on the card the console's section names.
|
|
43
|
+
nativeNavHubSection('org', '/marketplace', 'upload', 'Upload / Publish', 'marketplace.publish'),
|
|
44
|
+
...[
|
|
45
|
+
[
|
|
46
|
+
'profile',
|
|
47
|
+
'Publisher Profile'
|
|
48
|
+
],
|
|
49
|
+
[
|
|
50
|
+
'listings',
|
|
51
|
+
'Listings'
|
|
52
|
+
],
|
|
53
|
+
[
|
|
54
|
+
'payouts',
|
|
55
|
+
'Payouts'
|
|
56
|
+
],
|
|
57
|
+
[
|
|
58
|
+
'sales',
|
|
59
|
+
'Sales'
|
|
60
|
+
]
|
|
61
|
+
].map(([id, label])=>nativeNavHubSection('org', '/marketplace', id, label, 'marketplace.sell', {
|
|
62
|
+
params: {
|
|
63
|
+
section: id
|
|
64
|
+
}
|
|
65
|
+
}))
|
|
41
66
|
],
|
|
42
67
|
docs: '/developers/plugins/overview',
|
|
43
68
|
console: nativeNavRef('orgPluginTab', '/marketplace')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../libs/plugins/marketplace/src/lib/native-nav.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n nativeNavHubSection,\n nativeNavIcon,\n nativeNavRef,\n type NativeNavContribution,\n} from '@aglyn/aglyn/app-utils/native-nav'\nimport { MARKETPLACE_LICENSES_SECTION_ID } from './model/marketplace-section-ids'\n\n/**\n * The Marketplace in the native apps' navigation (AGL-3943): the rows this plugin\n * adds to the manifest the shells draw, placed into the core's lists by\n * `order` (`assembleNativeNav`, `generate:native-contracts`). Labels are the\n * console's words, held by `apps/console/specs/native-nav-manifest.spec.ts`.\n *\n * Imports only the core's plain nav module and the hub's section id, so the\n * native contracts read it.\n */\n\nexport const NATIVE_NAV_ROWS: readonly NativeNavContribution[] = [\n {\n list: 'workspace',\n group: 'workspace',\n row: {\n id: 'marketplace',\n label: 'Marketplace',\n icon: nativeNavIcon('storefront', 'storefront'),\n screen: 'marketplace.browse',\n pluginId: 'marketplace',\n order: 110,\n sections: [\n nativeNavHubSection('org', '/marketplace', 'browse', 'Browse All', 'marketplace.browse'),\n nativeNavHubSection('org', '/marketplace', 'installed', 'Installed', 'marketplace.installed'),\n nativeNavHubSection('org', '/marketplace', MARKETPLACE_LICENSES_SECTION_ID, 'Licenses', 'marketplace.licenses'),\n ],\n docs: '/developers/plugins/overview',\n console: nativeNavRef('orgPluginTab', '/marketplace'),\n },\n },\n]\n"],"names":["nativeNavHubSection","nativeNavIcon","nativeNavRef","MARKETPLACE_LICENSES_SECTION_ID","NATIVE_NAV_ROWS","list","group","row","id","label","icon","screen","pluginId","order","sections","docs","console"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED,SACEA,mBAAmB,EACnBC,aAAa,EACbC,YAAY,QAEP,oCAAmC;AAC1C,SAASC,+BAA+B,QAAQ,qCAAiC;AAEjF;;;;;;;;CAQC,GAED,OAAO,MAAMC,kBAAoD;IAC/D;QACEC,MAAM;QACNC,OAAO;QACPC,KAAK;YACHC,IAAI;YACJC,OAAO;YACPC,MAAMT,cAAc,cAAc;YAClCU,QAAQ;YACRC,UAAU;YACVC,OAAO;YACPC,UAAU;gBACRd,oBAAoB,OAAO,gBAAgB,UAAU,cAAc;gBACnEA,oBAAoB,OAAO,gBAAgB,aAAa,aAAa;gBACrEA,oBAAoB,OAAO,gBAAgBG,iCAAiC,YAAY;
|
|
1
|
+
{"version":3,"sources":["../../../../../../libs/plugins/marketplace/src/lib/native-nav.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2026 Aglyn LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {\n nativeNavHubSection,\n nativeNavIcon,\n nativeNavRef,\n type NativeNavContribution,\n} from '@aglyn/aglyn/app-utils/native-nav'\nimport { MARKETPLACE_LICENSES_SECTION_ID } from './model/marketplace-section-ids'\n\n/**\n * The Marketplace in the native apps' navigation (AGL-3943): the rows this plugin\n * adds to the manifest the shells draw, placed into the core's lists by\n * `order` (`assembleNativeNav`, `generate:native-contracts`). Labels are the\n * console's words, held by `apps/console/specs/native-nav-manifest.spec.ts`.\n *\n * Imports only the core's plain nav module and the hub's section id, so the\n * native contracts read it.\n */\n\nexport const NATIVE_NAV_ROWS: readonly NativeNavContribution[] = [\n {\n list: 'workspace',\n group: 'workspace',\n row: {\n id: 'marketplace',\n label: 'Marketplace',\n icon: nativeNavIcon('storefront', 'storefront'),\n screen: 'marketplace.browse',\n pluginId: 'marketplace',\n order: 110,\n sections: [\n nativeNavHubSection('org', '/marketplace', 'browse', 'Browse All', 'marketplace.browse'),\n nativeNavHubSection('org', '/marketplace', 'installed', 'Installed', 'marketplace.installed'),\n nativeNavHubSection('org', '/marketplace', MARKETPLACE_LICENSES_SECTION_ID, 'Licenses', 'marketplace.licenses'),\n // The seller half: publishing opens the publish hub and its eight forms; the four seller cards are the\n // tabs of one Selling screen, opened on the card the console's section names.\n nativeNavHubSection('org', '/marketplace', 'upload', 'Upload / Publish', 'marketplace.publish'),\n ...(\n [\n ['profile', 'Publisher Profile'],\n ['listings', 'Listings'],\n ['payouts', 'Payouts'],\n ['sales', 'Sales'],\n ] as const\n ).map(([id, label]) =>\n nativeNavHubSection('org', '/marketplace', id, label, 'marketplace.sell', { params: { section: id } }),\n ),\n ],\n docs: '/developers/plugins/overview',\n console: nativeNavRef('orgPluginTab', '/marketplace'),\n },\n },\n]\n"],"names":["nativeNavHubSection","nativeNavIcon","nativeNavRef","MARKETPLACE_LICENSES_SECTION_ID","NATIVE_NAV_ROWS","list","group","row","id","label","icon","screen","pluginId","order","sections","map","params","section","docs","console"],"mappings":"AAAA;;;;;;;;;;;;;;;CAeC,GAED,SACEA,mBAAmB,EACnBC,aAAa,EACbC,YAAY,QAEP,oCAAmC;AAC1C,SAASC,+BAA+B,QAAQ,qCAAiC;AAEjF;;;;;;;;CAQC,GAED,OAAO,MAAMC,kBAAoD;IAC/D;QACEC,MAAM;QACNC,OAAO;QACPC,KAAK;YACHC,IAAI;YACJC,OAAO;YACPC,MAAMT,cAAc,cAAc;YAClCU,QAAQ;YACRC,UAAU;YACVC,OAAO;YACPC,UAAU;gBACRd,oBAAoB,OAAO,gBAAgB,UAAU,cAAc;gBACnEA,oBAAoB,OAAO,gBAAgB,aAAa,aAAa;gBACrEA,oBAAoB,OAAO,gBAAgBG,iCAAiC,YAAY;gBACxF,uGAAuG;gBACvG,8EAA8E;gBAC9EH,oBAAoB,OAAO,gBAAgB,UAAU,oBAAoB;mBACtE,AACD;oBACE;wBAAC;wBAAW;qBAAoB;oBAChC;wBAAC;wBAAY;qBAAW;oBACxB;wBAAC;wBAAW;qBAAU;oBACtB;wBAAC;wBAAS;qBAAQ;iBACnB,CACDe,GAAG,CAAC,CAAC,CAACP,IAAIC,MAAM,GAChBT,oBAAoB,OAAO,gBAAgBQ,IAAIC,OAAO,oBAAoB;wBAAEO,QAAQ;4BAAEC,SAAST;wBAAG;oBAAE;aAEvG;YACDU,MAAM;YACNC,SAASjB,aAAa,gBAAgB;QACxC;IACF;CACD,CAAA"}
|
|
@@ -1177,6 +1177,8 @@ async function handler(request) {
|
|
|
1177
1177
|
const listing = listingSnapshot.data();
|
|
1178
1178
|
const sha256 = String((_versionSnapshot_get1 = versionSnapshot.get('sha256')) != null ? _versionSnapshot_get1 : '');
|
|
1179
1179
|
const approving = action === 'approve-version';
|
|
1180
|
+
// Read before the verdict write clears it (AGL-4121, below).
|
|
1181
|
+
const hadRealmTrust = Boolean(versionSnapshot.get('trust'));
|
|
1180
1182
|
if (approving) {
|
|
1181
1183
|
const outstanding = outstandingChecklistItems(versionSnapshot.get('reviewChecklist'), sha256);
|
|
1182
1184
|
if (outstanding.length) {
|
|
@@ -1245,6 +1247,13 @@ async function handler(request) {
|
|
|
1245
1247
|
}), {
|
|
1246
1248
|
merge: true
|
|
1247
1249
|
});
|
|
1250
|
+
// Withdrawn realm trust changes what loads on every site running this
|
|
1251
|
+
// version, and the tenant resolves trust once per site and caches it
|
|
1252
|
+
// with the page (AGL-4121). Only when there was trust to withdraw: a
|
|
1253
|
+
// rejection of an unsigned version changes nothing a site loads.
|
|
1254
|
+
if (!approving && hadRealmTrust) {
|
|
1255
|
+
await dropCachesForListing(firestore, listingId);
|
|
1256
|
+
}
|
|
1248
1257
|
// A plugin with its first approved version becomes browsable. Later
|
|
1249
1258
|
// approvals never change listing status — that is the point: an
|
|
1250
1259
|
// update is reviewed without disturbing what customers already have.
|