Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

Commit

Permalink
[ACS-5839] improved API typings (#1635)
Browse files Browse the repository at this point in the history
* improved UploadApi typings

* update docs

* remove unused params

* aspects api typings

* types api typings

* fix the bundling and treeshaking issue

* cleanup ClassesApi

* cleanup GroupsApi (partially)

* cleanup api classes

* restore delete methods for now
  • Loading branch information
DenysVuika committed Aug 22, 2023
1 parent 8f9dc5e commit 241a47e
Show file tree
Hide file tree
Showing 18 changed files with 267 additions and 539 deletions.
44 changes: 0 additions & 44 deletions src/api/activiti-rest-api/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,90 +16,46 @@
*/

export * from './about.api';
import { AboutApi } from './about.api';
export * from './accountIntegration.api';
import { AccountIntegrationApi } from './accountIntegration.api';
export * from './adminEndpoints.api';
import { AdminEndpointsApi } from './adminEndpoints.api';
export * from './adminGroups.api';
import { AdminGroupsApi } from './adminGroups.api';
export * from './adminTenants.api';
import { AdminTenantsApi } from './adminTenants.api';
export * from './adminUsers.api';
import { AdminUsersApi } from './adminUsers.api';
export * from './appDefinitions.api';
import { AppDefinitionsApi } from './appDefinitions.api';
export * from './checklists.api';
import { ChecklistsApi } from './checklists.api';
export * from './comments.api';
import { ActivitiCommentsApi } from './comments.api';
import { ContentApi } from './content.api';
import { ContentApi as ActivitiContentApi} from './content.api';
export { ActivitiContentApi };
export * from './dataSources.api';
import { DataSourcesApi } from './dataSources.api';
export * from './decisionAudits.api';
import { DecisionAuditsApi } from './decisionAudits.api';
export * from './decisionTables.api';
import { DecisionTablesApi } from './decisionTables.api';
export * from './endpoints.api';
import { EndpointsApi } from './endpoints.api';
export * from './formModels.api';
import { FormModelsApi } from './formModels.api';
export * from './groups.api';
import { ActivitiGroupsApi } from './groups.api';
export * from './iDMSync.api';
import { IDMSyncApi } from './iDMSync.api';
export * from './integrationAlfrescoCloud.api';
import { IntegrationAlfrescoCloudApi } from './integrationAlfrescoCloud.api';
export * from './integrationAlfrescoOnPremise.api';
import { IntegrationAlfrescoOnPremiseApi } from './integrationAlfrescoOnPremise.api';
export * from './integrationBox.api';
import { IntegrationBoxApi } from './integrationBox.api';
export * from './integrationDrive.api';
import { IntegrationDriveApi } from './integrationDrive.api';
export * from './models.api';
import { ModelsApi } from './models.api';
export * from './modelsBpmn.api';
import { ModelsBpmnApi } from './modelsBpmn.api';
export * from './modelsHistory.api';
import { ModelsHistoryApi } from './modelsHistory.api';
export * from './processDefinitions.api';
import { ProcessDefinitionsApi } from './processDefinitions.api';
export * from './processInstances.api';
import { ProcessInstancesApi } from './processInstances.api';
export * from './processInstanceVariables.api';
import { ProcessInstanceVariablesApi } from './processInstanceVariables.api';
export * from './processScopes.api';
import { ProcessScopesApi } from './processScopes.api';
export * from './runtimeAppDefinitions.api';
import { RuntimeAppDefinitionsApi } from './runtimeAppDefinitions.api';
export * from './runtimeAppDeployments.api';
import { RuntimeAppDeploymentsApi } from './runtimeAppDeployments.api';
export * from './scriptFiles.api';
import { ScriptFilesApi } from './scriptFiles.api';
export * from './submittedForms.api';
import { SubmittedFormsApi } from './submittedForms.api';
export * from './systemProperties.api';
import { SystemPropertiesApi } from './systemProperties.api';
export * from './taskActions.api';
import { TaskActionsApi } from './taskActions.api';
export * from './taskForms.api';
import { TaskFormsApi } from './taskForms.api';
export * from './tasks.api';
import { TasksApi } from './tasks.api';
export * from './taskVariables.api';
import { TaskVariablesApi } from './taskVariables.api';
export * from './userFilters.api';
import { UserFiltersApi } from './userFilters.api';
export * from './userProfile.api';
import { UserProfileApi } from './userProfile.api';
export * from './users.api';
import { UsersApi } from './users.api';
export * from './report.api';
import { ReportApi } from './report.api';
export * from './modelJsonBpmn.api';
import { ModelJsonBpmnApi } from './modelJsonBpmn.api';
export * from './temporary.api';
import { TemporaryApi } from './temporary.api';
export const APS_APIS = [AboutApi, AccountIntegrationApi, AdminEndpointsApi, AdminGroupsApi, AdminTenantsApi, AdminUsersApi, AppDefinitionsApi, ChecklistsApi, ActivitiCommentsApi, ContentApi, DataSourcesApi, DecisionAuditsApi, DecisionTablesApi, EndpointsApi, FormModelsApi, ActivitiGroupsApi, IDMSyncApi, IntegrationAlfrescoCloudApi, IntegrationAlfrescoOnPremiseApi, IntegrationBoxApi, IntegrationDriveApi, ModelsApi, ModelJsonBpmnApi, ModelsBpmnApi, ModelsHistoryApi, ProcessDefinitionsApi, ProcessInstancesApi, ProcessInstanceVariablesApi, ProcessScopesApi, RuntimeAppDefinitionsApi, RuntimeAppDeploymentsApi, ScriptFilesApi, SubmittedFormsApi, SystemPropertiesApi, TaskActionsApi, TaskFormsApi, TasksApi, TaskVariablesApi, UserFiltersApi, UserProfileApi, UsersApi, ReportApi, TemporaryApi];
3 changes: 0 additions & 3 deletions src/api/auth-rest-api/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,3 @@
*/

export * from './authentication.api';
import { AuthenticationApi } from './authentication.api';

export const AUTH_APIS = { AuthenticationApi: AuthenticationApi };
69 changes: 14 additions & 55 deletions src/api/content-custom-api/api/classes.api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,6 @@
import { ClassDescription } from '../model/classDescription';
import { BaseApi } from './base.api';

/**
* Classes service.
* @module api/ClassesApi
* @version 1.4.0
*/

/**
* Constructs a new ClassesApi.
* @alias module:api/ClassesApi
Expand All @@ -32,72 +26,37 @@ import { BaseApi } from './base.api';
* default to {@link module:ApiClient#instance} if unspecified.
*/
export class ClassesApi extends BaseApi {

private path: string = '/api/classes';

/**
* Function to receive the result of the getClass operation.
* @param {String} error Error message, if any.
* @param {module:model/ClassDescription} data The data returned by the service call.
* @param {String} response The complete HTTP response.
*/

/**
* Gets the class information for the specified className.
* @param {String} className The identifier of the class.
* @param {Object} opts Optional parameters
* @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/ClassDescription}
* data is of type: {module:model/ClassDescription}
*/
getClass(className: string, opts?: any): Promise<ClassDescription> {
opts = opts || {};

getClass(className: string): Promise<ClassDescription> {
// verify the required parameter 'className' is set
if (className === undefined || className === null) {
throw "Missing param 'className' in getClass";
}

let postBody = null;
let pathParams = {
'className': className
};
let queryParams = {};
let headerParams = {};
let formParams = {};

let contentTypes = ['application/json'];
let accepts = ['application/json'];

return this.apiClientPrivate.callApi(
this.path + '/{className}', 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
contentTypes, accepts, ClassDescription, this.apiClientPrivate.config.contextRoot + '/s'
);
return this.get<ClassDescription>({
path: '/api/classes/{className}',
pathParams: { className },
returnType: ClassDescription,
contextRoot: this.apiClientPrivate.config.contextRoot + '/s'
});
}

getSubclasses(className: string, opts?: any): Promise<ClassDescription[]> {
opts = opts || {};

getSubclasses(className: string): Promise<ClassDescription[]> {
// verify the required parameter 'className' is set
if (className === undefined || className === null) {
throw "Missing param 'className'";
}

let postBody = null;
let pathParams = {
'className': className
};
let queryParams = {};
let headerParams = {};
let formParams = {};

let contentTypes = ['application/json'];
let accepts = ['application/json'];

return this.apiClientPrivate.callApi(
`${this.path}/{className}/subclasses`, 'GET',
pathParams, queryParams, headerParams, formParams, postBody,
contentTypes, accepts, ClassDescription, this.apiClientPrivate.config.contextRoot + '/s'
);
return this.get({
path: `/api/classes/{className}/subclasses`,
pathParams: { className },
returnType: ClassDescription,
contextRoot: this.apiClientPrivate.config.contextRoot + '/s'
});
}
}
11 changes: 0 additions & 11 deletions src/api/content-custom-api/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,7 @@
*/

export * from './webscript.api';
import { WebscriptApi } from './webscript.api';

export * from './classes.api';
import { ClassesApi } from './classes.api';

export * from './upload.api';
import { UploadApi } from './upload.api';

export * from './content.api';
import { ContentApi } from './content.api';

export * from './customModel.api';
import { CustomModelApi } from './customModel.api';

export const CONTENT_CUSTOM_APIS = [WebscriptApi, ClassesApi, CustomModelApi, UploadApi, ContentApi];
17 changes: 11 additions & 6 deletions src/api/content-custom-api/api/upload.api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,18 +16,23 @@
*/

import { NodesApi } from '../../content-rest-api/api/nodes.api';
import { Emitter } from 'event-emitter';
import { NodeBodyCreate, NodeEntry, CreateNodeOpts } from '../../content-rest-api';

export interface UploadFileOpts extends CreateNodeOpts {
name?: string;
renditions?: string;
}

export class UploadApi extends NodesApi {

uploadFile(fileDefinition: any, relativePath: string, rootFolderId: string, nodeBody: any, opts?: any): Promise<any | Emitter> {
uploadFile(fileDefinition: any, relativePath?: string, rootFolderId?: string, nodeBody?: NodeBodyCreate, opts?: UploadFileOpts): Promise<NodeEntry | any> {
rootFolderId = rootFolderId || '-root-';
opts = opts || {};

let nodeBodyRequired = {
'name': fileDefinition.name,
'nodeType': 'cm:content',
'relativePath': relativePath
const nodeBodyRequired = {
name: fileDefinition.name,
nodeType: 'cm:content',
relativePath: relativePath
};

nodeBody = Object.assign(nodeBodyRequired, nodeBody);
Expand Down
9 changes: 0 additions & 9 deletions src/api/content-custom-api/docs/PermissionsBodyUpdate.md

This file was deleted.

28 changes: 13 additions & 15 deletions src/api/content-custom-api/docs/UploadApi.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,31 @@
# UploadApi


Method | HTTP request | Description
------------- | ------------- | -------------
[**uploadFile**](UploadApi.md#uploadFile) | | upload file content
| Method | Description |
|-------------------------------------------|---------------------|
| [**uploadFile**](UploadApi.md#uploadFile) | upload file content |


<a name="uploadFile"></a>
# **uploadFile**
> uploadFile(fileDefinition, relativePath: string, rootFolderId: string, nodeBody: any, opts?: any): Promise<any | Emitter>
> uploadFile(fileDefinition, relativePath: string, rootFolderId: string, nodeBody: any, opts?: any): Promise<NodeEntry | any>

### Example
**Example**

```javascript
const alfrescoApi = new AlfrescoApi(/*...*/);
const fs = require('fs');
const uploadApi = new UploadApi(alfrescoApi);
const fileToUpload = fs.createReadStream('./folderA/folderB/newFile.txt');

let fs = require('fs');

let fileToUpload = fs.createReadStream('./folderA/folderB/newFile.txt');

let uploadApi = new UploadApi(this.alfrescoApi);
uploadApi.uploadFile(fileToUpload)
.then(() => {
uploadApi.uploadFile(fileToUpload).then(
() => {
console.log('File Uploaded in the root');
}, (error) => {
},
(error) => {
console.log('Error during the upload' + error);
});


```


0 comments on commit 241a47e

Please sign in to comment.