---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [cli](../index.md) / B2COperationLifecycleProvider

# Interface: B2COperationLifecycleProvider

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:122](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L122)

Provider interface for B2C operation lifecycle hooks.

Plugins implement this interface to observe and control B2C operation execution.
The context includes the B2CInstance, giving plugins access to:
- `context.instance.ocapi` - OCAPI client for API calls
- `context.instance.webdav` - WebDAV client for file operations
- `context.instance.config` - Resolved configuration (hostname, credentials, etc.)

## Properties

### name

> `readonly` **name**: `string`

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:124](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L124)

Human-readable name for the provider (used in logging/debugging)

## Methods

### afterOperation()?

> `optional` **afterOperation**(`context`, `result`): `Promise`\<`void` \| [`AfterB2COperationResult`](AfterB2COperationResult.md)\>

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:143](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L143)

Called after an operation completes (success or failure).

#### Parameters

##### context

[`B2COperationContext`](B2COperationContext.md)

Operation context with B2CInstance and metadata

##### result

[`B2COperationResult`](B2COperationResult.md)

Operation result with success/failure info

#### Returns

`Promise`\<`void` \| [`AfterB2COperationResult`](AfterB2COperationResult.md)\>

Optional result with additional metadata

***

### beforeOperation()?

> `optional` **beforeOperation**(`context`): `Promise`\<`void` \| [`BeforeB2COperationResult`](BeforeB2COperationResult.md)\>

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:134](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L134)

Called before an operation executes.

Can return `{ skip: true }` to prevent the operation from executing.

#### Parameters

##### context

[`B2COperationContext`](B2COperationContext.md)

Operation context with B2CInstance and metadata

#### Returns

`Promise`\<`void` \| [`BeforeB2COperationResult`](BeforeB2COperationResult.md)\>

Optional result to skip or modify the operation
