@vertigis/arcgis-rest-client
Advanced tools
Comparing version 18.1.1 to 18.1.2
@@ -16,3 +16,3 @@ { | ||
}, | ||
"version": "18.1.1", | ||
"version": "18.1.2", | ||
"files": [ | ||
@@ -19,0 +19,0 @@ "**/*.js", |
@@ -1,1 +0,1 @@ | ||
import{fetchItem,fetchItemData,updateItem}from".";import request from"./request";import{getPortalUrl,getPortalUserContentUrl}from"./utils";import{getUser}from"../auth";export async function addDocument(document,params,principal){const addItemParams={description:document.description??"",extent:params.extent?.join(", "),properties:document.properties&&JSON.stringify(document.properties),tags:document.tags?.join(", ")??"",title:document.title??"",type:params.type,typeKeywords:params.typeKeywords.join(", ")??"",url:params.url??""};params.thumbnailUrl?addItemParams.thumbnailurl=params.thumbnailUrl??"":params.thumbnail&&(addItemParams.thumbnail=params.thumbnail),document.content instanceof Blob||"function"==typeof Buffer&&document.content instanceof Buffer?addItemParams.file=document.content:addItemParams.text=document.content;const{id:id}=await addItem(addItemParams,principal,params.ownerFolder);return id}export async function addResources(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/addResources`;if(params.text&&!params.fileName)throw new Error("Can't use the text attribute when fileName is not specified.");await request({url:url,principal:principal,params:params,usePost:!0})}export async function protectDocument(id,principal,protect,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/${protect?"protect":"unprotect"}`;return request({url:url,principal:principal,usePost:!0})}export async function shareDocument(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/share`;return request({url:url,params:params,principal:principal,usePost:!0})}export async function deleteDocument(id,principal,ownerFolder){await deleteItem(id,principal,ownerFolder)}export async function removeResources(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/removeResources`;await request({url:url,principal:principal,params:params,usePost:!0})}export async function updateResources(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/updateResources`;if(params.text&&!params.fileName)throw new Error("Can't use the text attribute when fileName is not specified.");await request({url:url,principal:principal,params:params,usePost:!0})}export async function fetchDocument(id,principal){return portalItemToDocument(await fetchItem(id,principal))}export function fetchDocumentContent(id,principal){return fetchItemData(id,principal)}export async function updateDocument(document,principal,params={}){const updateParams={clearEmptyFields:!0,description:document.description??"",extent:params.extent?.join(", "),properties:document.properties&&JSON.stringify(document.properties),thumbnail:params.thumbnail,title:document.title??"",url:params.url};document.tags&&(updateParams.tags=document.tags.join(", ")),document.typeKeywords&&(updateParams.typeKeywords=document.typeKeywords.join(", ")),document.content instanceof Blob||"function"==typeof Buffer&&document.content instanceof Buffer?updateParams.file=document.content:updateParams.text=document.content,await updateItem(document.id,updateParams,principal,document.owner,document.ownerFolder)}export async function queryDocuments(params,principal){const portalQueryParams=buildPortalQueryParams(params,principal),queryResult=await queryItems(portalQueryParams,principal),items=queryResult.results||[];return{documents:items.map((item=>portalItemToDocument(item))),items:items,nextStart:queryResult.nextStart,total:queryResult.total}}function addItem(params,principal,ownerFolder){const url=`${getPortalUserContentUrl(principal,void 0,ownerFolder)}/addItem`;return request({url:url,principal:principal,params:params,usePost:!0})}function deleteItem(id,principal,ownerFolder){const url=`${getPortalUserContentUrl(principal,void 0,ownerFolder)}/items/${id}/delete`;return request({url:url,principal:principal,usePost:!0})}function queryItems(params,principal){const userOrgId=principal?.self?.user.orgId??void 0,useDefaultRestEndpoint=isQueryingDifferentOrg(params.q,userOrgId),restUrl=getPortalUrl(useDefaultRestEndpoint?{}:principal);return request({url:`${restUrl}/search`,principal:principal,params:params})}function buildPortalQueryParams(params,principal){const items=[],user=getUser(principal);params.q&&items.push(params.q),params.ids&&items.push(`id:(${params.ids.join(" OR ")})`),params.group&&items.push(`group:${params.group}`),params.orgId&&items.push(`orgid:${params.orgId}`),params.owner&&items.push(`owner:${params.owner}`),params.ownedByMe&&items.push(`owner:${user?.username}`),params.sharedWithMe&&(items.push(`-owner:${user?.username}`),user?.orgId?items.push(`(access:shared OR access:org OR (access:public AND orgid:${user.orgId}))`):items.push("(access:shared)")),params.restrictToMyOrg&&user?.orgId&&items.push(`orgid:${user.orgId}`),params.title&&items.push(`title:${params.title}`),params.tags?.length&&items.push(`tags:(${params.tags.map((tag=>`"${tag}"`)).join(" AND ")})`),params.types?.length&&items.push(`type:(${params.types.map((type=>`"${type}"`)).join(" OR ")})`),params.typeKeywords?.length&&items.push(`typekeywords:(${params.typeKeywords.map((keyword=>`"${keyword}"`)).join(" AND ")})`),params.ownerFolder&&items.push(`ownerfolder:${params.ownerFolder}`);const result={q:`(${items.join(" ")})`,num:params.limit??10,start:params.start??0};return params.sortField&&(result.sortField=params.sortField),params.sortOrder&&(result.sortOrder=params.sortOrder),result}function portalItemToDocument(item){return{access:item.access,canEdit:["admin","update"].includes(item.itemControl),created:item.created,description:item.description,id:item.id,isOrgItem:item.isOrgItem,modified:item.modified,owner:item.owner,ownerFolder:item.ownerFolder,properties:item.properties,snippet:item.snippet,tags:item.tags,title:item.title,thumbnail:item.thumbnail,type:item.type,typeKeywords:item.typeKeywords,url:item.url}}function isQueryingDifferentOrg(params,userOrg){const items=params.replace(/\(/g,"").replace(/\)/g,"").trim().split(" ");for(const item of items)if(item.startsWith("orgid:"))return!userOrg||item!==`orgid:${userOrg}`;return!1} | ||
import{fetchItem,fetchItemData,updateItem}from".";import request from"./request";import{getPortalUrl,getPortalUserContentUrl}from"./utils";import{getUser}from"../auth";export async function addDocument(document,params,principal){const addItemParams={description:document.description??"",extent:params.extent?.join(", "),properties:document.properties&&JSON.stringify(document.properties),tags:document.tags?.join(", ")??"",title:document.title??"",type:params.type,typeKeywords:params.typeKeywords.join(", ")??"",url:params.url??""};params.thumbnailUrl?addItemParams.thumbnailurl=params.thumbnailUrl??"":params.thumbnail&&(addItemParams.thumbnail=params.thumbnail),document.content instanceof Blob||"function"==typeof Buffer&&document.content instanceof Buffer?addItemParams.file=document.content:addItemParams.text=document.content;const{id:id}=await addItem(addItemParams,principal,params.ownerFolder);return id}export async function addResources(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/addResources`;if(params.text&&!params.fileName)throw new Error("Can't use the text attribute when fileName is not specified.");params.file&¶ms.fileName&&!params.file.name&&(params.file.name=params.fileName),await request({url:url,principal:principal,params:params,usePost:!0})}export async function protectDocument(id,principal,protect,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/${protect?"protect":"unprotect"}`;return request({url:url,principal:principal,usePost:!0})}export async function shareDocument(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/share`;return request({url:url,params:params,principal:principal,usePost:!0})}export async function deleteDocument(id,principal,ownerFolder){await deleteItem(id,principal,ownerFolder)}export async function removeResources(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/removeResources`;await request({url:url,principal:principal,params:params,usePost:!0})}export async function updateResources(id,params,principal,ownerFolder,ownerUsername){const url=`${getPortalUserContentUrl(principal,ownerUsername,ownerFolder)}/items/${id}/updateResources`;if(params.text&&!params.fileName)throw new Error("Can't use the text attribute when fileName is not specified.");await request({url:url,principal:principal,params:params,usePost:!0})}export async function fetchDocument(id,principal){return portalItemToDocument(await fetchItem(id,principal))}export function fetchDocumentContent(id,principal){return fetchItemData(id,principal)}export async function updateDocument(document,principal,params={}){const updateParams={clearEmptyFields:!0,description:document.description??"",extent:params.extent?.join(", "),properties:document.properties&&JSON.stringify(document.properties),thumbnail:params.thumbnail,title:document.title??"",url:params.url};document.tags&&(updateParams.tags=document.tags.join(", ")),document.typeKeywords&&(updateParams.typeKeywords=document.typeKeywords.join(", ")),document.content instanceof Blob||"function"==typeof Buffer&&document.content instanceof Buffer?updateParams.file=document.content:updateParams.text=document.content,await updateItem(document.id,updateParams,principal,document.owner,document.ownerFolder)}export async function queryDocuments(params,principal){const portalQueryParams=buildPortalQueryParams(params,principal),queryResult=await queryItems(portalQueryParams,principal),items=queryResult.results||[];return{documents:items.map((item=>portalItemToDocument(item))),items:items,nextStart:queryResult.nextStart,total:queryResult.total}}function addItem(params,principal,ownerFolder){const url=`${getPortalUserContentUrl(principal,void 0,ownerFolder)}/addItem`;return request({url:url,principal:principal,params:params,usePost:!0})}function deleteItem(id,principal,ownerFolder){const url=`${getPortalUserContentUrl(principal,void 0,ownerFolder)}/items/${id}/delete`;return request({url:url,principal:principal,usePost:!0})}function queryItems(params,principal){const userOrgId=principal?.self?.user.orgId??void 0,useDefaultRestEndpoint=isQueryingDifferentOrg(params.q,userOrgId),restUrl=getPortalUrl(useDefaultRestEndpoint?{}:principal);return request({url:`${restUrl}/search`,principal:principal,params:params})}function buildPortalQueryParams(params,principal){const items=[],user=getUser(principal);params.q&&items.push(params.q),params.ids&&items.push(`id:(${params.ids.join(" OR ")})`),params.group&&items.push(`group:${params.group}`),params.orgId&&items.push(`orgid:${params.orgId}`),params.owner&&items.push(`owner:${params.owner}`),params.ownedByMe&&items.push(`owner:${user?.username}`),params.sharedWithMe&&(items.push(`-owner:${user?.username}`),user?.orgId?items.push(`(access:shared OR access:org OR (access:public AND orgid:${user.orgId}))`):items.push("(access:shared)")),params.restrictToMyOrg&&user?.orgId&&items.push(`orgid:${user.orgId}`),params.title&&items.push(`title:${params.title}`),params.tags?.length&&items.push(`tags:(${params.tags.map((tag=>`"${tag}"`)).join(" AND ")})`),params.types?.length&&items.push(`type:(${params.types.map((type=>`"${type}"`)).join(" OR ")})`),params.typeKeywords?.length&&items.push(`typekeywords:(${params.typeKeywords.map((keyword=>`"${keyword}"`)).join(" AND ")})`),params.ownerFolder&&items.push(`ownerfolder:${params.ownerFolder}`);const result={q:`(${items.join(" ")})`,num:params.limit??10,start:params.start??0};return params.sortField&&(result.sortField=params.sortField),params.sortOrder&&(result.sortOrder=params.sortOrder),result}function portalItemToDocument(item){return{access:item.access,canEdit:["admin","update"].includes(item.itemControl),created:item.created,description:item.description,id:item.id,isOrgItem:item.isOrgItem,modified:item.modified,owner:item.owner,ownerFolder:item.ownerFolder,properties:item.properties,snippet:item.snippet,tags:item.tags,title:item.title,thumbnail:item.thumbnail,type:item.type,typeKeywords:item.typeKeywords,url:item.url}}function isQueryingDifferentOrg(params,userOrg){const items=params.replace(/\(/g,"").replace(/\)/g,"").trim().split(" ");for(const item of items)if(item.startsWith("orgid:"))return!userOrg||item!==`orgid:${userOrg}`;return!1} |
68852