CE-1887 - Rebuilt to get stable set of capabilities in example

This commit is contained in:
2024-10-31 14:34:28 -05:00
parent c9fefb45a5
commit 50ef9420f6
3 changed files with 15 additions and 7 deletions

View File

@ -24,7 +24,7 @@ package com.kingsrook.qqq.backend.core.model.metadata.frontend;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@ -183,7 +183,7 @@ public class QFrontendTableMetaData
*******************************************************************************/ *******************************************************************************/
private void setCapabilities(QBackendMetaData backend, QTableMetaData table) private void setCapabilities(QBackendMetaData backend, QTableMetaData table)
{ {
Set<Capability> enabledCapabilities = new HashSet<>(); Set<Capability> enabledCapabilities = new LinkedHashSet<>();
for(Capability capability : Capability.values()) for(Capability capability : Capability.values())
{ {
if(table.isCapabilityEnabled(backend, capability)) if(table.isCapabilityEnabled(backend, capability))

View File

@ -22,9 +22,11 @@
package com.kingsrook.qqq.middleware.javalin.specs.v1; package com.kingsrook.qqq.middleware.javalin.specs.v1;
import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TreeSet;
import com.kingsrook.qqq.backend.core.actions.metadata.MetaDataAction; import com.kingsrook.qqq.backend.core.actions.metadata.MetaDataAction;
import com.kingsrook.qqq.backend.core.context.CapturedContext; import com.kingsrook.qqq.backend.core.context.CapturedContext;
import com.kingsrook.qqq.backend.core.context.QContext; import com.kingsrook.qqq.backend.core.context.QContext;
@ -194,6 +196,13 @@ public class MetaDataSpecV1 extends AbstractEndpointSpec<MetaDataInput, MetaData
.withBackendType(MemoryBackendModule.class); .withBackendType(MemoryBackendModule.class);
exampleInstance.addBackend(exampleBackend); exampleInstance.addBackend(exampleBackend);
//////////////////////////////////////
// create stable sorting of entries //
//////////////////////////////////////
TreeSet<Capability> capabilities = new TreeSet<>(Comparator.comparing((Capability c) -> c.name()));
capabilities.addAll(Capability.allReadCapabilities());
capabilities.addAll(Capability.allWriteCapabilities());
QTableMetaData exampleTable = new QTableMetaData() QTableMetaData exampleTable = new QTableMetaData()
.withName("person") .withName("person")
.withLabel("Person") .withLabel("Person")
@ -201,8 +210,7 @@ public class MetaDataSpecV1 extends AbstractEndpointSpec<MetaDataInput, MetaData
.withPrimaryKeyField("id") .withPrimaryKeyField("id")
.withIsHidden(false) .withIsHidden(false)
.withIcon(new QIcon().withName("person_outline")) .withIcon(new QIcon().withName("person_outline"))
.withCapabilities(Capability.allReadCapabilities()) .withEnabledCapabilities(capabilities)
.withCapabilities(Capability.allWriteCapabilities())
.withPermissionRules(new QPermissionRules().withLevel(PermissionLevel.NOT_PROTECTED)) .withPermissionRules(new QPermissionRules().withLevel(PermissionLevel.NOT_PROTECTED))
.withField(new QFieldMetaData("id", QFieldType.INTEGER)); .withField(new QFieldMetaData("id", QFieldType.INTEGER));
exampleInstance.addTable(exampleTable); exampleInstance.addTable(exampleTable);

View File

@ -344,8 +344,8 @@ components:
widgets: widgets:
additionalProperties: additionalProperties:
$ref: "#/components/schemas/ProcessMetaDataLight" $ref: "#/components/schemas/ProcessMetaDataLight"
description: "Map of all widget within the QQQ Instance (that the user has\ description: "Map of all widgets within the QQQ Instance (that the user\
\ permission to see that they exist)." \ has permission to see that they exist)."
type: "object" type: "object"
type: "object" type: "object"
ProcessMetaData: ProcessMetaData:
@ -1519,8 +1519,8 @@ paths:
- "TABLE_QUERY" - "TABLE_QUERY"
- "QUERY_STATS" - "QUERY_STATS"
- "TABLE_INSERT" - "TABLE_INSERT"
- "TABLE_DELETE"
- "TABLE_UPDATE" - "TABLE_UPDATE"
- "TABLE_DELETE"
deletePermission: true deletePermission: true
editPermission: true editPermission: true
icon: icon: