@esri/hub-common 11.23.1 → 11.23.2
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/projects/HubProject.js +5 -1
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/_internal.js +43 -0
- package/dist/esm/projects/_internal.js.map +1 -0
- package/dist/esm/projects/edit.js +115 -0
- package/dist/esm/projects/edit.js.map +1 -0
- package/dist/esm/projects/fetch.js +104 -0
- package/dist/esm/projects/fetch.js.map +1 -0
- package/dist/esm/projects/index.js +2 -1
- package/dist/esm/projects/index.js.map +1 -1
- package/dist/esm/util.js +3 -1
- package/dist/esm/util.js.map +1 -1
- package/dist/node/projects/HubProject.js +10 -6
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/_internal.js +48 -0
- package/dist/node/projects/_internal.js.map +1 -0
- package/dist/node/projects/edit.js +122 -0
- package/dist/node/projects/edit.js.map +1 -0
- package/dist/node/projects/fetch.js +110 -0
- package/dist/node/projects/fetch.js.map +1 -0
- package/dist/node/projects/index.js +2 -1
- package/dist/node/projects/index.js.map +1 -1
- package/dist/node/util.js +3 -1
- package/dist/node/util.js.map +1 -1
- package/dist/types/projects/_internal.d.ts +20 -0
- package/dist/types/projects/{HubProjects.d.ts → edit.d.ts} +1 -29
- package/dist/types/projects/fetch.d.ts +30 -0
- package/dist/types/projects/index.d.ts +2 -1
- package/package.json +1 -1
- package/dist/esm/projects/HubProjects.js +0 -248
- package/dist/esm/projects/HubProjects.js.map +0 -1
- package/dist/node/projects/HubProjects.js +0 -258
- package/dist/node/projects/HubProjects.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { DEFAULT_PROJECT } from "./defaults";
|
|
2
2
|
import { PermissionManager, } from "../core";
|
|
3
|
-
import { createProject, deleteProject, fetchProject, getHubProjectEditorConfig, updateProject, } from "./HubProjects";
|
|
4
3
|
import { Catalog } from "../search/Catalog";
|
|
5
4
|
import { HubItemEntity } from "../core/HubItemEntity";
|
|
5
|
+
// NOTE: this could be lazy-loaded just like the CUD functions
|
|
6
|
+
import { fetchProject } from "./fetch";
|
|
6
7
|
/**
|
|
7
8
|
* Hub Project Class
|
|
8
9
|
*/
|
|
@@ -91,6 +92,7 @@ export class HubProject extends HubItemEntity {
|
|
|
91
92
|
* by the compiler.
|
|
92
93
|
*/
|
|
93
94
|
static async getEditorConfig(i18nScope, type, options = []) {
|
|
95
|
+
const { getHubProjectEditorConfig } = await import("./edit");
|
|
94
96
|
// Delegate to module fn
|
|
95
97
|
return getHubProjectEditorConfig(i18nScope, type, options);
|
|
96
98
|
}
|
|
@@ -132,6 +134,7 @@ export class HubProject extends HubItemEntity {
|
|
|
132
134
|
// get the catalog, and permission configs
|
|
133
135
|
this.entity.catalog = this._catalog.toJson();
|
|
134
136
|
this.entity.permissions = this._permissionManager.toJson();
|
|
137
|
+
const { createProject, updateProject } = await import("./edit");
|
|
135
138
|
if (this.entity.id) {
|
|
136
139
|
// update it
|
|
137
140
|
this.entity = await updateProject(this.entity, this.context.userRequestOptions);
|
|
@@ -154,6 +157,7 @@ export class HubProject extends HubItemEntity {
|
|
|
154
157
|
throw new Error("HubProject is already destroyed.");
|
|
155
158
|
}
|
|
156
159
|
this.isDestroyed = true;
|
|
160
|
+
const { deleteProject } = await import("./edit");
|
|
157
161
|
// Delegate to module fn
|
|
158
162
|
await deleteProject(this.entity.id, this.context.userRequestOptions);
|
|
159
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAIL,iBAAiB,GAIlB,MAAM,SAAS,CAAC;AAEjB,OAAO,
|
|
1
|
+
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { getItemThumbnailUrl } from "../resources";
|
|
2
|
+
import { getBasePropertyMap } from "../core/_internal/getBasePropertyMap";
|
|
3
|
+
/**
|
|
4
|
+
* Given a model and a project, set various computed properties that can't be directly mapped
|
|
5
|
+
* @private
|
|
6
|
+
* @param model
|
|
7
|
+
* @param project
|
|
8
|
+
* @param requestOptions
|
|
9
|
+
* @returns
|
|
10
|
+
*/
|
|
11
|
+
export function computeProps(model, project, requestOptions) {
|
|
12
|
+
let token;
|
|
13
|
+
if (requestOptions.authentication) {
|
|
14
|
+
const session = requestOptions.authentication;
|
|
15
|
+
token = session.token;
|
|
16
|
+
}
|
|
17
|
+
// thumbnail url
|
|
18
|
+
project.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
|
|
19
|
+
// Handle Dates
|
|
20
|
+
project.createdDate = new Date(model.item.created);
|
|
21
|
+
project.createdDateSource = "item.created";
|
|
22
|
+
project.updatedDate = new Date(model.item.modified);
|
|
23
|
+
project.updatedDateSource = "item.modified";
|
|
24
|
+
// cast b/c this takes a partial but returns a full project
|
|
25
|
+
return project;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Returns an Array of IPropertyMap objects
|
|
29
|
+
* that define the projection of properties from a IModel to an IHubProject
|
|
30
|
+
* @returns
|
|
31
|
+
* @private
|
|
32
|
+
*/
|
|
33
|
+
export function getPropertyMap() {
|
|
34
|
+
const map = getBasePropertyMap();
|
|
35
|
+
// Type specific mappings
|
|
36
|
+
map.push({ objectKey: "status", modelKey: "data.status" });
|
|
37
|
+
map.push({ objectKey: "catalog", modelKey: "data.catalog" });
|
|
38
|
+
map.push({ objectKey: "permissions", modelKey: "data.permissions" });
|
|
39
|
+
map.push({ objectKey: "contacts", modelKey: "data.contacts" });
|
|
40
|
+
map.push({ objectKey: "timeline", modelKey: "data.timeline" });
|
|
41
|
+
return map;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=_internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/projects/_internal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG1E;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAa,EACb,OAA6B,EAC7B,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,OAAO,CAAC,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9E,eAAe;IACf,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
2
|
+
import { createModel, getModel, updateModel } from "../models";
|
|
3
|
+
import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
|
|
4
|
+
import { cloneObject, interpolate, } from "../index";
|
|
5
|
+
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
6
|
+
import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
7
|
+
import { DEFAULT_PROJECT, DEFAULT_PROJECT_MODEL } from "./defaults";
|
|
8
|
+
import { HubProjectEditUiSchema, HubProjectCreateUiSchema, HubProjectSchema, } from "../core/schemas";
|
|
9
|
+
import { filterSchemaToUiSchema } from "../core/schemas/internal";
|
|
10
|
+
import { applyUiSchemaElementOptions } from "../core/schemas/internal/applyUiSchemaElementOptions";
|
|
11
|
+
import { computeProps, getPropertyMap } from "./_internal";
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
* Create a new Hub Project item
|
|
15
|
+
*
|
|
16
|
+
* Minimal properties are name and org
|
|
17
|
+
*
|
|
18
|
+
* @param project
|
|
19
|
+
* @param requestOptions
|
|
20
|
+
*/
|
|
21
|
+
export async function createProject(partialProject, requestOptions) {
|
|
22
|
+
// merge incoming with the default
|
|
23
|
+
// this expansion solves the typing somehow
|
|
24
|
+
const project = Object.assign(Object.assign({}, DEFAULT_PROJECT), partialProject);
|
|
25
|
+
// Create a slug from the title if one is not passed in
|
|
26
|
+
if (!project.slug) {
|
|
27
|
+
project.slug = constructSlug(project.name, project.orgUrlKey);
|
|
28
|
+
}
|
|
29
|
+
// Ensure slug is unique
|
|
30
|
+
project.slug = await getUniqueSlug({ slug: project.slug }, requestOptions);
|
|
31
|
+
// add slug to keywords
|
|
32
|
+
project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
|
|
33
|
+
// Map project object onto a default project Model
|
|
34
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
35
|
+
// create model from object, using the default model as a starting point
|
|
36
|
+
let model = mapper.objectToModel(project, cloneObject(DEFAULT_PROJECT_MODEL));
|
|
37
|
+
// create the item
|
|
38
|
+
model = await createModel(model, requestOptions);
|
|
39
|
+
// map the model back into a IHubProject
|
|
40
|
+
let newProject = mapper.modelToObject(model, {});
|
|
41
|
+
newProject = computeProps(model, newProject, requestOptions);
|
|
42
|
+
// and return it
|
|
43
|
+
return newProject;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @private
|
|
47
|
+
* Update a Hub Project
|
|
48
|
+
* @param project
|
|
49
|
+
* @param requestOptions
|
|
50
|
+
*/
|
|
51
|
+
export async function updateProject(project, requestOptions) {
|
|
52
|
+
// verify that the slug is unique, excluding the current project
|
|
53
|
+
project.slug = await getUniqueSlug({ slug: project.slug, existingId: project.id }, requestOptions);
|
|
54
|
+
// get the backing item & data
|
|
55
|
+
const model = await getModel(project.id, requestOptions);
|
|
56
|
+
// create the PropertyMapper
|
|
57
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
58
|
+
// Note: Although we are fetching the model, and applying changes onto it,
|
|
59
|
+
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
60
|
+
// but this is where we would apply that sort of logic
|
|
61
|
+
const modelToUpdate = mapper.objectToModel(project, model);
|
|
62
|
+
// update the backing item
|
|
63
|
+
const updatedModel = await updateModel(modelToUpdate, requestOptions);
|
|
64
|
+
// now map back into a project and return that
|
|
65
|
+
let updatedProject = mapper.modelToObject(updatedModel, project);
|
|
66
|
+
updatedProject = computeProps(model, updatedProject, requestOptions);
|
|
67
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
68
|
+
// where as this function returns a `T`
|
|
69
|
+
return updatedProject;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @private
|
|
73
|
+
* Remove a Hub Project
|
|
74
|
+
* @param id
|
|
75
|
+
* @param requestOptions
|
|
76
|
+
*/
|
|
77
|
+
export async function deleteProject(id, requestOptions) {
|
|
78
|
+
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
79
|
+
await removeItem(ro);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get the editor config for for the HubProject entity.
|
|
84
|
+
* @param i18nScope Translation scope to be interpolated into the schemas
|
|
85
|
+
* @param type
|
|
86
|
+
* @param options Optional hash of Element component options
|
|
87
|
+
* @returns
|
|
88
|
+
*/
|
|
89
|
+
export async function getHubProjectEditorConfig(i18nScope, type, options = []) {
|
|
90
|
+
// schema is always the entire schema
|
|
91
|
+
let schema = cloneObject(HubProjectSchema);
|
|
92
|
+
// uiSchema is the complete (edit) schema, unless otherwise specified
|
|
93
|
+
let uiSchema = cloneObject(HubProjectEditUiSchema);
|
|
94
|
+
// by default we don't need to filter the schema b/c it's the entire schema
|
|
95
|
+
let filterSchema = false;
|
|
96
|
+
// if another schema is requested, we need to use that UI schema
|
|
97
|
+
// and the subset the overall schema down to just the properties
|
|
98
|
+
// used in the UI schema
|
|
99
|
+
switch (type) {
|
|
100
|
+
case "create":
|
|
101
|
+
uiSchema = cloneObject(HubProjectCreateUiSchema);
|
|
102
|
+
filterSchema = true;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
if (filterSchema) {
|
|
106
|
+
// filter out properties not used in the UI schema
|
|
107
|
+
schema = filterSchemaToUiSchema(schema, uiSchema);
|
|
108
|
+
}
|
|
109
|
+
// interpolate the i18n scope into the uiSchema
|
|
110
|
+
uiSchema = interpolate(uiSchema, { i18nScope });
|
|
111
|
+
// apply the options
|
|
112
|
+
uiSchema = applyUiSchemaElementOptions(uiSchema, options);
|
|
113
|
+
return Promise.resolve({ schema, uiSchema });
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/projects/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { getItem } from "@esri/arcgis-rest-portal";
|
|
2
|
+
// TODO: import these from specific modules
|
|
3
|
+
import { getItemThumbnailUrl, unique, mapBy, getProp, getFamily, getItemHomeUrl, } from "../index";
|
|
4
|
+
import { getHubRelativeUrl } from "../content/_internal";
|
|
5
|
+
import { PropertyMapper } from "../core/_internal/PropertyMapper";
|
|
6
|
+
import { getItemBySlug } from "../items/slugs";
|
|
7
|
+
import { fetchItemEnrichments } from "../items/_enrichments";
|
|
8
|
+
import { fetchModelFromItem } from "../models";
|
|
9
|
+
import { parseInclude } from "../search/_internal/parseInclude";
|
|
10
|
+
import { isGuid } from "../utils";
|
|
11
|
+
import { computeProps, getPropertyMap } from "./_internal";
|
|
12
|
+
/**
|
|
13
|
+
* @private
|
|
14
|
+
* Get a Hub Project by id or slug
|
|
15
|
+
* @param identifier item id or slug
|
|
16
|
+
* @param requestOptions
|
|
17
|
+
*/
|
|
18
|
+
export function fetchProject(identifier, requestOptions) {
|
|
19
|
+
let getPrms;
|
|
20
|
+
if (isGuid(identifier)) {
|
|
21
|
+
// get item by id
|
|
22
|
+
getPrms = getItem(identifier, requestOptions);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
getPrms = getItemBySlug(identifier, requestOptions);
|
|
26
|
+
}
|
|
27
|
+
return getPrms.then((item) => {
|
|
28
|
+
if (!item)
|
|
29
|
+
return null;
|
|
30
|
+
return convertItemToProject(item, requestOptions);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @private
|
|
35
|
+
* Convert an Hub Project Item into a Hub Project, fetching any additional
|
|
36
|
+
* information that may be required
|
|
37
|
+
* @param item
|
|
38
|
+
* @param auth
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
export async function convertItemToProject(item, requestOptions) {
|
|
42
|
+
const model = await fetchModelFromItem(item, requestOptions);
|
|
43
|
+
// TODO: In the future we will handle the boundary fetching from resource
|
|
44
|
+
const mapper = new PropertyMapper(getPropertyMap());
|
|
45
|
+
const prj = mapper.modelToObject(model, {});
|
|
46
|
+
return computeProps(model, prj, requestOptions);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @private
|
|
50
|
+
* Fetch project specific enrichments
|
|
51
|
+
* @param item
|
|
52
|
+
* @param include
|
|
53
|
+
* @param requestOptions
|
|
54
|
+
* @returns
|
|
55
|
+
*/
|
|
56
|
+
export async function enrichProjectSearchResult(item, include, requestOptions) {
|
|
57
|
+
// Create the basic structure
|
|
58
|
+
const result = {
|
|
59
|
+
access: item.access,
|
|
60
|
+
id: item.id,
|
|
61
|
+
type: item.type,
|
|
62
|
+
name: item.title,
|
|
63
|
+
owner: item.owner,
|
|
64
|
+
typeKeywords: item.typeKeywords,
|
|
65
|
+
tags: item.tags,
|
|
66
|
+
categories: item.categories,
|
|
67
|
+
summary: item.snippet || item.description,
|
|
68
|
+
createdDate: new Date(item.created),
|
|
69
|
+
createdDateSource: "item.created",
|
|
70
|
+
updatedDate: new Date(item.modified),
|
|
71
|
+
updatedDateSource: "item.modified",
|
|
72
|
+
family: getFamily(item.type),
|
|
73
|
+
links: {
|
|
74
|
+
self: "not-implemented",
|
|
75
|
+
siteRelative: "not-implemented",
|
|
76
|
+
thumbnail: "not-implemented",
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
// default includes
|
|
80
|
+
const DEFAULTS = [];
|
|
81
|
+
// merge includes
|
|
82
|
+
include = [...DEFAULTS, ...include].filter(unique);
|
|
83
|
+
// Parse the includes into a valid set of enrichments
|
|
84
|
+
const specs = include.map(parseInclude);
|
|
85
|
+
// Extract out the low-level enrichments needed
|
|
86
|
+
const enrichments = mapBy("enrichment", specs).filter(unique);
|
|
87
|
+
// fetch the enrichments
|
|
88
|
+
let enriched = {};
|
|
89
|
+
if (enrichments.length) {
|
|
90
|
+
// TODO: Look into caching for the requests in fetchItemEnrichments
|
|
91
|
+
enriched = await fetchItemEnrichments(item, enrichments, requestOptions);
|
|
92
|
+
}
|
|
93
|
+
// map the enriched props onto the result
|
|
94
|
+
specs.forEach((spec) => {
|
|
95
|
+
result[spec.prop] = getProp(enriched, spec.path);
|
|
96
|
+
});
|
|
97
|
+
// Handle links
|
|
98
|
+
// TODO: Link handling should be an enrichment
|
|
99
|
+
result.links.thumbnail = getItemThumbnailUrl(item, requestOptions);
|
|
100
|
+
result.links.self = getItemHomeUrl(result.id, requestOptions);
|
|
101
|
+
result.links.siteRelative = getHubRelativeUrl(result.type, result.id, item.typeKeywords);
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/projects/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
package/dist/esm/util.js
CHANGED
|
@@ -19,13 +19,15 @@ export function cloneObject(obj) {
|
|
|
19
19
|
}
|
|
20
20
|
else if (typeof obj === "object") {
|
|
21
21
|
for (const i in obj) {
|
|
22
|
-
/* istanbul ignore next no need to deal w/ other side of hasOwnProperty() */
|
|
23
22
|
if (obj.hasOwnProperty(i)) {
|
|
24
23
|
const value = obj[i];
|
|
25
24
|
if (value != null && typeof value === "object") {
|
|
26
25
|
if (value instanceof Date) {
|
|
27
26
|
clone[i] = new Date(value.getTime());
|
|
28
27
|
}
|
|
28
|
+
else if (typeof Blob !== "undefined" && value instanceof Blob) {
|
|
29
|
+
clone[i] = new Blob([value], { type: value.type });
|
|
30
|
+
}
|
|
29
31
|
else {
|
|
30
32
|
clone[i] = cloneObject(value);
|
|
31
33
|
}
|
package/dist/esm/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAI,GAAM;IACnC,IAAI,KAAK,GAA6B,EAAE,CAAC;IACzC,oBAAoB;IACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9B;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;YACnB,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA;gBACgB;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAI,GAAM;IACnC,IAAI,KAAK,GAA6B,EAAE,CAAC;IACzC,oBAAoB;IACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACtB,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9B;SAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAClC,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;YACnB,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;gBACzB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC9C,IAAI,KAAK,YAAY,IAAI,EAAE;wBACzB,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;qBACtC;yBAAM,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,YAAY,IAAI,EAAE;wBAC/D,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;qBACpD;yBAAM;wBACL,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;qBAC/B;iBACF;qBAAM;oBACL,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBAClB;aACF;SACF;KACF;SAAM;QACL,KAAK,GAAG,GAAG,CAAC;KACb;IACD,OAAO,KAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAAU,EAAE,GAAW;IACnD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,GAA6B,EAAE,OAAO,GAAG,IAAI;IACzE,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAChD,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM,CAAC,GAAU,EAAE,IAAY,EAAE,KAAU;IACzD,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,IAAI,CAAC;KACb;IACD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACpC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE;YAClC,GAAG,GAAG,KAAK,CAAC;SACb;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACT,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,GAAU,EAAE,KAAU;IAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IACnD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,GAAG,GAAU;IACnC,OAAO,GAAG,CAAC,MAAM,CACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,GAAG,IAAW,EAAE,EAAE,CACjB,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,SAAiB,GAAG;IAC3C,iEAAiE;IACjE,8EAA8E;IAC9E,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,GAAQ,EAAE,MAAW;IACzD,6BAA6B;IAC7B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;QACrC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,uBAAuB;QACvB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KACnB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,UAAU,SAAS,CAAC,GAAQ,EAAE,MAAa;IAC/C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;QACrC,kDAAkD;QAClD,MAAM,GAAG,WAAW,CAAC,MAAM,CAAU,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAClB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,yCAAyC;IACzC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC5B,qCAAqC;IACrC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;IAC1E,qCAAqC;IACrC,sGAAsG;IACtG,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;IACvD,MAAM,wBAAwB,GAAG,gBAAgB,CAAC;IAElD,OAAO,KAAK;SACT,OAAO,CAAC,wBAAwB,EAAE,UAAU,KAAK,EAAE,SAAS,EAAE,GAAG;QAChE,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,CAAC,CAAC;SACD,OAAO,CAAC,wBAAwB,EAAE,UAAU,KAAK,EAAE,SAAS,EAAE,GAAG;QAChE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,MAAM,CAAC,KAAU,EAAE,KAAa,EAAE,GAAU;IAC1D,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAI,GAAQ,EAAE,IAAY;IAChD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,WAAW,GAAG,CAAC,CAAU,EAAE,EAAE,CACjC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAI,GAAQ;IAC9B,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAI,GAAQ,EAAE,IAAY,EAAE,GAAY;IAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CACpB,MAAgC,EAChC,MAAgC,EAChC,OAAgB,IAAI;IAEpB,MAAM,QAAQ,GAA6B,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;YACvD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACxB,+CAA+C;gBAC/C,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACnB;iBAAM,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC5C,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aAClD;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACnB;SACF;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,SAAiB;IACrD,IAAI;QACF,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,IAAI,CACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAC3C,CAAC,WAAW,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACjC;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACjC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,GAAU,EAAE,IAAY;IACjD,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7C,KAAK,IAAI,IAAI,CAAC;KACf;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,qFAAqF;IACrF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAU;IACrC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAU,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.HubProject = void 0;
|
|
4
4
|
const defaults_1 = require("./defaults");
|
|
5
5
|
const core_1 = require("../core");
|
|
6
|
-
const HubProjects_1 = require("./HubProjects");
|
|
7
6
|
const Catalog_1 = require("../search/Catalog");
|
|
8
7
|
const HubItemEntity_1 = require("../core/HubItemEntity");
|
|
8
|
+
// NOTE: this could be lazy-loaded just like the CUD functions
|
|
9
|
+
const fetch_1 = require("./fetch");
|
|
9
10
|
/**
|
|
10
11
|
* Hub Project Class
|
|
11
12
|
*/
|
|
@@ -70,7 +71,7 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
|
|
|
70
71
|
static async fetch(identifier, context) {
|
|
71
72
|
// fetch the project by id or slug
|
|
72
73
|
try {
|
|
73
|
-
const project = await
|
|
74
|
+
const project = await fetch_1.fetchProject(identifier, context.requestOptions);
|
|
74
75
|
// create an instance of HubProject from the project
|
|
75
76
|
return HubProject.fromJson(project, context);
|
|
76
77
|
}
|
|
@@ -94,8 +95,9 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
|
|
|
94
95
|
* by the compiler.
|
|
95
96
|
*/
|
|
96
97
|
static async getEditorConfig(i18nScope, type, options = []) {
|
|
98
|
+
const { getHubProjectEditorConfig } = await Promise.resolve().then(() => require("./edit"));
|
|
97
99
|
// Delegate to module fn
|
|
98
|
-
return
|
|
100
|
+
return getHubProjectEditorConfig(i18nScope, type, options);
|
|
99
101
|
}
|
|
100
102
|
static applyDefaults(partialProject, context) {
|
|
101
103
|
// ensure we have the orgUrlKey
|
|
@@ -135,13 +137,14 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
|
|
|
135
137
|
// get the catalog, and permission configs
|
|
136
138
|
this.entity.catalog = this._catalog.toJson();
|
|
137
139
|
this.entity.permissions = this._permissionManager.toJson();
|
|
140
|
+
const { createProject, updateProject } = await Promise.resolve().then(() => require("./edit"));
|
|
138
141
|
if (this.entity.id) {
|
|
139
142
|
// update it
|
|
140
|
-
this.entity = await
|
|
143
|
+
this.entity = await updateProject(this.entity, this.context.userRequestOptions);
|
|
141
144
|
}
|
|
142
145
|
else {
|
|
143
146
|
// create it
|
|
144
|
-
this.entity = await
|
|
147
|
+
this.entity = await createProject(this.entity, this.context.userRequestOptions);
|
|
145
148
|
}
|
|
146
149
|
// call the after save hook on superclass
|
|
147
150
|
await super.afterSave();
|
|
@@ -157,8 +160,9 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
|
|
|
157
160
|
throw new Error("HubProject is already destroyed.");
|
|
158
161
|
}
|
|
159
162
|
this.isDestroyed = true;
|
|
163
|
+
const { deleteProject } = await Promise.resolve().then(() => require("./edit"));
|
|
160
164
|
// Delegate to module fn
|
|
161
|
-
await
|
|
165
|
+
await deleteProject(this.entity.id, this.context.userRequestOptions);
|
|
162
166
|
}
|
|
163
167
|
}
|
|
164
168
|
exports.HubProject = HubProject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAE7C,kCAQiB;AAEjB,+
|
|
1
|
+
{"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":";;;AAAA,yCAA6C;AAE7C,kCAQiB;AAEjB,+CAA4C;AAE5C,yDAAsD;AAMtD,8DAA8D;AAC9D,mCAAuC;AAEvC;;GAEG;AACH,MAAa,UACX,SAAQ,6BAA0B;IAUlC;;;;OAIG;IACH,YAAoB,OAAoB,EAAE,OAAuB;QAC/D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,iBAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,wBAAiB,CAAC,QAAQ,CAClD,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAA0B,EAC1B,OAAuB;QAEvB,6CAA6C;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,cAAoC,EACpC,OAAuB,EACvB,OAAgB,KAAK;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzD,mCAAmC;QACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;SACvB;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,UAAkB,EAClB,OAAuB;QAEvB,kCAAkC;QAClC,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,oBAAY,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACvE,oDAAoD;YACpD,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;QAAC,OAAO,EAAE,EAAE;YACX,IACG,EAAY,CAAC,OAAO;gBACrB,oDAAoD,EACpD;gBACA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;aACvC;iBAAM;gBACL,MAAM,EAAE,CAAC;aACV;SACF;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,SAAiB,EACjB,IAAsB,EACtB,UAAoC,EAAE;QAEtC,MAAM,EAAE,yBAAyB,EAAE,GAAG,2CAAa,QAAQ,EAAC,CAAC;QAC7D,wBAAwB;QACxB,OAAO,yBAAyB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,cAAoC,EACpC,OAAuB;QAEvB,+BAA+B;QAC/B,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YAC7B,cAAc,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;SAClD;QACD,uCAAuC;QACvC,MAAM,IAAI,GAAG,gCAAK,0BAAe,GAAK,cAAc,CAAiB,CAAC;QACtE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAA6B;QAClC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;QAE7C,4BAA4B;QAC5B,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,IAAI,CAAC,QAAQ,GAAG,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;SACrE;QACD,IAAI,OAAO,CAAC,WAAW,EAAE;YACvB,IAAI,CAAC,kBAAkB,GAAG,wBAAiB,CAAC,QAAQ,CAClD,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,OAAO,CACb,CAAC;SACH;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAE3D,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,2CAAa,QAAQ,EAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,aAAa,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,aAAa,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QACD,yCAAyC;QACzC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAExB,OAAO;IACT,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,GAAG,2CAAa,QAAQ,EAAC,CAAC;QACjD,wBAAwB;QACxB,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE,CAAC;CACF;AA9MD,gCA8MC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPropertyMap = exports.computeProps = void 0;
|
|
4
|
+
const resources_1 = require("../resources");
|
|
5
|
+
const getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
|
|
6
|
+
/**
|
|
7
|
+
* Given a model and a project, set various computed properties that can't be directly mapped
|
|
8
|
+
* @private
|
|
9
|
+
* @param model
|
|
10
|
+
* @param project
|
|
11
|
+
* @param requestOptions
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
function computeProps(model, project, requestOptions) {
|
|
15
|
+
let token;
|
|
16
|
+
if (requestOptions.authentication) {
|
|
17
|
+
const session = requestOptions.authentication;
|
|
18
|
+
token = session.token;
|
|
19
|
+
}
|
|
20
|
+
// thumbnail url
|
|
21
|
+
project.thumbnailUrl = resources_1.getItemThumbnailUrl(model.item, requestOptions, token);
|
|
22
|
+
// Handle Dates
|
|
23
|
+
project.createdDate = new Date(model.item.created);
|
|
24
|
+
project.createdDateSource = "item.created";
|
|
25
|
+
project.updatedDate = new Date(model.item.modified);
|
|
26
|
+
project.updatedDateSource = "item.modified";
|
|
27
|
+
// cast b/c this takes a partial but returns a full project
|
|
28
|
+
return project;
|
|
29
|
+
}
|
|
30
|
+
exports.computeProps = computeProps;
|
|
31
|
+
/**
|
|
32
|
+
* Returns an Array of IPropertyMap objects
|
|
33
|
+
* that define the projection of properties from a IModel to an IHubProject
|
|
34
|
+
* @returns
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
function getPropertyMap() {
|
|
38
|
+
const map = getBasePropertyMap_1.getBasePropertyMap();
|
|
39
|
+
// Type specific mappings
|
|
40
|
+
map.push({ objectKey: "status", modelKey: "data.status" });
|
|
41
|
+
map.push({ objectKey: "catalog", modelKey: "data.catalog" });
|
|
42
|
+
map.push({ objectKey: "permissions", modelKey: "data.permissions" });
|
|
43
|
+
map.push({ objectKey: "contacts", modelKey: "data.contacts" });
|
|
44
|
+
map.push({ objectKey: "timeline", modelKey: "data.timeline" });
|
|
45
|
+
return map;
|
|
46
|
+
}
|
|
47
|
+
exports.getPropertyMap = getPropertyMap;
|
|
48
|
+
//# sourceMappingURL=_internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/projects/_internal.ts"],"names":[],"mappings":";;;AAEA,4CAAmD;AAGnD,6EAA0E;AAG1E;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,OAA6B,EAC7B,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,OAAO,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9E,eAAe;IACf,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,OAAsB,CAAC;AAChC,CAAC;AAnBD,oCAmBC;AAED;;;;;GAKG;AACH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACb,CAAC;AAXD,wCAWC"}
|