[PRODENG-211] integrate JS-API with monorepo (part 1) (#9081)

* integrate JS-API with monorepo

* [ci:force] fix token issue

[ci:force] migrate docs folder

[ci:force] clean personal tokens

* [ci:force] gha workflow support

* [ci:force] npm publish target

* fix js-api test linting

* [ci:force] fix test linting, mocks, https scheme

* [ci:force] fix https scheme

* [ci:force] typescript mappings

* [ci:force] update scripts

* lint fixes

* linting fixes

* fix linting

* [ci:force] linting fixes

* linting fixes

* [ci:force] remove js-api upstream and corresponding scripts

* [ci:force] jsdoc fixes

* fix jsdoc linting

* [ci:force] jsdoc fixes

* [ci:force] jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* jsdoc fixes

* [ci:force] fix jsdoc

* [ci:force] reduce code duplication

* replace 'chai' expect with node.js assert

* replace 'chai' expect with node.js assert

* [ci:force] remove chai and chai-spies for js-api testing

* [ci:force] cleanup and fix imports

* [ci:force] fix linting

* [ci:force] fix unit test

* [ci:force] fix sonar linting findings

* [ci:force] switch activiti api models to interfaces (-2.5% reduction of bundle)

* [ci:force] switch activiti api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch AGS api models to interfaces

* [ci:force] switch search api models to interfaces

* [ci:force] switch content api models to interfaces where applicable
This commit is contained in:
Denys Vuika
2023-11-21 10:27:51 +00:00
committed by GitHub
parent 804fa2ffd4
commit ea2c0ce229
1334 changed files with 82605 additions and 1068 deletions

View File

@@ -0,0 +1,29 @@
# **Authentication API**
Provides access to the authentication features of Alfresco Content Services.
> Documentation updated on: 2019-10-17T13:35:27.038+01:00
## Methods
All URIs are relative to:
```text
https://localhost/alfresco/api/-default-/public/authentication/versions/1
```
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
AuthenticationApi | [**createTicket**](docs/AuthenticationApi.md#createTicket) | **POST** /tickets | Create ticket (login)
AuthenticationApi | [**deleteTicket**](docs/AuthenticationApi.md#deleteTicket) | **DELETE** /tickets/-me- | Delete ticket (logout)
AuthenticationApi | [**validateTicket**](docs/AuthenticationApi.md#validateTicket) | **GET** /tickets/-me- | Validate ticket
## Models
- [ErrorError](docs/ErrorError.md)
- [ModelError](docs/ModelError.md)
- [Ticket](docs/Ticket.md)
- [TicketBody](docs/TicketBody.md)
- [TicketEntry](docs/TicketEntry.md)
- [ValidTicket](docs/ValidTicket.md)
- [ValidTicketEntry](docs/ValidTicketEntry.md)

View File

@@ -0,0 +1,89 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { TicketBody } from '../model/ticketBody';
import { TicketEntry } from '../model/ticketEntry';
import { ValidTicketEntry } from '../model/validTicketEntry';
import { BaseApi } from './base.api';
import { throwIfNotDefined } from '../../../assert';
/**
* Authentication service.
*/
export class AuthenticationApi extends BaseApi {
/**
* Create ticket (login)
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions.
*
* @param ticketBodyCreate The user credential.
* @returns Promise<TicketEntry>
*/
createTicket(ticketBodyCreate: TicketBody): Promise<TicketEntry> {
throwIfNotDefined(ticketBodyCreate, 'ticketBodyCreate');
return this.post({
path: '/tickets',
bodyParam: ticketBodyCreate,
returnType: TicketEntry
});
}
/**
* Get ticket (login)
*
* @returns Promise<TicketEntry>
*/
getTicket(): Promise<TicketEntry> {
return this.get({
path: '/tickets/-me-',
returnType: TicketEntry
});
}
/**
* Delete ticket (logout)
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions.
*
* @returns Promise<{}>
*/
deleteTicket(): Promise<void> {
return this.delete({
path: '/tickets/-me-'
});
}
/**
* Validate ticket
*
* **Note:** this endpoint is available in Alfresco 5.2 and newer versions.
*
* Validates the specified ticket (derived from Authorization header) is still valid.
* For example, you can pass the Authorization request header using Javascript:
* Javascript
* request.setRequestHeader (\"Authorization\", \"Basic \" + btoa(ticket));
*
* @returns Promise<ValidTicketEntry>
*/
validateTicket(): Promise<ValidTicketEntry> {
return this.get({
path: '/tickets/-me-',
returnType: ValidTicketEntry
});
}
}

View File

@@ -0,0 +1,25 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ApiClient } from '../../../api-clients/api-client';
import { LegacyHttpClient } from '../../../api-clients/http-client.interface';
export abstract class BaseApi extends ApiClient {
override get apiClient(): LegacyHttpClient {
return this.httpClient ?? this.alfrescoApi.authClient;
}
}

View File

@@ -0,0 +1,18 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './authentication.api';

View File

@@ -0,0 +1,141 @@
# AuthenticationApi
All URIs are relative to *https://localhost/alfresco/api/-default-/public/authentication/versions/1*
Method | HTTP request | Description
------------- | ------------- | -------------
[**createTicket**](AuthenticationApi.md#createTicket) | **POST** /tickets | Create ticket (login)
[**deleteTicket**](AuthenticationApi.md#deleteTicket) | **DELETE** /tickets/-me- | Delete ticket (logout)
[**validateTicket**](AuthenticationApi.md#validateTicket) | **GET** /tickets/-me- | Validate ticket
<a name="createTicket"></a>
## createTicket
> TicketEntry createTicket(ticketBodyCreate)
Create ticket (login)
**Note:** this endpoint is available in Alfresco 5.2 and newer versions.
Logs in and returns the new authentication ticket.
The userId and password properties are mandatory in the request body. For example:
JSON
{
\"userId\": \"jbloggs\",
\"password\": \"password\"
}
To use the ticket in future requests you should pass it in the request header.
For example using Javascript:
Javascript
request.setRequestHeader (\"Authorization\", \"Basic \" + btoa(ticket));
### Example
```javascript
import { AlfrescoApi, AuthenticationApi} from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi({
hostEcm: 'http://127.0.0.1:8080'
});
const authenticationApi = new AuthenticationApi(alfrescoApi);
authenticationApi.createTicket(ticketBodyCreate).then((data) => {
console.log('API called successfully. Returned data: ' + data);
}, function(error) {
console.error(error);
});
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**ticketBodyCreate** | [**TicketBody**](TicketBody.md)| The user credential. |
### Return type
[**TicketEntry**](TicketEntry.md)
<a name="deleteTicket"></a>
## deleteTicket
> deleteTicket()
Delete ticket (logout)
**Note:** this endpoint is available in Alfresco 5.2 and newer versions.
Deletes logged in ticket (logout).
### Example
```javascript
import { AlfrescoApi, AuthenticationApi} from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi({
hostEcm: 'http://127.0.0.1:8080'
});
const authenticationApi = new AuthenticationApi(alfrescoApi);
authenticationApi.deleteTicket().then(() => {
console.log('API called successfully.');
}, function(error) {
console.error(error);
});
```
### Parameters
This endpoint does not need any parameter.
### Return type
null (empty response body)
<a name="validateTicket"></a>
## validateTicket
> ValidTicketEntry validateTicket()
Validate ticket
**Note:** this endpoint is available in Alfresco 5.2 and newer versions.
Validates the specified ticket (derived from Authorization header) is still valid.
For example, you can pass the Authorization request header using Javascript:
Javascript
request.setRequestHeader (\"Authorization\", \"Basic \" + btoa(ticket));
### Example
```javascript
import { AlfrescoApi, AuthenticationApi} from '@alfresco/js-api';
const alfrescoApi = new AlfrescoApi({
hostEcm: 'http://127.0.0.1:8080'
});
const authenticationApi = new AuthenticationApi(alfrescoApi);
authenticationApi.validateTicket().then((data) => {
console.log('API called successfully. Returned data: ' + data);
}, function(error) {
console.error(error);
});
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**ValidTicketEntry**](ValidTicketEntry.md)

View File

@@ -0,0 +1,8 @@
# ModelError
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**error** | [**ErrorError**](ErrorError.md) | | [optional] [default to null]

View File

@@ -0,0 +1,13 @@
# ErrorError
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**errorKey** | **string** | | [optional] [default to null]
**statusCode** | **number** | | [default to null]
**briefSummary** | **string** | | [default to null]
**stackTrace** | **string** | | [default to null]
**descriptionURL** | **string** | | [default to null]
**logId** | **string** | | [optional] [default to null]

View File

@@ -0,0 +1,9 @@
# Ticket
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional] [default to null]
**userId** | **string** | | [optional] [default to null]

View File

@@ -0,0 +1,9 @@
# TicketBody
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**userId** | **string** | | [optional] [default to null]
**password** | **string** | | [optional] [default to null]

View File

@@ -0,0 +1,8 @@
# TicketEntry
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**entry** | [**Ticket**](Ticket.md) | | [default to null]

View File

@@ -0,0 +1,8 @@
# ValidTicket
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional] [default to null]

View File

@@ -0,0 +1,8 @@
# ValidTicketEntry
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**entry** | [**ValidTicket**](ValidTicket.md) | | [default to null]

View File

@@ -0,0 +1,19 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './api';
export * from './model';

View File

@@ -0,0 +1,22 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export * from './ticket';
export * from './ticketBody';
export * from './ticketEntry';
export * from './validTicket';
export * from './validTicketEntry';

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export class Ticket {
id?: string;
userId?: string;
constructor(input?: Partial<Ticket>) {
if (input) {
Object.assign(this, input);
}
}
}

View File

@@ -0,0 +1,27 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export class TicketBody {
userId?: string;
password?: string;
constructor(input?: Partial<TicketBody>) {
if (input) {
Object.assign(this, input);
}
}
}

View File

@@ -0,0 +1,29 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Ticket } from './ticket';
export class TicketEntry {
entry: Ticket;
constructor(input?: Partial<TicketEntry>) {
if (input) {
Object.assign(this, input);
this.entry = input.entry ? new Ticket(input.entry) : undefined;
}
}
}

View File

@@ -0,0 +1,26 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export class ValidTicket {
id?: string;
constructor(input?: Partial<ValidTicket>) {
if (input) {
Object.assign(this, input);
}
}
}

View File

@@ -0,0 +1,29 @@
/*!
* @license
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ValidTicket } from './validTicket';
export class ValidTicketEntry {
entry: ValidTicket;
constructor(input?: Partial<ValidTicketEntry>) {
if (input) {
Object.assign(this, input);
this.entry = input.entry ? new ValidTicket(input.entry) : undefined;
}
}
}