OSID Logo
OSID Specifications
ordering package
Version 3.1.0
Interfaceosid.ordering.ProductStoreAssignmentSession
Implementsosid.OsidSession
Used Byosid.ordering.OrderingManager
osid.ordering.OrderingProxyManager
Description

This session provides methods to re-assign Products to Stores. A Product may map to multiple Stores and removing the last reference to a Product is the equivalent of deleting it. Each Store may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a Product to another Store is not a copy operation (eg: does not change its Id).

MethodcanAssignProducts
Description

Tests if this user can alter product/store mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
Compliancemandatory This method must be implemented.
MethodcanAssignProductsToStore
Description

Tests if this user can alter product/store mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer assignment operations to unauthorized users.

Parametersosid.id.IdstoreId the Id of the Store
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT storeId is null
Compliancemandatory This method must be implemented.
MethodgetAssignableStoreIds
Description

Gets a list of stores including and under the given store node in which any product can be assigned.

Parametersosid.id.IdstoreId the Id of the Store
Returnosid.id.IdList list of assignable store Ids
ErrorsNULL_ARGUMENT storeId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodgetAssignableStoreIdsForProduct
Description

Gets a list of stores including and under the given store node in which a specific product can be assigned.

Parametersosid.id.IdstoreId the Id of the Store
osid.id.IdproductId the Id of the Product
Returnosid.id.IdList list of assignable store Ids
ErrorsNULL_ARGUMENT storeId or productId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignProductToStore
Description

Adds an existing Product to a Store.

Parametersosid.id.IdproductId the Id of the Product
osid.id.IdstoreId the Id of the Store
ErrorsALREADY_EXISTS productId is already assigned to storeId
NOT_FOUND productId or storeId not found
NULL_ARGUMENT productId or storeId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignProductFromStore
Description

Removes a Product from a Store.

Parametersosid.id.IdproductId the Id of the Product
osid.id.IdstoreId the Id of the Store
ErrorsNOT_FOUND productId or storeId not found or productId not assigned to storeId
NULL_ARGUMENT productId or storeId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignProductToStore
Description

Moves a Product from one Store to another. Mappings to other Stores are unaffected.

Parametersosid.id.IdproductId the Id of the Product
osid.id.IdfromStoreId the Id of the current Store
osid.id.IdtoStoreId the Id of the destination Store
ErrorsALREADY_EXISTS productId already assigned to storeId
NOT_FOUND productId, fromStoreId, or toStoreId not found or productId not mapped to fromStoreId
NULL_ARGUMENT productId, fromStoreId, or toStoreId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.