Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codegen.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "engineHash": "41feeaa", "specHash": "6782a0d", "version": "1.13.2" }
{ "engineHash": "41feeaa", "specHash": "3dc6f70", "version": "1.13.2" }
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ the SDK are available by topic:
- [Retention policy assignments](retentionPolicyAssignments.md)
- [Search](search.md)
- [Session termination](sessionTermination.md)
- [Shared links app items](sharedLinksAppItems.md)
- [Shared links files](sharedLinksFiles.md)
- [Shared links folders](sharedLinksFolders.md)
- [Shared links web links](sharedLinksWebLinks.md)
Expand Down
30 changes: 30 additions & 0 deletions docs/sharedLinksAppItems.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# SharedLinksAppItemsManager

- [Find app item for shared link](#find-app-item-for-shared-link)

## Find app item for shared link

Returns the app item represented by a shared link.

The link can originate from the current enterprise or another.

This operation is performed by calling function `getSharedItemAppItems`.

See the endpoint docs at
[API Reference](https://developer.box.com/reference/get-shared-items--app-items/).

_Currently we don't have an example for calling `getSharedItemAppItems` in integration tests_

### Arguments

- headersInput `GetSharedItemAppItemsHeadersInput`
- Headers of getSharedItemAppItems method
- optionalsInput `GetSharedItemAppItemsOptionalsInput`
-

### Returns

This function returns a value of type `AppItem`.

Returns a full app item resource if the shared link is valid and
the user has access to it.
2 changes: 1 addition & 1 deletion docs/sharedLinksWebLinks.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ await userClient.sharedLinksWebLinks.findWebLinkForSharedLink(

This function returns a value of type `WebLink`.

Returns a full file resource if the shared link is valid and
Returns a full web link resource if the shared link is valid and
the user has access to it.

## Get shared link for web link
Expand Down
7 changes: 7 additions & 0 deletions src/client.generated.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import { SharedLinksFoldersManager } from './managers/sharedLinksFolders.generat
import { WebLinksManager } from './managers/webLinks.generated.js';
import { TrashedWebLinksManager } from './managers/trashedWebLinks.generated.js';
import { SharedLinksWebLinksManager } from './managers/sharedLinksWebLinks.generated.js';
import { SharedLinksAppItemsManager } from './managers/sharedLinksAppItems.generated.js';
import { UsersManager } from './managers/users.generated.js';
import { SessionTerminationManager } from './managers/sessionTermination.generated.js';
import { AvatarsManager } from './managers/avatars.generated.js';
Expand Down Expand Up @@ -130,6 +131,7 @@ export class BoxClient {
readonly webLinks: WebLinksManager;
readonly trashedWebLinks: TrashedWebLinksManager;
readonly sharedLinksWebLinks: SharedLinksWebLinksManager;
readonly sharedLinksAppItems: SharedLinksAppItemsManager;
readonly users: UsersManager;
readonly sessionTermination: SessionTerminationManager;
readonly avatars: AvatarsManager;
Expand Down Expand Up @@ -206,6 +208,7 @@ export class BoxClient {
| 'webLinks'
| 'trashedWebLinks'
| 'sharedLinksWebLinks'
| 'sharedLinksAppItems'
| 'users'
| 'sessionTermination'
| 'avatars'
Expand Down Expand Up @@ -399,6 +402,10 @@ export class BoxClient {
auth: this.auth,
networkSession: this.networkSession,
});
this.sharedLinksAppItems = new SharedLinksAppItemsManager({
auth: this.auth,
networkSession: this.networkSession,
});
this.users = new UsersManager({
auth: this.auth,
networkSession: this.networkSession,
Expand Down
147 changes: 147 additions & 0 deletions src/managers/sharedLinksAppItems.generated.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
import { serializeAppItem } from '../schemas/appItem.generated.js';
import { deserializeAppItem } from '../schemas/appItem.generated.js';
import { serializeClientError } from '../schemas/clientError.generated.js';
import { deserializeClientError } from '../schemas/clientError.generated.js';
import { ResponseFormat } from '../networking/fetchOptions.generated.js';
import { AppItem } from '../schemas/appItem.generated.js';
import { ClientError } from '../schemas/clientError.generated.js';
import { BoxSdkError } from '../box/errors.js';
import { Authentication } from '../networking/auth.generated.js';
import { NetworkSession } from '../networking/network.generated.js';
import { FetchOptions } from '../networking/fetchOptions.generated.js';
import { FetchResponse } from '../networking/fetchResponse.generated.js';
import { prepareParams } from '../internal/utils.js';
import { toString } from '../internal/utils.js';
import { ByteStream } from '../internal/utils.js';
import { CancellationToken } from '../internal/utils.js';
import { sdToJson } from '../serialization/json.js';
import { SerializedData } from '../serialization/json.js';
import { sdIsEmpty } from '../serialization/json.js';
import { sdIsBoolean } from '../serialization/json.js';
import { sdIsNumber } from '../serialization/json.js';
import { sdIsString } from '../serialization/json.js';
import { sdIsList } from '../serialization/json.js';
import { sdIsMap } from '../serialization/json.js';
export class GetSharedItemAppItemsOptionals {
readonly cancellationToken?: CancellationToken = void 0;
constructor(
fields: Omit<GetSharedItemAppItemsOptionals, 'cancellationToken'> &
Partial<Pick<GetSharedItemAppItemsOptionals, 'cancellationToken'>>,
) {
if (fields.cancellationToken !== undefined) {
this.cancellationToken = fields.cancellationToken;
}
}
}
export interface GetSharedItemAppItemsOptionalsInput {
readonly cancellationToken?: undefined | CancellationToken;
}
export class GetSharedItemAppItemsHeaders {
/**
* A header containing the shared link and optional password for the
* shared link.
*
* The format for this header is `shared_link=[link]&shared_link_password=[password]` */
readonly boxapi!: string;
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?: {
readonly [key: string]: undefined | string;
} = {};
constructor(
fields: Omit<GetSharedItemAppItemsHeaders, 'extraHeaders'> &
Partial<Pick<GetSharedItemAppItemsHeaders, 'extraHeaders'>>,
) {
if (fields.boxapi !== undefined) {
this.boxapi = fields.boxapi;
}
if (fields.extraHeaders !== undefined) {
this.extraHeaders = fields.extraHeaders;
}
}
}
export interface GetSharedItemAppItemsHeadersInput {
/**
* A header containing the shared link and optional password for the
* shared link.
*
* The format for this header is `shared_link=[link]&shared_link_password=[password]` */
readonly boxapi: string;
/**
* Extra headers that will be included in the HTTP request. */
readonly extraHeaders?:
| undefined
| {
readonly [key: string]: undefined | string;
};
}
export class SharedLinksAppItemsManager {
readonly auth?: Authentication;
readonly networkSession: NetworkSession = new NetworkSession({});
constructor(
fields: Omit<
SharedLinksAppItemsManager,
'networkSession' | 'getSharedItemAppItems'
> &
Partial<Pick<SharedLinksAppItemsManager, 'networkSession'>>,
) {
if (fields.auth !== undefined) {
this.auth = fields.auth;
}
if (fields.networkSession !== undefined) {
this.networkSession = fields.networkSession;
}
}
/**
* Returns the app item represented by a shared link.
*
* The link can originate from the current enterprise or another.
* @param {GetSharedItemAppItemsHeadersInput} headersInput Headers of getSharedItemAppItems method
* @param {GetSharedItemAppItemsOptionalsInput} optionalsInput
* @returns {Promise<AppItem>}
*/
async getSharedItemAppItems(
headersInput: GetSharedItemAppItemsHeadersInput,
optionalsInput: GetSharedItemAppItemsOptionalsInput = {},
): Promise<AppItem> {
const headers: GetSharedItemAppItemsHeaders =
new GetSharedItemAppItemsHeaders({
boxapi: headersInput.boxapi,
extraHeaders: headersInput.extraHeaders,
});
const optionals: GetSharedItemAppItemsOptionals =
new GetSharedItemAppItemsOptionals({
cancellationToken: optionalsInput.cancellationToken,
});
const cancellationToken: any = optionals.cancellationToken;
const headersMap: {
readonly [key: string]: string;
} = prepareParams({
...{ ['boxapi']: toString(headers.boxapi) as string },
...headers.extraHeaders,
});
const response: FetchResponse =
await this.networkSession.networkClient.fetch(
new FetchOptions({
url: ''.concat(
this.networkSession.baseUrls.baseUrl,
'/2.0/shared_items#app_items',
) as string,
method: 'GET',
headers: headersMap,
responseFormat: 'json' as ResponseFormat,
auth: this.auth,
networkSession: this.networkSession,
cancellationToken: cancellationToken,
}),
);
return {
...deserializeAppItem(response.data!),
rawData: response.data!,
};
}
}
export interface SharedLinksAppItemsManagerInput {
readonly auth?: Authentication;
readonly networkSession?: NetworkSession;
}
Loading