@api-client/core 0.11.9 → 0.11.11
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/build/src/modeling/DataEntity.d.ts +1 -1
- package/build/src/modeling/DataEntity.js +1 -1
- package/build/src/modeling/DataEntity.js.map +1 -1
- package/build/src/modeling/DataNamespace.d.ts +10 -2
- package/build/src/modeling/DataNamespace.d.ts.map +1 -1
- package/build/src/modeling/DataNamespace.js +34 -6
- package/build/src/modeling/DataNamespace.js.map +1 -1
- package/build/src/modeling/DomainImpactAnalysis.d.ts +1 -1
- package/build/src/modeling/DomainImpactAnalysis.d.ts.map +1 -1
- package/build/src/modeling/DomainImpactAnalysis.js +5 -3
- package/build/src/modeling/DomainImpactAnalysis.js.map +1 -1
- package/build/src/runtime/store/FilesSdk.d.ts +2 -2
- package/build/src/runtime/store/FilesSdk.d.ts.map +1 -1
- package/build/src/runtime/store/FilesSdk.js.map +1 -1
- package/data/models/example-generator-api.json +22 -22
- package/package.json +1 -1
- package/src/modeling/DataEntity.ts +1 -1
- package/src/modeling/DataNamespace.ts +41 -6
- package/src/modeling/DomainImpactAnalysis.ts +5 -3
- package/src/runtime/store/FilesSdk.ts +2 -6
- package/tests/unit/modeling/impact_analysis.spec.ts +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/FilesSdk.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SdkBase,\n E_RESPONSE_STATUS,\n E_RESPONSE_NO_VALUE,\n E_INVALID_JSON,\n E_RESPONSE_UNKNOWN,\n SdkOptions,\n} from './SdkBase.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { IUser } from '../../models/store/User.js'\nimport { FileBreadcrumb, IFile } from '../../models/store/File.js'\nimport { FolderKind, CertificateFileKind, DataNamespaceKind, ProjectKind } from '../../models/kinds.js'\nimport { SdkError } from './Errors.js'\nimport {\n ContextListResult,\n ContextChangeRecord,\n IBulkOperationResult,\n ContextListOptions,\n} from '../../events/BaseEvents.js'\nimport { IAccessAddOperation, IAccessRemoveOperation, PermissionRole } from '../../models/store/Permission.js'\nimport uuid from '../../lib/uuid.js'\nimport { Folder, type IFolder } from '../../models/Folder.js'\nimport type { AccessPatchInfo, MediaPatchInfo, MediaPatchRevision, PatchInfo } from '../../patch/types.js'\n\nexport interface IMetaCreateOptions {\n /**\n * Optional parent file id.\n * When set it creates a file under this parent.\n */\n parent?: string\n}\n\nexport interface IMediaCreateOptions {\n /**\n * Optional contents mime type.\n * Default to `application/json`.\n */\n mime?: string\n}\n\nexport interface IFileCreateOptions extends IMetaCreateOptions, IMediaCreateOptions {}\n\nexport type ListFileKind =\n | typeof ProjectKind\n | typeof FolderKind\n | typeof DataNamespaceKind\n | typeof CertificateFileKind\n\n/**\n * In the store, the file is represented by the meta and the media.\n *\n * The meta is used to represent the file in the UI when listing files\n * or presenting their metadata (like name, last modified, etc).\n * The media is the actual contents of the file and is only used by application specializing in this file modification.\n */\nexport class FilesSdk extends SdkBase {\n /**\n * Lists files (organizations, projects, etc) in the store.\n *\n * @param organization the parent organization for files.\n * @param kinds Optional list of kinds to limit the file types in the result. organizations are always included.\n * @param options Optional query options.\n * @param request Optional request options.\n */\n async list(\n organization: string,\n kinds?: ListFileKind[],\n options: ContextListOptions = {},\n request: SdkOptions = {}\n ): Promise<ContextListResult<IFile>> {\n const { token } = request\n const opts = { ...options }\n const url = this.sdk.getUrl(RouteBuilder.files(organization))\n if (kinds && kinds.length) {\n opts.kinds = kinds\n }\n this.sdk.appendListOptions(url, opts)\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to list files. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextListResult<IFile>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Creates both the meta and the media for a file.\n *\n * @param meta The file meta\n * @param contents The file contents\n * @param opts Meta and media create options.\n * @param request Optional request details\n * @returns The id of the created file meta.\n */\n async create(\n meta: IFile,\n contents: unknown,\n organization: string,\n opts: IFileCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<ContextChangeRecord<IFile>> {\n const result = await this.createMeta(meta, organization, opts, request)\n await this.createMedia(contents, organization, result.key, opts, request)\n return result\n }\n\n /**\n * Creates a file in the store.\n *\n * @param file The definition of a file that extends the IFile interface.\n * @param opts Optional options when creating a file\n * @param request Optional request options.\n * @returns The key of the creates file.\n */\n async createMeta(\n file: IFile,\n organization: string,\n opts: IMetaCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<ContextChangeRecord<IFile>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.files(organization))\n if (opts.parent) {\n url.searchParams.set('parent', opts.parent)\n }\n const body = JSON.stringify(file)\n const result = await this.sdk.http.post(url.toString(), {\n token,\n body,\n headers: {\n 'content-type': 'application/json',\n },\n })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to create a file. '\n if (result.status !== 201) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextChangeRecord<IFile>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.key) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Creates a file contents (the media) after the file meta was created.\n *\n * @param contents The file contents to upload to the server.\n * @param key The created file meta key.\n * @param opts Contents create options. You can define content's mime type here.\n * @param request Optional request.\n */\n async createMedia(\n contents: unknown,\n organization: string,\n key: string,\n opts: IMediaCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<void> {\n const { token } = request\n const path = RouteBuilder.fileMedia(organization, key)\n const url = this.sdk.getUrl(path)\n const mime = opts.mime || 'application/json'\n let body: string\n if (mime.includes('json')) {\n body = JSON.stringify(contents)\n } else {\n body = String(contents)\n }\n const result = await this.sdk.http.put(url.toString(), {\n token,\n body,\n headers: {\n 'content-type': mime,\n },\n })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to create a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n async createFolder(\n name: string,\n organization: string,\n opts: IMetaCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<IFolder> {\n const file = Folder.fromName(name, organization)\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.files(organization))\n if (opts.parent) {\n url.searchParams.set('parent', opts.parent)\n }\n const body = JSON.stringify(file)\n const result = await this.sdk.http.post(url.toString(), {\n token,\n body,\n headers: {\n 'content-type': 'application/json',\n },\n })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to create a file. '\n if (result.status !== 201) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IFolder\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.key) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Reads a file from the store.\n *\n * @param oid Organization ID.\n * @param fid The file key\n * @param request Optional request options.\n */\n async read(oid: string, fid: string, request: SdkOptions = {}): Promise<IFile> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.file(oid, fid))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IFile\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.kind) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n async readMedia(oid: string, fid: string, request: SdkOptions = {}): Promise<{ media: unknown; version: number }> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileMedia(oid, fid))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read a file media. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: unknown\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n const versionStr = result.headers.get('x-version')\n if (!versionStr) {\n throw new Error(`${E_PREFIX}The file media version was not sent by the server.`)\n }\n const version = Number(versionStr)\n if (isNaN(version)) {\n throw new Error(`${E_PREFIX}The file media version is not a number.`)\n }\n return {\n media: data,\n version,\n }\n }\n\n /**\n * Reads a number of files in a bulk operation.\n *\n * @param keys The list of keys to read. When the user has no access to the file it returns undefined\n * in that place. It also inserts `undefined` in place of a file that doesn't exist.\n * @param request Optional request options.\n */\n async readBulk(organization: string, keys: string[], request: SdkOptions = {}): Promise<IBulkOperationResult<IFile>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.filesBatch(organization))\n const body = JSON.stringify(keys)\n const result = await this.sdk.http.post(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read files in bulk. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IBulkOperationResult<IFile>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Patches a file in the store.\n * @param fid The key of the file to patch\n * @param info The JSON patch to be processed.\n * @param request Optional request options.\n * @returns The updated file object after applying the patch\n */\n async patch(oid: string, fid: string, info: PatchInfo, request: SdkOptions = {}): Promise<IFile> {\n const { token } = request\n const path = RouteBuilder.file(oid, fid)\n const url = this.sdk.getUrl(path)\n const body = JSON.stringify(info)\n const result = await this.sdk.http.patch(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to patch a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IFile\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.kind) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Patches file media.\n * @param oid Organization id\n * @param fid File id\n * @param info THe patch to send\n * @param req Optional request\n * @returns The server response.\n */\n async patchMedia(oid: string, fid: string, info: MediaPatchInfo, req: SdkOptions = {}): Promise<MediaPatchRevision> {\n const { token } = req\n const path = RouteBuilder.fileMedia(oid, fid)\n const url = this.sdk.getUrl(path)\n const body = JSON.stringify(info)\n const result = await this.sdk.http.patch(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to patch a file contents. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: MediaPatchRevision\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n return data\n }\n\n /**\n * Deletes the file in the store.\n *\n * @param fid The key of the file to delete.\n * @param request Optional request options.\n * @returns The key of the created trash entry.\n */\n async delete(oid: string, fid: string, request: SdkOptions = {}): Promise<void> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.file(oid, fid))\n const result = await this.sdk.http.delete(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to trash a file. '\n if (result.status !== 204) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n async deleteBulk(oid: string, fids: string[], request: SdkOptions = {}): Promise<void> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.files(oid))\n const result = await this.sdk.http.delete(url.toString(), { token, body: JSON.stringify({ ids: fids }) })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to trash files. '\n if (result.status !== 204) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n /**\n * Updates the sharing options of the file.\n *\n * @param oid The parent organization key\n * @param fid The file key\n * @param info The patch operation on the file's ACL\n * @param request Optional request options.\n */\n async patchUsers(oid: string, fid: string, info: AccessPatchInfo, request: SdkOptions = {}): Promise<void> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileUsers(oid, fid))\n const body = JSON.stringify(info)\n const result = await this.sdk.http.patch(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to patch the file. '\n if (result.status !== 204) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n /**\n * A shorthand method to add access to the file to a single user.\n *\n * @param organization The parent organization key\n * @param key The file key\n * @param otherUserKey The key of the user that gets access to the organization\n * @param role The user role to grant\n * @param expires Optionally, when the permission expires.\n */\n async addUser(\n organization: string,\n key: string,\n otherUserKey: string,\n role: PermissionRole,\n expires?: number,\n request?: SdkOptions\n ): Promise<void> {\n const op: IAccessAddOperation = {\n op: 'add',\n type: 'user',\n value: role,\n id: otherUserKey,\n }\n if (typeof expires === 'number') {\n op.expirationTime = expires\n }\n const patch: AccessPatchInfo = {\n patch: [op],\n id: uuid(),\n }\n return this.patchUsers(organization, key, patch, request)\n }\n\n /**\n * A shorthand method to remove access to the organization to a single user.\n *\n * @param organization The organization key to share\n * @param key The file key\n * @param otherUserKey The key of the user that gets access to the organization\n */\n async removeUser(organization: string, key: string, otherUserKey: string, request?: SdkOptions): Promise<void> {\n const op: IAccessRemoveOperation = {\n op: 'remove',\n type: 'user',\n id: otherUserKey,\n }\n const patch: AccessPatchInfo = {\n patch: [op],\n id: uuid(),\n }\n return this.patchUsers(organization, key, patch, request)\n }\n\n /**\n * Lists uses having access to the file.\n *\n * @param key The file key\n * @param request Optional request options.\n */\n async listUsers(organization: string, key: string, request: SdkOptions = {}): Promise<ContextListResult<IUser>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileUsers(organization, key))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to list users in the file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextListResult<IUser>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Lists breadcrumbs to the file.\n * @param key The lowest file in the hierarchy\n */\n async breadcrumbs(\n organization: string,\n key: string,\n request: SdkOptions = {}\n ): Promise<ContextListResult<FileBreadcrumb>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileBreadcrumbs(organization, key))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextListResult<FileBreadcrumb>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"FilesSdk.js","sourceRoot":"","sources":["../../../../src/runtime/store/FilesSdk.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SdkBase,\n E_RESPONSE_STATUS,\n E_RESPONSE_NO_VALUE,\n E_INVALID_JSON,\n E_RESPONSE_UNKNOWN,\n SdkOptions,\n} from './SdkBase.js'\nimport { RouteBuilder } from './RouteBuilder.js'\nimport { IUser } from '../../models/store/User.js'\nimport { FileBreadcrumb, IFile } from '../../models/store/File.js'\nimport { FolderKind, CertificateFileKind, ProjectKind, DataFileKind } from '../../models/kinds.js'\nimport { SdkError } from './Errors.js'\nimport {\n ContextListResult,\n ContextChangeRecord,\n IBulkOperationResult,\n ContextListOptions,\n} from '../../events/BaseEvents.js'\nimport { IAccessAddOperation, IAccessRemoveOperation, PermissionRole } from '../../models/store/Permission.js'\nimport uuid from '../../lib/uuid.js'\nimport { Folder, type IFolder } from '../../models/Folder.js'\nimport type { AccessPatchInfo, MediaPatchInfo, MediaPatchRevision, PatchInfo } from '../../patch/types.js'\n\nexport interface IMetaCreateOptions {\n /**\n * Optional parent file id.\n * When set it creates a file under this parent.\n */\n parent?: string\n}\n\nexport interface IMediaCreateOptions {\n /**\n * Optional contents mime type.\n * Default to `application/json`.\n */\n mime?: string\n}\n\nexport interface IFileCreateOptions extends IMetaCreateOptions, IMediaCreateOptions {}\n\nexport type ListFileKind = typeof ProjectKind | typeof FolderKind | typeof DataFileKind | typeof CertificateFileKind\n\n/**\n * In the store, the file is represented by the meta and the media.\n *\n * The meta is used to represent the file in the UI when listing files\n * or presenting their metadata (like name, last modified, etc).\n * The media is the actual contents of the file and is only used by application specializing in this file modification.\n */\nexport class FilesSdk extends SdkBase {\n /**\n * Lists files (organizations, projects, etc) in the store.\n *\n * @param organization the parent organization for files.\n * @param kinds Optional list of kinds to limit the file types in the result. organizations are always included.\n * @param options Optional query options.\n * @param request Optional request options.\n */\n async list(\n organization: string,\n kinds?: ListFileKind[],\n options: ContextListOptions = {},\n request: SdkOptions = {}\n ): Promise<ContextListResult<IFile>> {\n const { token } = request\n const opts = { ...options }\n const url = this.sdk.getUrl(RouteBuilder.files(organization))\n if (kinds && kinds.length) {\n opts.kinds = kinds\n }\n this.sdk.appendListOptions(url, opts)\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to list files. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextListResult<IFile>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Creates both the meta and the media for a file.\n *\n * @param meta The file meta\n * @param contents The file contents\n * @param opts Meta and media create options.\n * @param request Optional request details\n * @returns The id of the created file meta.\n */\n async create(\n meta: IFile,\n contents: unknown,\n organization: string,\n opts: IFileCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<ContextChangeRecord<IFile>> {\n const result = await this.createMeta(meta, organization, opts, request)\n await this.createMedia(contents, organization, result.key, opts, request)\n return result\n }\n\n /**\n * Creates a file in the store.\n *\n * @param file The definition of a file that extends the IFile interface.\n * @param opts Optional options when creating a file\n * @param request Optional request options.\n * @returns The key of the creates file.\n */\n async createMeta(\n file: IFile,\n organization: string,\n opts: IMetaCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<ContextChangeRecord<IFile>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.files(organization))\n if (opts.parent) {\n url.searchParams.set('parent', opts.parent)\n }\n const body = JSON.stringify(file)\n const result = await this.sdk.http.post(url.toString(), {\n token,\n body,\n headers: {\n 'content-type': 'application/json',\n },\n })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to create a file. '\n if (result.status !== 201) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextChangeRecord<IFile>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.key) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Creates a file contents (the media) after the file meta was created.\n *\n * @param contents The file contents to upload to the server.\n * @param key The created file meta key.\n * @param opts Contents create options. You can define content's mime type here.\n * @param request Optional request.\n */\n async createMedia(\n contents: unknown,\n organization: string,\n key: string,\n opts: IMediaCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<void> {\n const { token } = request\n const path = RouteBuilder.fileMedia(organization, key)\n const url = this.sdk.getUrl(path)\n const mime = opts.mime || 'application/json'\n let body: string\n if (mime.includes('json')) {\n body = JSON.stringify(contents)\n } else {\n body = String(contents)\n }\n const result = await this.sdk.http.put(url.toString(), {\n token,\n body,\n headers: {\n 'content-type': mime,\n },\n })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to create a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n async createFolder(\n name: string,\n organization: string,\n opts: IMetaCreateOptions = {},\n request: SdkOptions = {}\n ): Promise<IFolder> {\n const file = Folder.fromName(name, organization)\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.files(organization))\n if (opts.parent) {\n url.searchParams.set('parent', opts.parent)\n }\n const body = JSON.stringify(file)\n const result = await this.sdk.http.post(url.toString(), {\n token,\n body,\n headers: {\n 'content-type': 'application/json',\n },\n })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to create a file. '\n if (result.status !== 201) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IFolder\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.key) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Reads a file from the store.\n *\n * @param oid Organization ID.\n * @param fid The file key\n * @param request Optional request options.\n */\n async read(oid: string, fid: string, request: SdkOptions = {}): Promise<IFile> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.file(oid, fid))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IFile\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.kind) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n async readMedia(oid: string, fid: string, request: SdkOptions = {}): Promise<{ media: unknown; version: number }> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileMedia(oid, fid))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read a file media. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: unknown\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n const versionStr = result.headers.get('x-version')\n if (!versionStr) {\n throw new Error(`${E_PREFIX}The file media version was not sent by the server.`)\n }\n const version = Number(versionStr)\n if (isNaN(version)) {\n throw new Error(`${E_PREFIX}The file media version is not a number.`)\n }\n return {\n media: data,\n version,\n }\n }\n\n /**\n * Reads a number of files in a bulk operation.\n *\n * @param keys The list of keys to read. When the user has no access to the file it returns undefined\n * in that place. It also inserts `undefined` in place of a file that doesn't exist.\n * @param request Optional request options.\n */\n async readBulk(organization: string, keys: string[], request: SdkOptions = {}): Promise<IBulkOperationResult<IFile>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.filesBatch(organization))\n const body = JSON.stringify(keys)\n const result = await this.sdk.http.post(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read files in bulk. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IBulkOperationResult<IFile>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Patches a file in the store.\n * @param fid The key of the file to patch\n * @param info The JSON patch to be processed.\n * @param request Optional request options.\n * @returns The updated file object after applying the patch\n */\n async patch(oid: string, fid: string, info: PatchInfo, request: SdkOptions = {}): Promise<IFile> {\n const { token } = request\n const path = RouteBuilder.file(oid, fid)\n const url = this.sdk.getUrl(path)\n const body = JSON.stringify(info)\n const result = await this.sdk.http.patch(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to patch a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: IFile\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!data.kind) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Patches file media.\n * @param oid Organization id\n * @param fid File id\n * @param info THe patch to send\n * @param req Optional request\n * @returns The server response.\n */\n async patchMedia(oid: string, fid: string, info: MediaPatchInfo, req: SdkOptions = {}): Promise<MediaPatchRevision> {\n const { token } = req\n const path = RouteBuilder.fileMedia(oid, fid)\n const url = this.sdk.getUrl(path)\n const body = JSON.stringify(info)\n const result = await this.sdk.http.patch(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to patch a file contents. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: MediaPatchRevision\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n return data\n }\n\n /**\n * Deletes the file in the store.\n *\n * @param fid The key of the file to delete.\n * @param request Optional request options.\n * @returns The key of the created trash entry.\n */\n async delete(oid: string, fid: string, request: SdkOptions = {}): Promise<void> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.file(oid, fid))\n const result = await this.sdk.http.delete(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to trash a file. '\n if (result.status !== 204) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n async deleteBulk(oid: string, fids: string[], request: SdkOptions = {}): Promise<void> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.files(oid))\n const result = await this.sdk.http.delete(url.toString(), { token, body: JSON.stringify({ ids: fids }) })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to trash files. '\n if (result.status !== 204) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n /**\n * Updates the sharing options of the file.\n *\n * @param oid The parent organization key\n * @param fid The file key\n * @param info The patch operation on the file's ACL\n * @param request Optional request options.\n */\n async patchUsers(oid: string, fid: string, info: AccessPatchInfo, request: SdkOptions = {}): Promise<void> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileUsers(oid, fid))\n const body = JSON.stringify(info)\n const result = await this.sdk.http.patch(url.toString(), { token, body })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to patch the file. '\n if (result.status !== 204) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n }\n\n /**\n * A shorthand method to add access to the file to a single user.\n *\n * @param organization The parent organization key\n * @param key The file key\n * @param otherUserKey The key of the user that gets access to the organization\n * @param role The user role to grant\n * @param expires Optionally, when the permission expires.\n */\n async addUser(\n organization: string,\n key: string,\n otherUserKey: string,\n role: PermissionRole,\n expires?: number,\n request?: SdkOptions\n ): Promise<void> {\n const op: IAccessAddOperation = {\n op: 'add',\n type: 'user',\n value: role,\n id: otherUserKey,\n }\n if (typeof expires === 'number') {\n op.expirationTime = expires\n }\n const patch: AccessPatchInfo = {\n patch: [op],\n id: uuid(),\n }\n return this.patchUsers(organization, key, patch, request)\n }\n\n /**\n * A shorthand method to remove access to the organization to a single user.\n *\n * @param organization The organization key to share\n * @param key The file key\n * @param otherUserKey The key of the user that gets access to the organization\n */\n async removeUser(organization: string, key: string, otherUserKey: string, request?: SdkOptions): Promise<void> {\n const op: IAccessRemoveOperation = {\n op: 'remove',\n type: 'user',\n id: otherUserKey,\n }\n const patch: AccessPatchInfo = {\n patch: [op],\n id: uuid(),\n }\n return this.patchUsers(organization, key, patch, request)\n }\n\n /**\n * Lists uses having access to the file.\n *\n * @param key The file key\n * @param request Optional request options.\n */\n async listUsers(organization: string, key: string, request: SdkOptions = {}): Promise<ContextListResult<IUser>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileUsers(organization, key))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to list users in the file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextListResult<IUser>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n\n /**\n * Lists breadcrumbs to the file.\n * @param key The lowest file in the hierarchy\n */\n async breadcrumbs(\n organization: string,\n key: string,\n request: SdkOptions = {}\n ): Promise<ContextListResult<FileBreadcrumb>> {\n const { token } = request\n const url = this.sdk.getUrl(RouteBuilder.fileBreadcrumbs(organization, key))\n const result = await this.sdk.http.get(url.toString(), { token })\n this.inspectCommonStatusCodes(result)\n const E_PREFIX = 'Unable to read a file. '\n if (result.status !== 200) {\n this.logInvalidResponse(result)\n let e = this.createGenericSdkError(result.body)\n if (!e) {\n e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status)\n e.response = result.body\n }\n throw e\n }\n if (!result.body) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`)\n }\n let data: ContextListResult<FileBreadcrumb>\n try {\n data = JSON.parse(result.body)\n } catch {\n throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`)\n }\n if (!Array.isArray(data.items)) {\n throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)\n }\n return data\n }\n}\n"]}
|
|
@@ -41725,21 +41725,21 @@
|
|
|
41725
41725
|
"@id": "#191"
|
|
41726
41726
|
},
|
|
41727
41727
|
{
|
|
41728
|
-
"@id": "#200"
|
|
41729
|
-
},
|
|
41730
|
-
{
|
|
41731
41728
|
"@id": "#194"
|
|
41732
41729
|
},
|
|
41733
41730
|
{
|
|
41734
41731
|
"@id": "#197"
|
|
41735
41732
|
},
|
|
41736
41733
|
{
|
|
41737
|
-
"@id": "#
|
|
41734
|
+
"@id": "#200"
|
|
41738
41735
|
},
|
|
41739
41736
|
{
|
|
41740
41737
|
"@id": "#203"
|
|
41741
41738
|
},
|
|
41742
41739
|
{
|
|
41740
|
+
"@id": "#206"
|
|
41741
|
+
},
|
|
41742
|
+
{
|
|
41743
41743
|
"@id": "#209"
|
|
41744
41744
|
}
|
|
41745
41745
|
],
|
|
@@ -42470,13 +42470,13 @@
|
|
|
42470
42470
|
"@id": "#219"
|
|
42471
42471
|
},
|
|
42472
42472
|
{
|
|
42473
|
-
"@id": "#
|
|
42473
|
+
"@id": "#216"
|
|
42474
42474
|
},
|
|
42475
42475
|
{
|
|
42476
|
-
"@id": "#
|
|
42476
|
+
"@id": "#210"
|
|
42477
42477
|
},
|
|
42478
42478
|
{
|
|
42479
|
-
"@id": "#
|
|
42479
|
+
"@id": "#213"
|
|
42480
42480
|
},
|
|
42481
42481
|
{
|
|
42482
42482
|
"@id": "#219"
|
|
@@ -43117,7 +43117,7 @@
|
|
|
43117
43117
|
"doc:ExternalDomainElement",
|
|
43118
43118
|
"doc:DomainElement"
|
|
43119
43119
|
],
|
|
43120
|
-
"doc:raw": "
|
|
43120
|
+
"doc:raw": "addressType: 'REGISTERED-OFFICE-ADDRESS'\nstreetName: 'UITBREIDINGSTRAAT'\nhouseNumber: '84'\nhouseNumberAddition: '/1'\npostalCode: '2600'\ncity: 'BERCHEM (ANTWERPEN)'\ncountry: 'Belgium'\ncountryCode: 'BE'\nfullFormatedAddress: \"UITBREIDINGSTRAAT 84 /1, 2600 BERCHEM (ANTWERPEN), BELIUM\"\n",
|
|
43121
43121
|
"core:mediaType": "application/yaml",
|
|
43122
43122
|
"sourcemaps:sources": [
|
|
43123
43123
|
{
|
|
@@ -43138,7 +43138,7 @@
|
|
|
43138
43138
|
"doc:ExternalDomainElement",
|
|
43139
43139
|
"doc:DomainElement"
|
|
43140
43140
|
],
|
|
43141
|
-
"doc:raw": "
|
|
43141
|
+
"doc:raw": "code: '5'\ndescription: 'Limited company'\n",
|
|
43142
43142
|
"core:mediaType": "application/yaml",
|
|
43143
43143
|
"sourcemaps:sources": [
|
|
43144
43144
|
{
|
|
@@ -43159,7 +43159,7 @@
|
|
|
43159
43159
|
"doc:ExternalDomainElement",
|
|
43160
43160
|
"doc:DomainElement"
|
|
43161
43161
|
],
|
|
43162
|
-
"doc:raw": "
|
|
43162
|
+
"doc:raw": "class: '3'\ndescription: '150 - 300'\nnumberOfFte: 5500\nnumberOfEmployees: 5232\n",
|
|
43163
43163
|
"core:mediaType": "application/yaml",
|
|
43164
43164
|
"sourcemaps:sources": [
|
|
43165
43165
|
{
|
|
@@ -43180,7 +43180,7 @@
|
|
|
43180
43180
|
"doc:ExternalDomainElement",
|
|
43181
43181
|
"doc:DomainElement"
|
|
43182
43182
|
],
|
|
43183
|
-
"doc:raw": "code: '
|
|
43183
|
+
"doc:raw": "code: 'J'\ndescription: 'Information and communication'\n",
|
|
43184
43184
|
"core:mediaType": "application/yaml",
|
|
43185
43185
|
"sourcemaps:sources": [
|
|
43186
43186
|
{
|
|
@@ -43201,7 +43201,7 @@
|
|
|
43201
43201
|
"doc:ExternalDomainElement",
|
|
43202
43202
|
"doc:DomainElement"
|
|
43203
43203
|
],
|
|
43204
|
-
"doc:raw": "code: '
|
|
43204
|
+
"doc:raw": "code: '7487'\ndescription: 'Financial and insurance activities'\ntype: \"PRIMARY\"\nclassificationCode: 'BE_NACEBEL2008'\nactivityGroupCode: 'ABCDE'\n",
|
|
43205
43205
|
"core:mediaType": "application/yaml",
|
|
43206
43206
|
"sourcemaps:sources": [
|
|
43207
43207
|
{
|
|
@@ -43892,7 +43892,7 @@
|
|
|
43892
43892
|
"doc:ExternalDomainElement",
|
|
43893
43893
|
"doc:DomainElement"
|
|
43894
43894
|
],
|
|
43895
|
-
"doc:raw": "type: 'GENERAL'\ncountryDialCode : '+32'\nareaCode : '
|
|
43895
|
+
"doc:raw": "type: 'GENERAL'\ncountryDialCode : '+32'\nareaCode : '21'\nsubscriberNumber: '12.87.00'\nformatted: '+32-(0)21 302099'\n",
|
|
43896
43896
|
"core:mediaType": "application/yaml",
|
|
43897
43897
|
"sourcemaps:sources": [
|
|
43898
43898
|
{
|
|
@@ -43913,7 +43913,7 @@
|
|
|
43913
43913
|
"doc:ExternalDomainElement",
|
|
43914
43914
|
"doc:DomainElement"
|
|
43915
43915
|
],
|
|
43916
|
-
"doc:raw": "type: 'GENERAL'\
|
|
43916
|
+
"doc:raw": "-\n type: 'GENERAL'\n value: 'info@company.be'\n-\n type: 'IT_DEPT'\n value: 'it-service@company.be'\n",
|
|
43917
43917
|
"core:mediaType": "application/yaml",
|
|
43918
43918
|
"sourcemaps:sources": [
|
|
43919
43919
|
{
|
|
@@ -43934,7 +43934,7 @@
|
|
|
43934
43934
|
"doc:ExternalDomainElement",
|
|
43935
43935
|
"doc:DomainElement"
|
|
43936
43936
|
],
|
|
43937
|
-
"doc:raw": "
|
|
43937
|
+
"doc:raw": "type: 'GENERAL'\ncountryDialCode : '+32'\nareaCode : '22'\nsubscriberNumber: '12.87.00'\nformatted: '+32-(0)22 000000'\n",
|
|
43938
43938
|
"core:mediaType": "application/yaml",
|
|
43939
43939
|
"sourcemaps:sources": [
|
|
43940
43940
|
{
|
|
@@ -44421,27 +44421,27 @@
|
|
|
44421
44421
|
{
|
|
44422
44422
|
"@id": "#196/source-map/lexical/element_0",
|
|
44423
44423
|
"sourcemaps:element": "amf://id#196",
|
|
44424
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44424
|
+
"sourcemaps:value": "[(1,0)-(10,0)]"
|
|
44425
44425
|
},
|
|
44426
44426
|
{
|
|
44427
44427
|
"@id": "#199/source-map/lexical/element_0",
|
|
44428
44428
|
"sourcemaps:element": "amf://id#199",
|
|
44429
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44429
|
+
"sourcemaps:value": "[(1,0)-(3,0)]"
|
|
44430
44430
|
},
|
|
44431
44431
|
{
|
|
44432
44432
|
"@id": "#202/source-map/lexical/element_0",
|
|
44433
44433
|
"sourcemaps:element": "amf://id#202",
|
|
44434
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44434
|
+
"sourcemaps:value": "[(1,0)-(5,0)]"
|
|
44435
44435
|
},
|
|
44436
44436
|
{
|
|
44437
44437
|
"@id": "#205/source-map/lexical/element_0",
|
|
44438
44438
|
"sourcemaps:element": "amf://id#205",
|
|
44439
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44439
|
+
"sourcemaps:value": "[(1,0)-(3,0)]"
|
|
44440
44440
|
},
|
|
44441
44441
|
{
|
|
44442
44442
|
"@id": "#208/source-map/lexical/element_0",
|
|
44443
44443
|
"sourcemaps:element": "amf://id#208",
|
|
44444
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44444
|
+
"sourcemaps:value": "[(1,0)-(6,0)]"
|
|
44445
44445
|
},
|
|
44446
44446
|
{
|
|
44447
44447
|
"@id": "#223/source-map/lexical/element_0",
|
|
@@ -44781,12 +44781,12 @@
|
|
|
44781
44781
|
{
|
|
44782
44782
|
"@id": "#215/source-map/lexical/element_0",
|
|
44783
44783
|
"sourcemaps:element": "amf://id#215",
|
|
44784
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44784
|
+
"sourcemaps:value": "[(1,0)-(7,0)]"
|
|
44785
44785
|
},
|
|
44786
44786
|
{
|
|
44787
44787
|
"@id": "#218/source-map/lexical/element_0",
|
|
44788
44788
|
"sourcemaps:element": "amf://id#218",
|
|
44789
|
-
"sourcemaps:value": "[(1,0)-(
|
|
44789
|
+
"sourcemaps:value": "[(1,0)-(6,0)]"
|
|
44790
44790
|
},
|
|
44791
44791
|
{
|
|
44792
44792
|
"@id": "#221/source-map/lexical/element_0",
|
package/package.json
CHANGED
|
@@ -535,7 +535,7 @@ export class DataEntity {
|
|
|
535
535
|
/**
|
|
536
536
|
* Reads the list of parents for the entity, inside the root namespace. The computed list contains the list of all
|
|
537
537
|
* parents in the inheritance chain in no particular order.
|
|
538
|
-
* @param recursive Whether to include parent parents as well.
|
|
538
|
+
* @param recursive Whether to include parent's parents as well.
|
|
539
539
|
*/
|
|
540
540
|
getComputedParents(recursive?: boolean): DataEntity[] {
|
|
541
541
|
const { entities } = this.root.definitions
|
|
@@ -4,7 +4,13 @@ import { IDataAssociation, DataAssociation, AssociationTarget } from './DataAsso
|
|
|
4
4
|
import { IDataEntity, DataEntity } from './DataEntity.js'
|
|
5
5
|
import { IDataModel, DataModel } from './DataModel.js'
|
|
6
6
|
import { IDataProperty, DataProperty } from './DataProperty.js'
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
DataNamespaceKind,
|
|
9
|
+
DataModelKind,
|
|
10
|
+
DataEntityKind,
|
|
11
|
+
DataPropertyKind,
|
|
12
|
+
DataAssociationKind,
|
|
13
|
+
} from '../models/kinds.js'
|
|
8
14
|
import v4 from '../lib/uuid.js'
|
|
9
15
|
import type { DataDomainRemoveOptions } from './types.js'
|
|
10
16
|
|
|
@@ -475,7 +481,7 @@ export class DataNamespace {
|
|
|
475
481
|
addNamespace(init: string | IDataNamespace | DataNamespace, parent?: string): DataNamespace {
|
|
476
482
|
let root: DataNamespace
|
|
477
483
|
if (parent) {
|
|
478
|
-
const rootCandidate = this.
|
|
484
|
+
const rootCandidate = this.findNamespace(parent)
|
|
479
485
|
if (!rootCandidate) {
|
|
480
486
|
throw new Error(`Unable to find the parent namespace ${parent}`)
|
|
481
487
|
}
|
|
@@ -596,7 +602,7 @@ export class DataNamespace {
|
|
|
596
602
|
* Finds a namespace and calls the `remove()` on it.
|
|
597
603
|
* @param key The key of the namespace to find.
|
|
598
604
|
*/
|
|
599
|
-
removeNamespace(key: string): void {
|
|
605
|
+
removeNamespace(key: string, opts?: DataDomainRemoveOptions): void {
|
|
600
606
|
const root = this.root || this
|
|
601
607
|
if (root.key === key) {
|
|
602
608
|
throw new Error(`Unable to remove the root namespace this way.`)
|
|
@@ -604,7 +610,7 @@ export class DataNamespace {
|
|
|
604
610
|
const { definitions } = root
|
|
605
611
|
const ns = definitions.namespaces.find((i) => i.key === key)
|
|
606
612
|
if (ns) {
|
|
607
|
-
ns.remove()
|
|
613
|
+
ns.remove(opts)
|
|
608
614
|
}
|
|
609
615
|
}
|
|
610
616
|
|
|
@@ -651,15 +657,44 @@ export class DataNamespace {
|
|
|
651
657
|
return definitions.models.find((i) => i.key === key)
|
|
652
658
|
}
|
|
653
659
|
|
|
660
|
+
/**
|
|
661
|
+
* A convenience function to remove an object from the namespace.
|
|
662
|
+
* @param key The key of the object to remove.
|
|
663
|
+
* @param kind The kind of the object to remove.
|
|
664
|
+
* @param opts The options for the removal.
|
|
665
|
+
* @throws Error when the kind is not known.
|
|
666
|
+
*/
|
|
667
|
+
removeObject(key: string, kind: string, opts?: DataDomainRemoveOptions): void {
|
|
668
|
+
switch (kind) {
|
|
669
|
+
case DataNamespaceKind:
|
|
670
|
+
this.findNamespace(key)?.remove(opts)
|
|
671
|
+
break
|
|
672
|
+
case DataModelKind:
|
|
673
|
+
this.findDataModel(key)?.remove(opts)
|
|
674
|
+
break
|
|
675
|
+
case DataEntityKind:
|
|
676
|
+
this.findEntity(key)?.remove(opts)
|
|
677
|
+
break
|
|
678
|
+
case DataPropertyKind:
|
|
679
|
+
this.findProperty(key)?.remove()
|
|
680
|
+
break
|
|
681
|
+
case DataAssociationKind:
|
|
682
|
+
this.findAssociation(key)?.remove()
|
|
683
|
+
break
|
|
684
|
+
default:
|
|
685
|
+
throw new Error(`Unknown kind ${kind} for the object ${key}.`)
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
|
|
654
689
|
/**
|
|
655
690
|
* Finds a data model and calls the `remove()` on it.
|
|
656
691
|
* @param key The key of the data model to find.
|
|
657
692
|
*/
|
|
658
|
-
removeDataModel(key: string): void {
|
|
693
|
+
removeDataModel(key: string, opts?: DataDomainRemoveOptions): void {
|
|
659
694
|
const { definitions } = this.root || this
|
|
660
695
|
const model = definitions.models.find((i) => i.key === key)
|
|
661
696
|
if (model) {
|
|
662
|
-
model.remove()
|
|
697
|
+
model.remove(opts)
|
|
663
698
|
}
|
|
664
699
|
}
|
|
665
700
|
|
|
@@ -195,7 +195,7 @@ export interface DomainImpactItem {
|
|
|
195
195
|
* "kind": "DataEntityKind",
|
|
196
196
|
* "type": "delete",
|
|
197
197
|
* "impact": "The SpecialProduct entity will become an orphan because it is a child of Product.",
|
|
198
|
-
* "resolution": "The Product will be removed as the parent
|
|
198
|
+
* "resolution": "The "Product" entity will be removed as the parent of the "SpecialProduct" entity.",
|
|
199
199
|
* "blocking": true,
|
|
200
200
|
* "relationship": "child"
|
|
201
201
|
* },
|
|
@@ -415,12 +415,14 @@ export class DomainImpactAnalysis {
|
|
|
415
415
|
})
|
|
416
416
|
if (children.length) {
|
|
417
417
|
children.forEach((child) => {
|
|
418
|
+
const pLabel = entity.info.renderLabel
|
|
419
|
+
const cLabel = child.info.renderLabel
|
|
418
420
|
result.push({
|
|
419
421
|
key: child.key,
|
|
420
422
|
kind: child.kind,
|
|
421
423
|
type: 'delete',
|
|
422
|
-
impact: `The ${
|
|
423
|
-
resolution: `The ${
|
|
424
|
+
impact: `The "${cLabel}" ${this.kindToLabel(DataEntityKind)} will become an orphan because it is a child of the "${pLabel}" entity.`,
|
|
425
|
+
resolution: `The "${pLabel}" entity will be removed as the parent of the "${cLabel}" entity.`,
|
|
424
426
|
blocking: true,
|
|
425
427
|
relationship: 'child',
|
|
426
428
|
})
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
import { RouteBuilder } from './RouteBuilder.js'
|
|
10
10
|
import { IUser } from '../../models/store/User.js'
|
|
11
11
|
import { FileBreadcrumb, IFile } from '../../models/store/File.js'
|
|
12
|
-
import { FolderKind, CertificateFileKind,
|
|
12
|
+
import { FolderKind, CertificateFileKind, ProjectKind, DataFileKind } from '../../models/kinds.js'
|
|
13
13
|
import { SdkError } from './Errors.js'
|
|
14
14
|
import {
|
|
15
15
|
ContextListResult,
|
|
@@ -40,11 +40,7 @@ export interface IMediaCreateOptions {
|
|
|
40
40
|
|
|
41
41
|
export interface IFileCreateOptions extends IMetaCreateOptions, IMediaCreateOptions {}
|
|
42
42
|
|
|
43
|
-
export type ListFileKind =
|
|
44
|
-
| typeof ProjectKind
|
|
45
|
-
| typeof FolderKind
|
|
46
|
-
| typeof DataNamespaceKind
|
|
47
|
-
| typeof CertificateFileKind
|
|
43
|
+
export type ListFileKind = typeof ProjectKind | typeof FolderKind | typeof DataFileKind | typeof CertificateFileKind
|
|
48
44
|
|
|
49
45
|
/**
|
|
50
46
|
* In the store, the file is represented by the meta and the media.
|
|
@@ -114,8 +114,8 @@ test.group('DomainImpactAnalysis', (group) => {
|
|
|
114
114
|
assert.equal(e4r.key, e4.key)
|
|
115
115
|
assert.equal(e4r.kind, DataEntityKind)
|
|
116
116
|
assert.equal(e4r.type, 'delete')
|
|
117
|
-
assert.equal(e4r.impact, `The e4 entity will become an orphan because it is a child of e3.`)
|
|
118
|
-
assert.equal(e4r.resolution, `The e3 will be removed as the parent
|
|
117
|
+
assert.equal(e4r.impact, `The "e4" entity will become an orphan because it is a child of the "e3" entity.`)
|
|
118
|
+
assert.equal(e4r.resolution, `The "e3" entity will be removed as the parent of the "e4" entity.`)
|
|
119
119
|
assert.isTrue(e4r.blocking)
|
|
120
120
|
assert.equal(e4r.relationship, 'child')
|
|
121
121
|
|
|
@@ -189,8 +189,8 @@ test.group('DomainImpactAnalysis', (group) => {
|
|
|
189
189
|
assert.equal(e3r.key, e3.key)
|
|
190
190
|
assert.equal(e3r.kind, DataEntityKind)
|
|
191
191
|
assert.equal(e3r.type, 'delete')
|
|
192
|
-
assert.equal(e3r.impact, `The e3 entity will become an orphan because it is a child of e1.`)
|
|
193
|
-
assert.equal(e3r.resolution, `The e1 will be removed as the parent
|
|
192
|
+
assert.equal(e3r.impact, `The "e3" entity will become an orphan because it is a child of the "e1" entity.`)
|
|
193
|
+
assert.equal(e3r.resolution, `The "e1" entity will be removed as the parent of the "e3" entity.`)
|
|
194
194
|
assert.isTrue(e3r.blocking)
|
|
195
195
|
assert.equal(e3r.relationship, 'child')
|
|
196
196
|
})
|
|
@@ -234,8 +234,8 @@ test.group('DomainImpactAnalysis', (group) => {
|
|
|
234
234
|
assert.equal(e3r.key, e3.key)
|
|
235
235
|
assert.equal(e3r.kind, DataEntityKind)
|
|
236
236
|
assert.equal(e3r.type, 'delete')
|
|
237
|
-
assert.equal(e3r.impact, `The e3 entity will become an orphan because it is a child of e1.`)
|
|
238
|
-
assert.equal(e3r.resolution, `The e1 will be removed as the parent
|
|
237
|
+
assert.equal(e3r.impact, `The "e3" entity will become an orphan because it is a child of the "e1" entity.`)
|
|
238
|
+
assert.equal(e3r.resolution, `The "e1" entity will be removed as the parent of the "e3" entity.`)
|
|
239
239
|
assert.isTrue(e3r.blocking)
|
|
240
240
|
assert.equal(e3r.relationship, 'child')
|
|
241
241
|
})
|
|
@@ -304,8 +304,8 @@ test.group('DomainImpactAnalysis', (group) => {
|
|
|
304
304
|
assert.equal(e2r.key, e2.key)
|
|
305
305
|
assert.equal(e2r.kind, DataEntityKind)
|
|
306
306
|
assert.equal(e2r.type, 'delete')
|
|
307
|
-
assert.equal(e2r.impact, `The e2 entity will become an orphan because it is a child of e3.`)
|
|
308
|
-
assert.equal(e2r.resolution, `The e3 will be removed as the parent
|
|
307
|
+
assert.equal(e2r.impact, `The "e2" entity will become an orphan because it is a child of the "e3" entity.`)
|
|
308
|
+
assert.equal(e2r.resolution, `The "e3" entity will be removed as the parent of the "e2" entity.`)
|
|
309
309
|
assert.isTrue(e2r.blocking)
|
|
310
310
|
assert.equal(e2r.relationship, 'child')
|
|
311
311
|
|
|
@@ -313,8 +313,8 @@ test.group('DomainImpactAnalysis', (group) => {
|
|
|
313
313
|
assert.equal(e4r.key, e4.key)
|
|
314
314
|
assert.equal(e4r.kind, DataEntityKind)
|
|
315
315
|
assert.equal(e4r.type, 'delete')
|
|
316
|
-
assert.equal(e4r.impact, `The e4 entity will become an orphan because it is a child of e3.`)
|
|
317
|
-
assert.equal(e4r.resolution, `The e3 will be removed as the parent
|
|
316
|
+
assert.equal(e4r.impact, `The "e4" entity will become an orphan because it is a child of the "e3" entity.`)
|
|
317
|
+
assert.equal(e4r.resolution, `The "e3" entity will be removed as the parent of the "e4" entity.`)
|
|
318
318
|
assert.isTrue(e4r.blocking)
|
|
319
319
|
assert.equal(e4r.relationship, 'child')
|
|
320
320
|
})
|
|
@@ -365,8 +365,8 @@ test.group('DomainImpactAnalysis', (group) => {
|
|
|
365
365
|
assert.equal(e3r.key, e3.key)
|
|
366
366
|
assert.equal(e3r.kind, DataEntityKind)
|
|
367
367
|
assert.equal(e3r.type, 'delete')
|
|
368
|
-
assert.equal(e3r.impact, `The e3 entity will become an orphan because it is a child of e1.`)
|
|
369
|
-
assert.equal(e3r.resolution, `The e1 will be removed as the parent
|
|
368
|
+
assert.equal(e3r.impact, `The "e3" entity will become an orphan because it is a child of the "e1" entity.`)
|
|
369
|
+
assert.equal(e3r.resolution, `The "e1" entity will be removed as the parent of the "e3" entity.`)
|
|
370
370
|
assert.isTrue(e3r.blocking)
|
|
371
371
|
assert.equal(e3r.relationship, 'child')
|
|
372
372
|
})
|