@esri/hub-common 14.74.2 → 14.75.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/dist/esm/associations/addAssociation.js +3 -0
- package/dist/esm/associations/addAssociation.js.map +1 -1
- package/dist/esm/associations/breakAssociation.js +54 -0
- package/dist/esm/associations/breakAssociation.js.map +1 -0
- package/dist/esm/associations/getAssociatedEntitiesQuery.js +33 -0
- package/dist/esm/associations/getAssociatedEntitiesQuery.js.map +1 -0
- package/dist/esm/associations/getAssociationStats.js +49 -0
- package/dist/esm/associations/getAssociationStats.js.map +1 -0
- package/dist/esm/associations/getAvailableToRequestEntitiesQuery.js +65 -0
- package/dist/esm/associations/getAvailableToRequestEntitiesQuery.js.map +1 -0
- package/dist/esm/associations/getPendingEntitiesQuery.js +41 -0
- package/dist/esm/associations/getPendingEntitiesQuery.js.map +1 -0
- package/dist/esm/associations/getRequestingEntitiesQuery.js +41 -0
- package/dist/esm/associations/getRequestingEntitiesQuery.js.map +1 -0
- package/dist/esm/associations/getWellKnownAssociationsCatalog.js +72 -0
- package/dist/esm/associations/getWellKnownAssociationsCatalog.js.map +1 -0
- package/dist/esm/associations/index.js +12 -0
- package/dist/esm/associations/index.js.map +1 -1
- package/dist/esm/associations/internal/getAssociationHierarchy.js +33 -0
- package/dist/esm/associations/internal/getAssociationHierarchy.js.map +1 -0
- package/dist/esm/associations/internal/getIdsFromAssociationGroups.js +25 -0
- package/dist/esm/associations/internal/getIdsFromAssociationGroups.js.map +1 -0
- package/dist/esm/associations/internal/getIdsFromKeywords.js +22 -0
- package/dist/esm/associations/internal/getIdsFromKeywords.js.map +1 -0
- package/dist/esm/associations/internal/getIncludesAndReferencesQuery.js +58 -0
- package/dist/esm/associations/internal/getIncludesAndReferencesQuery.js.map +1 -0
- package/dist/esm/associations/internal/getIncludesDoesNotReferenceQuery.js +58 -0
- package/dist/esm/associations/internal/getIncludesDoesNotReferenceQuery.js.map +1 -0
- package/dist/esm/associations/internal/getReferencesDoesNotIncludeQuery.js +62 -0
- package/dist/esm/associations/internal/getReferencesDoesNotIncludeQuery.js.map +1 -0
- package/dist/esm/associations/internal/getTypeByIdsQuery.js +13 -15
- package/dist/esm/associations/internal/getTypeByIdsQuery.js.map +1 -1
- package/dist/esm/associations/internal/getTypeByNotIdsQuery.js +26 -0
- package/dist/esm/associations/internal/getTypeByNotIdsQuery.js.map +1 -0
- package/dist/esm/associations/internal/getTypeWithKeywordQuery.js +11 -6
- package/dist/esm/associations/internal/getTypeWithKeywordQuery.js.map +1 -1
- package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js +10 -5
- package/dist/esm/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -1
- package/dist/esm/associations/internal/isAssociationSupported.js +29 -0
- package/dist/esm/associations/internal/isAssociationSupported.js.map +1 -0
- package/dist/esm/associations/internal/removeAssociationKeyword.js +16 -0
- package/dist/esm/associations/internal/removeAssociationKeyword.js.map +1 -0
- package/dist/esm/associations/internal/setAssociationKeyword.js +18 -0
- package/dist/esm/associations/internal/setAssociationKeyword.js.map +1 -0
- package/dist/esm/associations/listAssociations.js +4 -0
- package/dist/esm/associations/listAssociations.js.map +1 -1
- package/dist/esm/associations/removeAssociation.js +3 -0
- package/dist/esm/associations/removeAssociation.js.map +1 -1
- package/dist/esm/associations/requestAssociation.js +57 -0
- package/dist/esm/associations/requestAssociation.js.map +1 -0
- package/dist/esm/associations/types.js +0 -1
- package/dist/esm/associations/types.js.map +1 -1
- package/dist/esm/core/HubItemEntity.js +9 -0
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/_internal/getBasePropertyMap.js +1 -1
- package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
- package/dist/esm/core/getTypesFromEntityType.js +39 -0
- package/dist/esm/core/getTypesFromEntityType.js.map +1 -0
- package/dist/esm/core/index.js +1 -0
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/processActionLinks.js +1 -1
- package/dist/esm/core/processActionLinks.js.map +1 -1
- package/dist/esm/core/updateHubEntity.js +4 -0
- package/dist/esm/core/updateHubEntity.js.map +1 -1
- package/dist/esm/initiatives/HubInitiatives.js +15 -42
- package/dist/esm/initiatives/HubInitiatives.js.map +1 -1
- package/dist/esm/initiatives/_internal/InitiativeAssociationHierarchies.js +5 -0
- package/dist/esm/initiatives/_internal/InitiativeAssociationHierarchies.js.map +1 -0
- package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +29 -0
- package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
- package/dist/esm/projects/_internal/ProjectAssociationHierarchies.js +5 -0
- package/dist/esm/projects/_internal/ProjectAssociationHierarchies.js.map +1 -0
- package/dist/esm/projects/_internal/ProjectBusinessRules.js +6 -0
- package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -1
- package/dist/esm/projects/fetch.js +3 -0
- package/dist/esm/projects/fetch.js.map +1 -1
- package/dist/esm/search/_internal/buildCatalog.js +25 -0
- package/dist/esm/search/_internal/buildCatalog.js.map +1 -0
- package/dist/esm/search/wellKnownCatalog.js +29 -43
- package/dist/esm/search/wellKnownCatalog.js.map +1 -1
- package/dist/node/associations/addAssociation.js +3 -0
- package/dist/node/associations/addAssociation.js.map +1 -1
- package/dist/node/associations/breakAssociation.js +57 -0
- package/dist/node/associations/breakAssociation.js.map +1 -0
- package/dist/node/associations/getAssociatedEntitiesQuery.js +36 -0
- package/dist/node/associations/getAssociatedEntitiesQuery.js.map +1 -0
- package/dist/node/associations/getAssociationStats.js +52 -0
- package/dist/node/associations/getAssociationStats.js.map +1 -0
- package/dist/node/associations/getAvailableToRequestEntitiesQuery.js +68 -0
- package/dist/node/associations/getAvailableToRequestEntitiesQuery.js.map +1 -0
- package/dist/node/associations/getPendingEntitiesQuery.js +44 -0
- package/dist/node/associations/getPendingEntitiesQuery.js.map +1 -0
- package/dist/node/associations/getRequestingEntitiesQuery.js +44 -0
- package/dist/node/associations/getRequestingEntitiesQuery.js.map +1 -0
- package/dist/node/associations/getWellKnownAssociationsCatalog.js +76 -0
- package/dist/node/associations/getWellKnownAssociationsCatalog.js.map +1 -0
- package/dist/node/associations/index.js +14 -0
- package/dist/node/associations/index.js.map +1 -1
- package/dist/node/associations/internal/getAssociationHierarchy.js +36 -0
- package/dist/node/associations/internal/getAssociationHierarchy.js.map +1 -0
- package/dist/node/associations/internal/getIdsFromAssociationGroups.js +28 -0
- package/dist/node/associations/internal/getIdsFromAssociationGroups.js.map +1 -0
- package/dist/node/associations/internal/getIdsFromKeywords.js +25 -0
- package/dist/node/associations/internal/getIdsFromKeywords.js.map +1 -0
- package/dist/node/associations/internal/getIncludesAndReferencesQuery.js +61 -0
- package/dist/node/associations/internal/getIncludesAndReferencesQuery.js.map +1 -0
- package/dist/node/associations/internal/getIncludesDoesNotReferenceQuery.js +61 -0
- package/dist/node/associations/internal/getIncludesDoesNotReferenceQuery.js.map +1 -0
- package/dist/node/associations/internal/getReferencesDoesNotIncludeQuery.js +65 -0
- package/dist/node/associations/internal/getReferencesDoesNotIncludeQuery.js.map +1 -0
- package/dist/node/associations/internal/getTypeByIdsQuery.js +13 -15
- package/dist/node/associations/internal/getTypeByIdsQuery.js.map +1 -1
- package/dist/node/associations/internal/getTypeByNotIdsQuery.js +30 -0
- package/dist/node/associations/internal/getTypeByNotIdsQuery.js.map +1 -0
- package/dist/node/associations/internal/getTypeWithKeywordQuery.js +11 -6
- package/dist/node/associations/internal/getTypeWithKeywordQuery.js.map +1 -1
- package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js +10 -5
- package/dist/node/associations/internal/getTypeWithoutKeywordQuery.js.map +1 -1
- package/dist/node/associations/internal/isAssociationSupported.js +32 -0
- package/dist/node/associations/internal/isAssociationSupported.js.map +1 -0
- package/dist/node/associations/internal/removeAssociationKeyword.js +20 -0
- package/dist/node/associations/internal/removeAssociationKeyword.js.map +1 -0
- package/dist/node/associations/internal/setAssociationKeyword.js +22 -0
- package/dist/node/associations/internal/setAssociationKeyword.js.map +1 -0
- package/dist/node/associations/listAssociations.js +4 -0
- package/dist/node/associations/listAssociations.js.map +1 -1
- package/dist/node/associations/removeAssociation.js +3 -0
- package/dist/node/associations/removeAssociation.js.map +1 -1
- package/dist/node/associations/requestAssociation.js +60 -0
- package/dist/node/associations/requestAssociation.js.map +1 -0
- package/dist/node/associations/types.js +0 -1
- package/dist/node/associations/types.js.map +1 -1
- package/dist/node/core/HubItemEntity.js +9 -0
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/_internal/getBasePropertyMap.js +1 -1
- package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
- package/dist/node/core/getTypesFromEntityType.js +42 -0
- package/dist/node/core/getTypesFromEntityType.js.map +1 -0
- package/dist/node/core/index.js +1 -0
- package/dist/node/core/index.js.map +1 -1
- package/dist/node/core/processActionLinks.js +2 -2
- package/dist/node/core/processActionLinks.js.map +1 -1
- package/dist/node/core/updateHubEntity.js +4 -0
- package/dist/node/core/updateHubEntity.js.map +1 -1
- package/dist/node/initiatives/HubInitiatives.js +15 -42
- package/dist/node/initiatives/HubInitiatives.js.map +1 -1
- package/dist/node/initiatives/_internal/InitiativeAssociationHierarchies.js +8 -0
- package/dist/node/initiatives/_internal/InitiativeAssociationHierarchies.js.map +1 -0
- package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +29 -0
- package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
- package/dist/node/projects/_internal/ProjectAssociationHierarchies.js +8 -0
- package/dist/node/projects/_internal/ProjectAssociationHierarchies.js.map +1 -0
- package/dist/node/projects/_internal/ProjectBusinessRules.js +6 -0
- package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -1
- package/dist/node/projects/fetch.js +3 -0
- package/dist/node/projects/fetch.js.map +1 -1
- package/dist/node/search/_internal/buildCatalog.js +29 -0
- package/dist/node/search/_internal/buildCatalog.js.map +1 -0
- package/dist/node/search/wellKnownCatalog.js +29 -43
- package/dist/node/search/wellKnownCatalog.js.map +1 -1
- package/dist/types/associations/addAssociation.d.ts +3 -0
- package/dist/types/associations/breakAssociation.d.ts +20 -0
- package/dist/types/associations/getAssociatedEntitiesQuery.d.ts +21 -0
- package/dist/types/associations/getAssociationStats.d.ts +13 -0
- package/dist/types/associations/getAvailableToRequestEntitiesQuery.d.ts +21 -0
- package/dist/types/associations/getPendingEntitiesQuery.d.ts +26 -0
- package/dist/types/associations/getRequestingEntitiesQuery.d.ts +26 -0
- package/dist/types/associations/getWellKnownAssociationsCatalog.d.ts +34 -0
- package/dist/types/associations/index.d.ts +9 -0
- package/dist/types/associations/internal/getAssociationHierarchy.d.ts +15 -0
- package/dist/types/associations/internal/getIdsFromAssociationGroups.d.ts +15 -0
- package/dist/types/associations/internal/getIdsFromKeywords.d.ts +13 -0
- package/dist/types/associations/internal/getIncludesAndReferencesQuery.d.ts +14 -0
- package/dist/types/associations/internal/getIncludesDoesNotReferenceQuery.d.ts +14 -0
- package/dist/types/associations/internal/getReferencesDoesNotIncludeQuery.d.ts +14 -0
- package/dist/types/associations/internal/getTypeByIdsQuery.d.ts +8 -6
- package/dist/types/associations/internal/getTypeByNotIdsQuery.d.ts +12 -0
- package/dist/types/associations/internal/getTypeWithKeywordQuery.d.ts +8 -5
- package/dist/types/associations/internal/getTypeWithoutKeywordQuery.d.ts +8 -5
- package/dist/types/associations/internal/isAssociationSupported.d.ts +11 -0
- package/dist/types/associations/internal/removeAssociationKeyword.d.ts +12 -0
- package/dist/types/associations/internal/setAssociationKeyword.d.ts +12 -0
- package/dist/types/associations/listAssociations.d.ts +4 -0
- package/dist/types/associations/removeAssociation.d.ts +3 -0
- package/dist/types/associations/requestAssociation.d.ts +23 -0
- package/dist/types/associations/types.d.ts +53 -0
- package/dist/types/core/HubItemEntity.d.ts +9 -0
- package/dist/types/core/behaviors/IWIthAssociationBehavior.d.ts +9 -0
- package/dist/types/core/getTypesFromEntityType.d.ts +10 -0
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/traits/IWithAssociations.d.ts +13 -0
- package/dist/types/initiatives/HubInitiatives.d.ts +12 -0
- package/dist/types/initiatives/_internal/InitiativeAssociationHierarchies.d.ts +2 -0
- package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +1 -1
- package/dist/types/projects/_internal/ProjectAssociationHierarchies.d.ts +2 -0
- package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +1 -1
- package/dist/types/projects/fetch.d.ts +3 -0
- package/dist/types/search/_internal/buildCatalog.d.ts +12 -0
- package/package.json +1 -1
- package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js +0 -18
- package/dist/esm/associations/internal/getTargetEntityFromAssociationType.js.map +0 -1
- package/dist/esm/associations/internal/getTypeFromAssociationType.js +0 -18
- package/dist/esm/associations/internal/getTypeFromAssociationType.js.map +0 -1
- package/dist/node/associations/internal/getTargetEntityFromAssociationType.js +0 -22
- package/dist/node/associations/internal/getTargetEntityFromAssociationType.js.map +0 -1
- package/dist/node/associations/internal/getTypeFromAssociationType.js +0 -22
- package/dist/node/associations/internal/getTypeFromAssociationType.js.map +0 -1
- package/dist/types/associations/internal/getTargetEntityFromAssociationType.d.ts +0 -8
- package/dist/types/associations/internal/getTypeFromAssociationType.d.ts +0 -7
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { getItemGroups } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { getTypesFromEntityType } from "../../core/getTypesFromEntityType";
|
|
3
|
+
import { getProp } from "../../objects/get-prop";
|
|
4
|
+
import { combineQueries } from "../../search/_internal/combineQueries";
|
|
5
|
+
import { getTypeWithoutKeywordQuery } from "./getTypeWithoutKeywordQuery";
|
|
6
|
+
import { getTypeByIdsQuery } from "./getTypeByIdsQuery";
|
|
7
|
+
import { getTypeFromEntity } from "../../core/getTypeFromEntity";
|
|
8
|
+
import { getIdsFromKeywords } from "./getIdsFromKeywords";
|
|
9
|
+
import { getIdsFromAssociationGroups } from "./getIdsFromAssociationGroups";
|
|
10
|
+
/**
|
|
11
|
+
* builds a query that will return entities that are
|
|
12
|
+
* "included" but NOT "referenced"
|
|
13
|
+
*
|
|
14
|
+
* @param entity - Hub entity
|
|
15
|
+
* @param associationType - entity type to query for
|
|
16
|
+
* @param isParent - whether the provided Hub entity is the parent in the association relationship
|
|
17
|
+
* @param context - contextual auth and portal information
|
|
18
|
+
* @returns {IQuery}
|
|
19
|
+
*/
|
|
20
|
+
export const getIncludesDoesNotReferenceQuery = async (entity, associationType, isParent, context) => {
|
|
21
|
+
if (isParent) {
|
|
22
|
+
/**
|
|
23
|
+
* 1. build query that returns child entities WITHOUT a
|
|
24
|
+
* typeKeyword reference to the parent
|
|
25
|
+
*/
|
|
26
|
+
const parentType = getTypeFromEntity(entity);
|
|
27
|
+
const referencedQuery = getTypeWithoutKeywordQuery(getTypesFromEntityType(associationType), `ref|${parentType}|${entity.id}`);
|
|
28
|
+
/** 2. grab the parent entity's association query */
|
|
29
|
+
const includedQuery = getProp(entity, "associations.rules.query");
|
|
30
|
+
/** 3. combine queries - will remove null/undefined entries */
|
|
31
|
+
return combineQueries([referencedQuery, includedQuery]);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
/** 1. fetch the groups a child has been shared with */
|
|
35
|
+
const { admin, member, other } = await getItemGroups(entity.id, context.requestOptions);
|
|
36
|
+
const groupsChildIsSharedWith = [...admin, ...member, ...other];
|
|
37
|
+
/**
|
|
38
|
+
* 2. filter the child's groups down to association groups
|
|
39
|
+
* (by checking if they have a typeKeyword of the form
|
|
40
|
+
* <associationType>|<id>) and extract parent ids
|
|
41
|
+
*/
|
|
42
|
+
const parentIdsThatIncludeChild = getIdsFromAssociationGroups(groupsChildIsSharedWith, associationType);
|
|
43
|
+
/**
|
|
44
|
+
* 3. iterate over the child's typeKeywords and grab the parent
|
|
45
|
+
* ids it references (typeKeyword = <associationType>|<id>)
|
|
46
|
+
*/
|
|
47
|
+
const parentIdsChildReferences = getIdsFromKeywords(entity, associationType);
|
|
48
|
+
/**
|
|
49
|
+
* 4. filter the parent ids down to those that include the
|
|
50
|
+
* child, but that the child does NOT reference
|
|
51
|
+
*/
|
|
52
|
+
const parentIds = parentIdsThatIncludeChild.filter((id) => !parentIdsChildReferences.includes(id));
|
|
53
|
+
/** 5. return a query for the filtered parent ids */
|
|
54
|
+
const type = getTypesFromEntityType(associationType);
|
|
55
|
+
return parentIds.length ? getTypeByIdsQuery(type, parentIds) : null;
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=getIncludesDoesNotReferenceQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIncludesDoesNotReferenceQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getIncludesDoesNotReferenceQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EACnD,MAAiB,EACjB,eAA8B,EAC9B,QAAiB,EACjB,OAAuB,EACN,EAAE;IACnB,IAAI,QAAQ,EAAE;QACZ;;;WAGG;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,0BAA0B,CAChD,sBAAsB,CAAC,eAAe,CAAC,EACvC,OAAO,UAAU,IAAI,MAAM,CAAC,EAAE,EAAE,CACjC,CAAC;QAEF,oDAAoD;QACpD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;QAElE,8DAA8D;QAC9D,OAAO,cAAc,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;KACzD;SAAM;QACL,uDAAuD;QACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAClD,MAAM,CAAC,EAAE,EACT,OAAO,CAAC,cAAc,CACvB,CAAC;QACF,MAAM,uBAAuB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QAEhE;;;;WAIG;QACH,MAAM,yBAAyB,GAAG,2BAA2B,CAC3D,uBAAuB,EACvB,eAAe,CAChB,CAAC;QAEF;;;WAGG;QACH,MAAM,wBAAwB,GAAG,kBAAkB,CACjD,MAAM,EACN,eAAe,CAChB,CAAC;QAEF;;;WAGG;QACH,MAAM,SAAS,GAAG,yBAAyB,CAAC,MAAM,CAChD,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,CACvD,CAAC;QAEF,oDAAoD;QACpD,MAAM,IAAI,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACrE;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { getItemGroups } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { getTypesFromEntityType } from "../../core/getTypesFromEntityType";
|
|
3
|
+
import { getProp } from "../../objects/get-prop";
|
|
4
|
+
import { combineQueries } from "../../search/_internal/combineQueries";
|
|
5
|
+
import { getTypeWithKeywordQuery } from "./getTypeWithKeywordQuery";
|
|
6
|
+
import { negateGroupPredicates } from "../../search/_internal/negateGroupPredicates";
|
|
7
|
+
import { getTypeByIdsQuery } from "./getTypeByIdsQuery";
|
|
8
|
+
import { getTypeFromEntity } from "../../core/getTypeFromEntity";
|
|
9
|
+
import { getIdsFromKeywords } from "./getIdsFromKeywords";
|
|
10
|
+
import { getIdsFromAssociationGroups } from "./getIdsFromAssociationGroups";
|
|
11
|
+
/**
|
|
12
|
+
* builds a query that will return entities that are
|
|
13
|
+
* "referenced" but NOT "included"
|
|
14
|
+
*
|
|
15
|
+
* @param entity - Hub entity
|
|
16
|
+
* @param associationType - entity type to query for
|
|
17
|
+
* @param isParent - whether the provided Hub entity is the parent in the association relationship
|
|
18
|
+
* @param context - contextual auth and portal information
|
|
19
|
+
* @returns {IQuery}
|
|
20
|
+
*/
|
|
21
|
+
export const getReferencesDoesNotIncludeQuery = async (entity, associationType, isParent, context) => {
|
|
22
|
+
if (isParent) {
|
|
23
|
+
/**
|
|
24
|
+
* 1. build query that returns child entities WITH a
|
|
25
|
+
* typeKeyword reference to the parent
|
|
26
|
+
*/
|
|
27
|
+
const parentType = getTypeFromEntity(entity);
|
|
28
|
+
const referencedQuery = getTypeWithKeywordQuery(getTypesFromEntityType(associationType), `ref|${parentType}|${entity.id}`);
|
|
29
|
+
/**
|
|
30
|
+
* 2. grab the parent's association query and negate
|
|
31
|
+
* the group predicate
|
|
32
|
+
*/
|
|
33
|
+
const notIncludedQuery = negateGroupPredicates(getProp(entity, "associations.rules.query"));
|
|
34
|
+
/** 3. combine queries - will remove null/undefined entries */
|
|
35
|
+
return combineQueries([referencedQuery, notIncludedQuery]);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
/** 1. fetch the groups a child has been shared with */
|
|
39
|
+
const { admin, member, other } = await getItemGroups(entity.id, context.requestOptions);
|
|
40
|
+
const groupsChildIsSharedWith = [...admin, ...member, ...other];
|
|
41
|
+
/**
|
|
42
|
+
* 2. filter the child's groups down to association groups
|
|
43
|
+
* (by checking if they have a typeKeyword of the form
|
|
44
|
+
* <associationType>|<id>) and extract parent ids
|
|
45
|
+
*/
|
|
46
|
+
const parentIdsThatIncludeChild = getIdsFromAssociationGroups(groupsChildIsSharedWith, associationType);
|
|
47
|
+
/**
|
|
48
|
+
* 3. iterate over the child's typeKeywords and grab the parent
|
|
49
|
+
* ids it references (typeKeyword = <associationType>|<id>)
|
|
50
|
+
*/
|
|
51
|
+
const parentIdsChildReferences = getIdsFromKeywords(entity, associationType);
|
|
52
|
+
/**
|
|
53
|
+
* 4. filter the parent ids down to those that the child
|
|
54
|
+
* references but that the parent does NOT include
|
|
55
|
+
*/
|
|
56
|
+
const parentIds = parentIdsChildReferences.filter((id) => !parentIdsThatIncludeChild.includes(id));
|
|
57
|
+
/** 5. return a query for the filtered parent ids */
|
|
58
|
+
const type = getTypesFromEntityType(associationType);
|
|
59
|
+
return parentIds.length ? getTypeByIdsQuery(type, parentIds) : null;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=getReferencesDoesNotIncludeQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getReferencesDoesNotIncludeQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getReferencesDoesNotIncludeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EACnD,MAAiB,EACjB,eAA8B,EAC9B,QAAiB,EACjB,OAAuB,EACN,EAAE;IACnB,IAAI,QAAQ,EAAE;QACZ;;;WAGG;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,eAAe,GAAG,uBAAuB,CAC7C,sBAAsB,CAAC,eAAe,CAAC,EACvC,OAAO,UAAU,IAAI,MAAM,CAAC,EAAE,EAAE,CACjC,CAAC;QAEF;;;WAGG;QACH,MAAM,gBAAgB,GAAG,qBAAqB,CAC5C,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAC5C,CAAC;QAEF,8DAA8D;QAC9D,OAAO,cAAc,CAAC,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;KAC5D;SAAM;QACL,uDAAuD;QACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,aAAa,CAClD,MAAM,CAAC,EAAE,EACT,OAAO,CAAC,cAAc,CACvB,CAAC;QACF,MAAM,uBAAuB,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;QAEhE;;;;WAIG;QACH,MAAM,yBAAyB,GAAG,2BAA2B,CAC3D,uBAAuB,EACvB,eAAe,CAChB,CAAC;QAEF;;;WAGG;QACH,MAAM,wBAAwB,GAAG,kBAAkB,CACjD,MAAM,EACN,eAAe,CAChB,CAAC;QAEF;;;WAGG;QACH,MAAM,SAAS,GAAG,wBAAwB,CAAC,MAAM,CAC/C,CAAC,EAAU,EAAE,EAAE,CAAC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC,CACxD,CAAC;QAEF,oDAAoD;QACpD,MAAM,IAAI,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACrE;AACH,CAAC,CAAC"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import { getEntityTypeFromType } from "../../search/_internal/getEntityTypeFromType";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* @private
|
|
4
|
+
* Construct an IQuery to fetch a specified set of item id(s)
|
|
5
|
+
* by type(s). Note: if an array of types is provided, they
|
|
6
|
+
* must be the same underlying target entity type.
|
|
5
7
|
*
|
|
6
|
-
* @param
|
|
7
|
-
* @param
|
|
8
|
-
* @returns
|
|
8
|
+
* @param itemType - a single item type or an array of item types
|
|
9
|
+
* @param ids - an array of ids
|
|
10
|
+
* @returns {IQuery}
|
|
9
11
|
*/
|
|
10
12
|
export function getTypeByIdsQuery(itemType, ids) {
|
|
11
|
-
const targetEntity =
|
|
13
|
+
const targetEntity = typeof itemType === "string"
|
|
14
|
+
? getEntityTypeFromType(itemType)
|
|
15
|
+
: getEntityTypeFromType(itemType[0]);
|
|
12
16
|
const qry = {
|
|
13
17
|
targetEntity,
|
|
14
18
|
filters: [
|
|
15
|
-
{
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
{
|
|
19
|
-
type: itemType,
|
|
20
|
-
id: [...ids],
|
|
21
|
-
},
|
|
22
|
-
],
|
|
23
|
-
},
|
|
19
|
+
Object.assign(Object.assign({}, (ids.length && { operation: "AND" })), { predicates: [
|
|
20
|
+
Object.assign({ type: itemType }, (ids.length && { id: ids })),
|
|
21
|
+
] }),
|
|
24
22
|
],
|
|
25
23
|
};
|
|
26
24
|
return qry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeByIdsQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeByIdsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF
|
|
1
|
+
{"version":3,"file":"getTypeByIdsQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeByIdsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAA2B,EAC3B,GAAa;IAEb,MAAM,YAAY,GAChB,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAW;QAClB,YAAY;QACZ,OAAO,EAAE;4CAEF,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KACvC,UAAU,EAAE;oCAER,IAAI,EAAE,QAAQ,IACX,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;iBAEjC;SAEJ;KACF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getEntityTypeFromType } from "../../search/_internal/getEntityTypeFromType";
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
* Construct an IQuery to fetch the inverse of a specified set
|
|
5
|
+
* of item id(s) by type(s). Note: if an array of types is provided,
|
|
6
|
+
* they must be the same underlying target entity type.
|
|
7
|
+
*
|
|
8
|
+
* @param itemType - a single item type or an array of item types
|
|
9
|
+
* @param ids - an array of ids
|
|
10
|
+
* @returns {IQuery}
|
|
11
|
+
*/
|
|
12
|
+
export function getTypeByNotIdsQuery(itemType, ids) {
|
|
13
|
+
const targetEntity = typeof itemType === "string"
|
|
14
|
+
? getEntityTypeFromType(itemType)
|
|
15
|
+
: getEntityTypeFromType(itemType[0]);
|
|
16
|
+
const qry = {
|
|
17
|
+
targetEntity,
|
|
18
|
+
filters: [
|
|
19
|
+
Object.assign(Object.assign({}, (ids.length && { operation: "AND" })), { predicates: [
|
|
20
|
+
Object.assign({ type: itemType }, (ids.length && { id: { not: ids } })),
|
|
21
|
+
] }),
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
return qry;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=getTypeByNotIdsQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypeByNotIdsQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeByNotIdsQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAA2B,EAC3B,GAAa;IAEb,MAAM,YAAY,GAChB,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,GAAG,GAAW;QAClB,YAAY;QACZ,OAAO,EAAE;4CAEF,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KACvC,UAAU,EAAE;oCAER,IAAI,EAAE,QAAQ,IACX,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;iBAE1C;SAEJ;KACF,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { getEntityTypeFromType } from "../../search/_internal/getEntityTypeFromType";
|
|
2
2
|
/**
|
|
3
3
|
* @private
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Construct an IQuery to fetch a set of items by type(s)
|
|
5
|
+
* with a specified typeKeyword. Note: if an array of types
|
|
6
|
+
* is provided, they must be the same underlying target
|
|
7
|
+
* entity type.
|
|
8
|
+
*
|
|
9
|
+
* @param itemType - The type(s) of item to fetch
|
|
10
|
+
* @param keyword - The typeKeyword to filter by
|
|
8
11
|
* @returns
|
|
9
12
|
*/
|
|
10
13
|
export function getTypeWithKeywordQuery(itemType, keyword) {
|
|
11
|
-
const targetEntity =
|
|
14
|
+
const targetEntity = typeof itemType === "string"
|
|
15
|
+
? getEntityTypeFromType(itemType)
|
|
16
|
+
: getEntityTypeFromType(itemType[0]);
|
|
12
17
|
return {
|
|
13
18
|
targetEntity,
|
|
14
19
|
filters: [
|
|
@@ -17,7 +22,7 @@ export function getTypeWithKeywordQuery(itemType, keyword) {
|
|
|
17
22
|
predicates: [
|
|
18
23
|
{
|
|
19
24
|
type: itemType,
|
|
20
|
-
typekeywords: keyword,
|
|
25
|
+
typekeywords: [keyword],
|
|
21
26
|
},
|
|
22
27
|
],
|
|
23
28
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeWithKeywordQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeWithKeywordQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF
|
|
1
|
+
{"version":3,"file":"getTypeWithKeywordQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeWithKeywordQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAA2B,EAC3B,OAAe;IAEf,MAAM,YAAY,GAChB,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,YAAY;QACZ,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,CAAC,OAAO,CAAC;qBACxB;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { getEntityTypeFromType } from "../../search/_internal/getEntityTypeFromType";
|
|
2
2
|
/**
|
|
3
3
|
* @private
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Construct an IQuery to fetch a set of items by type(s)
|
|
5
|
+
* withOUT a specified typeKeyword. Note: if an array of
|
|
6
|
+
* types is provided, they must be the same underlying target
|
|
7
|
+
* entity type.
|
|
8
|
+
*
|
|
9
|
+
* @param itemType - The type(s) of item to fetch
|
|
10
|
+
* @param keyword - The typeKeyword to filter by
|
|
8
11
|
* @returns
|
|
9
12
|
*/
|
|
10
13
|
export function getTypeWithoutKeywordQuery(itemType, keyword) {
|
|
11
|
-
const targetEntity =
|
|
14
|
+
const targetEntity = typeof itemType === "string"
|
|
15
|
+
? getEntityTypeFromType(itemType)
|
|
16
|
+
: getEntityTypeFromType(itemType[0]);
|
|
12
17
|
return {
|
|
13
18
|
targetEntity,
|
|
14
19
|
filters: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTypeWithoutKeywordQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeWithoutKeywordQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF
|
|
1
|
+
{"version":3,"file":"getTypeWithoutKeywordQuery.js","sourceRoot":"","sources":["../../../../src/associations/internal/getTypeWithoutKeywordQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAGrF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAA2B,EAC3B,OAAe;IAEf,MAAM,YAAY,GAChB,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,OAAO;QACL,YAAY;QACZ,OAAO,EAAE;YACP;gBACE,SAAS,EAAE,KAAK;gBAChB,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE;qBACjC;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { getAssociationHierarchy } from "./getAssociationHierarchy";
|
|
2
|
+
/**
|
|
3
|
+
* given two entity types, this util returns
|
|
4
|
+
* whether or not associations are supported
|
|
5
|
+
* between the two
|
|
6
|
+
*
|
|
7
|
+
* @param type1 - first entity type
|
|
8
|
+
* @param type2 - second entity type
|
|
9
|
+
* @returns {boolean}
|
|
10
|
+
*/
|
|
11
|
+
export const isAssociationSupported = (type1, type2) => {
|
|
12
|
+
try {
|
|
13
|
+
const hierarchy1 = getAssociationHierarchy(type1);
|
|
14
|
+
const hierarchy2 = getAssociationHierarchy(type2);
|
|
15
|
+
if (hierarchy1.children.includes(type2)) {
|
|
16
|
+
return hierarchy2.parents.includes(type1);
|
|
17
|
+
}
|
|
18
|
+
else if (hierarchy1.parents.includes(type2)) {
|
|
19
|
+
return hierarchy2.children.includes(type1);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=isAssociationSupported.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isAssociationSupported.js","sourceRoot":"","sources":["../../../../src/associations/internal/isAssociationSupported.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAoB,EACpB,KAAoB,EACX,EAAE;IACX,IAAI;QACF,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvC,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC3C;aAAM,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC7C,OAAO,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC5C;aAAM;YACL,OAAO,KAAK,CAAC;SACd;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* when a child decides it wants to "disconnect" itself from
|
|
3
|
+
* an existing association, the child removes the typeKeyword
|
|
4
|
+
* (ref|<type>|<id>) that "references" the parent
|
|
5
|
+
*
|
|
6
|
+
* @param typeKeywords - the child entity's typeKeywords
|
|
7
|
+
* @param type - the parent entity's type
|
|
8
|
+
* @param id - the parent entity's id
|
|
9
|
+
* @returns {string[]}
|
|
10
|
+
*/
|
|
11
|
+
export function removeAssociationKeyword(typeKeywords, type, id) {
|
|
12
|
+
const associationKeyword = `ref|${type}|${id}`;
|
|
13
|
+
const filteredKeywords = typeKeywords.filter((keyword) => keyword !== associationKeyword);
|
|
14
|
+
return filteredKeywords;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=removeAssociationKeyword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeAssociationKeyword.js","sourceRoot":"","sources":["../../../../src/associations/internal/removeAssociationKeyword.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAAsB,EACtB,IAAmB,EACnB,EAAU;IAEV,MAAM,kBAAkB,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,kBAAkB,CAC5C,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* when a child sends an "outgoing" request or accepts an
|
|
3
|
+
* "incoming" request for association, the child "references"
|
|
4
|
+
* the parent via a typeKeyword (ref|<type>|<id>)
|
|
5
|
+
*
|
|
6
|
+
* @param typeKeywords - the child entity's typeKeywords
|
|
7
|
+
* @param type - the parent entity's type
|
|
8
|
+
* @param id - the parent entity's id
|
|
9
|
+
* @returns {string[]}
|
|
10
|
+
*/
|
|
11
|
+
export function setAssociationKeyword(typeKeywords, type, id) {
|
|
12
|
+
const keyword = `ref|${type}|${id}`;
|
|
13
|
+
if (!typeKeywords.includes(keyword)) {
|
|
14
|
+
typeKeywords = [...typeKeywords, keyword];
|
|
15
|
+
}
|
|
16
|
+
return typeKeywords;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=setAssociationKeyword.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setAssociationKeyword.js","sourceRoot":"","sources":["../../../../src/associations/internal/setAssociationKeyword.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAsB,EACtB,IAAmB,EACnB,EAAU;IAEV,MAAM,OAAO,GAAG,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC;IACpC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;QACnC,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC;KAC3C;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
+
* ** DEPRECATED: please use getAssociatedEntitiesQuery
|
|
3
|
+
* to get a query for an entity's associations instead.
|
|
4
|
+
* This will be removed in the next breaking version **
|
|
5
|
+
*
|
|
2
6
|
* Return a list of all associations on an entity for a type
|
|
3
7
|
* @param entity
|
|
4
8
|
* @returns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listAssociations.js","sourceRoot":"","sources":["../../../src/associations/listAssociations.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"listAssociations.js","sourceRoot":"","sources":["../../../src/associations/listAssociations.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,EACzB,IAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IACD,OAAO,MAAM,CAAC,YAAY;SACvB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAsB,CAAC;IAC7C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeAssociation.js","sourceRoot":"","sources":["../../../src/associations/removeAssociation.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"removeAssociation.js","sourceRoot":"","sources":["../../../src/associations/removeAssociation.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAyB,EACzB,IAAsB;IAEtB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;QACxB,OAAO;KACR;IACD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACtC;AACH,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { shareItemWithGroup } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { getTypeFromEntity } from "../core/getTypeFromEntity";
|
|
3
|
+
import { fetchHubEntity } from "../core/fetchHubEntity";
|
|
4
|
+
import { getAssociationHierarchy } from "./internal/getAssociationHierarchy";
|
|
5
|
+
import { isAssociationSupported } from "./internal/isAssociationSupported";
|
|
6
|
+
import { setAssociationKeyword } from "./internal/setAssociationKeyword";
|
|
7
|
+
import { getProp } from "../objects";
|
|
8
|
+
import { updateHubEntity } from "../core/updateHubEntity";
|
|
9
|
+
/**
|
|
10
|
+
* When an entity sends an "outgoing" association request
|
|
11
|
+
* or accepts an "incoming" association request, half of
|
|
12
|
+
* the association "connection" is made.
|
|
13
|
+
*
|
|
14
|
+
* from the parent's perspective: the parent "includes"
|
|
15
|
+
* the child in its association group
|
|
16
|
+
*
|
|
17
|
+
* From the child's perspective: the child "references"
|
|
18
|
+
* the parent via a typeKeyword of the form ref|<parentType>|<parentId>
|
|
19
|
+
*
|
|
20
|
+
* Note: we export this function under 2 names - requestAssociation
|
|
21
|
+
* and acceptAssociation. These actions are functionally equivalent,
|
|
22
|
+
* but we want to make the intent more clear to the consumer.
|
|
23
|
+
*
|
|
24
|
+
* @param entity - entity requesting association
|
|
25
|
+
* @param type - type of the entity the requesting entity wants to associate with
|
|
26
|
+
* @param id - id of the entity the requesting entity wants to associate with
|
|
27
|
+
* @param context - contextual portal and auth information
|
|
28
|
+
*/
|
|
29
|
+
export const requestAssociation = async (entity, associationType, id, context) => {
|
|
30
|
+
const entityType = getTypeFromEntity(entity);
|
|
31
|
+
const isSupported = isAssociationSupported(entityType, associationType);
|
|
32
|
+
if (!isSupported) {
|
|
33
|
+
throw new Error(`requestAssociation: Association between ${entityType} and ${associationType} is not supported.`);
|
|
34
|
+
}
|
|
35
|
+
const associationHierarchy = getAssociationHierarchy(entityType);
|
|
36
|
+
const isParent = associationHierarchy.children.includes(associationType);
|
|
37
|
+
if (isParent) {
|
|
38
|
+
const associationGroupId = getProp(entity, "associations.groupId");
|
|
39
|
+
const { owner } = await fetchHubEntity(associationType, id, context);
|
|
40
|
+
try {
|
|
41
|
+
await shareItemWithGroup({
|
|
42
|
+
id,
|
|
43
|
+
owner,
|
|
44
|
+
groupId: associationGroupId,
|
|
45
|
+
authentication: context.session,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw new Error(`requestAssociation: there was an error sharing ${id} to ${associationGroupId}: ${error}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
entity.typeKeywords = setAssociationKeyword(entity.typeKeywords, associationType, id);
|
|
54
|
+
await updateHubEntity(entityType, entity, context);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=requestAssociation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestAssociation.js","sourceRoot":"","sources":["../../../src/associations/requestAssociation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAiB,EACjB,eAA8B,EAC9B,EAAU,EACV,OAAuB,EACR,EAAE;IACjB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,sBAAsB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,CAAC,WAAW,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,2CAA2C,UAAU,QAAQ,eAAe,oBAAoB,CACjG,CAAC;KACH;IAED,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEzE,IAAI,QAAQ,EAAE;QACZ,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACnE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,cAAc,CAAC,eAAe,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI;YACF,MAAM,kBAAkB,CAAC;gBACvB,EAAE;gBACF,KAAK;gBACL,OAAO,EAAE,kBAAkB;gBAC3B,cAAc,EAAE,OAAO,CAAC,OAAO;aAChC,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,IAAI,KAAK,CACb,kDAAkD,EAAE,OAAO,kBAAkB,KAAK,KAAK,EAAE,CAC1F,CAAC;SACH;KACF;SAAM;QACL,MAAM,CAAC,YAAY,GAAG,qBAAqB,CACzC,MAAM,CAAC,YAAY,EACnB,eAAe,EACf,EAAE,CACH,CAAC;QACF,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;KACpD;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/associations/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/associations/types.ts"],"names":[],"mappings":""}
|
|
@@ -328,6 +328,9 @@ export class HubItemEntity {
|
|
|
328
328
|
this.update({ typeKeywords, isDiscussable });
|
|
329
329
|
}
|
|
330
330
|
/**
|
|
331
|
+
* ** DEPRECATED: This will be removed in the next
|
|
332
|
+
* breaking version **
|
|
333
|
+
*
|
|
331
334
|
* Return a list of IAssociationInfo objects representing
|
|
332
335
|
* the associations this entity has, to the specified type
|
|
333
336
|
* @param type
|
|
@@ -337,6 +340,9 @@ export class HubItemEntity {
|
|
|
337
340
|
return listAssociations(this.entity, type);
|
|
338
341
|
}
|
|
339
342
|
/**
|
|
343
|
+
* ** DEPRECATED: please use requestAssociation instead.
|
|
344
|
+
* This will be removed in the next breaking version **
|
|
345
|
+
*
|
|
340
346
|
* Add an association to this entity
|
|
341
347
|
* @param info
|
|
342
348
|
* @returns
|
|
@@ -345,6 +351,9 @@ export class HubItemEntity {
|
|
|
345
351
|
return addAssociation(this.entity, info);
|
|
346
352
|
}
|
|
347
353
|
/**
|
|
354
|
+
* ** DEPRECATED: please use breakAssociation instead.
|
|
355
|
+
* This will be removed in the next breaking version **
|
|
356
|
+
*
|
|
348
357
|
* Remove an association from this entity
|
|
349
358
|
* @param info
|
|
350
359
|
* @returns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ export function getBasePropertyMap() {
|
|
|
24
24
|
"orgId",
|
|
25
25
|
"protected",
|
|
26
26
|
];
|
|
27
|
-
const dataProps = ["display", "geometry", "view"];
|
|
27
|
+
const dataProps = ["display", "geometry", "view", "associations"];
|
|
28
28
|
const resourceProps = Object.keys(EntityResourceMap);
|
|
29
29
|
const map = [];
|
|
30
30
|
itemProps.forEach((entry) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,YAAY;QACZ,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;QACL,OAAO;QACP,WAAW;KACZ,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"getBasePropertyMap.js","sourceRoot":"","sources":["../../../../src/core/_internal/getBasePropertyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG;QAChB,QAAQ;QACR,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,aAAa;QACb,UAAU;QACV,OAAO;QACP,MAAM;QACN,YAAY;QACZ,MAAM;QACN,cAAc;QACd,WAAW;QACX,KAAK;QACL,OAAO;QACP,WAAW;KACZ,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,kBAAkB;IAClB,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,QAAQ,EAAE,cAAc;KACzB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,eAAe;QAC1B,QAAQ,EAAE,+BAA+B;KAC1C,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,qCAAqC;KAChD,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* return the item type(s) associated with a provided
|
|
3
|
+
* Hub entity type. This is effectively the reverse of
|
|
4
|
+
* getTypeFromEntity
|
|
5
|
+
*
|
|
6
|
+
* @param entityType - the hub entity type
|
|
7
|
+
* @returns {string[]}
|
|
8
|
+
*/
|
|
9
|
+
export const getTypesFromEntityType = (entityType) => {
|
|
10
|
+
let type = [];
|
|
11
|
+
switch (entityType) {
|
|
12
|
+
case "site":
|
|
13
|
+
type = ["Hub Site Application", "Site Application"];
|
|
14
|
+
break;
|
|
15
|
+
case "page":
|
|
16
|
+
type = ["Hub Page", "Site Page"];
|
|
17
|
+
break;
|
|
18
|
+
case "project":
|
|
19
|
+
type = ["Hub Project"];
|
|
20
|
+
break;
|
|
21
|
+
case "initiative":
|
|
22
|
+
type = ["Hub Initiative"];
|
|
23
|
+
break;
|
|
24
|
+
case "discussion":
|
|
25
|
+
type = ["Discussion"];
|
|
26
|
+
break;
|
|
27
|
+
case "template":
|
|
28
|
+
type = ["Solution"];
|
|
29
|
+
break;
|
|
30
|
+
case "group":
|
|
31
|
+
type = ["Group"];
|
|
32
|
+
break;
|
|
33
|
+
case "initiativeTemplate":
|
|
34
|
+
type = ["Hub Initiative Template"];
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
return type;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=getTypesFromEntityType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTypesFromEntityType.js","sourceRoot":"","sources":["../../../src/core/getTypesFromEntityType.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAyB,EAAY,EAAE;IAC5E,IAAI,IAAI,GAAG,EAAc,CAAC;IAC1B,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM;YACT,IAAI,GAAG,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;YACpD,MAAM;QACR,KAAK,MAAM;YACT,IAAI,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;YACvB,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,YAAY;YACf,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YACtB,MAAM;QACR,KAAK,UAAU;YACb,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;YACpB,MAAM;QACR,KAAK,OAAO;YACV,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,oBAAoB;YACvB,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACnC,MAAM;KACT;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
package/dist/esm/core/index.js
CHANGED
|
@@ -5,6 +5,7 @@ export * from "./schemas";
|
|
|
5
5
|
export * from "./fetchHubEntity";
|
|
6
6
|
export * from "./getEntityDefaultWorkspacePane";
|
|
7
7
|
export * from "./getTypeFromEntity";
|
|
8
|
+
export * from "./getTypesFromEntityType";
|
|
8
9
|
export * from "./getRelativeWorkspaceUrl";
|
|
9
10
|
export * from "./isValidEntityType";
|
|
10
11
|
export * from "./processActionLinks";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAErC,uDAAuD;AACvD,oDAAoD;AACpD,qCAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AAErC,uDAAuD;AACvD,oDAAoD;AACpD,qCAAqC"}
|