@reactionary/medusa 0.10.23 → 0.10.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,7 +23,8 @@ const MedusaCapabilitiesSchema = CapabilitiesSchema.pick({
23
23
  identity: true,
24
24
  profile: true,
25
25
  productAssociations: true,
26
- personalizationProfile: true
26
+ personalizationProfile: true,
27
+ company: true
27
28
  }).extend({
28
29
  product: OverridableCapabilitySchema.optional(),
29
30
  productSearch: OverridableCapabilitySchema.optional(),
@@ -35,6 +36,10 @@ const MedusaCapabilitiesSchema = CapabilitiesSchema.pick({
35
36
  orderSearch: OverridableCapabilitySchema.optional(),
36
37
  inventory: OverridableCapabilitySchema.optional(),
37
38
  identity: DirectCapabilitySchema.optional(),
39
+ employee: OverridableCapabilitySchema.optional(),
40
+ employeeInvitation: OverridableCapabilitySchema.optional(),
41
+ company: OverridableCapabilitySchema.optional(),
42
+ companyRegistration: OverridableCapabilitySchema.optional(),
38
43
  profile: OverridableCapabilitySchema.optional(),
39
44
  productAssociations: OverridableCapabilitySchema.optional(),
40
45
  productRecommendations: DirectCapabilitySchema.optional(),
@@ -0,0 +1,25 @@
1
+ import { type Address, type Cache, CompanyRegistrationCapability, type CompanyRegistrationFactory, type CompanyRegistrationFactoryWithOutput, type CompanyRegistrationMutationRegister, type CompanyRegistrationQueryCheckRegistrationStatus, type CompanyRegistrationRequest, type RequestContext, type Result } from '@reactionary/core';
2
+ import type { MedusaAPI } from '../core/client.js';
3
+ import type { MedusaCompanyRegistrationFactory } from '../factories/company-registration/company-registration.factory.js';
4
+ import type { MedusaRawCompany } from '../factories/company/company.factory.js';
5
+ import type { MedusaConfiguration } from '../schema/configuration.schema.js';
6
+ export declare class MedusaCompanyRegistrationCapability<TFactory extends CompanyRegistrationFactory = MedusaCompanyRegistrationFactory> extends CompanyRegistrationCapability {
7
+ medusaApi: MedusaAPI;
8
+ protected config: MedusaConfiguration;
9
+ protected factory: CompanyRegistrationFactoryWithOutput<TFactory>;
10
+ constructor(config: MedusaConfiguration, cache: Cache, context: RequestContext, medusaApi: MedusaAPI, factory: CompanyRegistrationFactoryWithOutput<TFactory>);
11
+ protected fetchCompany(companyId: string): Promise<MedusaRawCompany | null>;
12
+ protected addressPayload(address: Address): {
13
+ address_name: string;
14
+ first_name: string;
15
+ last_name: string;
16
+ street_address: string;
17
+ street_number: string;
18
+ city: string;
19
+ region: string;
20
+ postal_code: string;
21
+ country_code: string;
22
+ };
23
+ requestRegistration(payload: CompanyRegistrationMutationRegister): Promise<Result<CompanyRegistrationRequest>>;
24
+ checkRequestStatus(payload: CompanyRegistrationQueryCheckRegistrationStatus): Promise<Result<CompanyRegistrationRequest>>;
25
+ }
@@ -0,0 +1,37 @@
1
+ import { type Address, type Cache, type Company, CompanyCapability, type CompanyFactory, type CompanyFactoryWithOutput, type CompanyMutationAddShippingAddress, type CompanyMutationMakeShippingAddressDefault, type CompanyMutationRemoveShippingAddress, type CompanyMutationUpdateShippingAddress, type CompanyPaginatedList, type CompanyQueryById, type CompanyQueryList, type NotFoundError, type RequestContext, type Result } from '@reactionary/core';
2
+ import type { MedusaAPI } from '../core/client.js';
3
+ import type { MedusaCompanyFactory, MedusaRawCompany, MedusaRawCompanyAddress } from '../factories/company/company.factory.js';
4
+ import type { MedusaConfiguration } from '../schema/configuration.schema.js';
5
+ export declare class MedusaCompanyCapability<TFactory extends CompanyFactory = MedusaCompanyFactory> extends CompanyCapability {
6
+ medusaApi: MedusaAPI;
7
+ protected config: MedusaConfiguration;
8
+ protected factory: CompanyFactoryWithOutput<TFactory>;
9
+ constructor(config: MedusaConfiguration, cache: Cache, context: RequestContext, medusaApi: MedusaAPI, factory: CompanyFactoryWithOutput<TFactory>);
10
+ protected fetchCompany(companyId: string): Promise<MedusaRawCompany | null>;
11
+ protected fetchCompanyOrThrow(companyId: string): Promise<MedusaRawCompany>;
12
+ protected fetchCompanyByTaxIdentifier(taxIdentifier: string): Promise<MedusaRawCompany | null>;
13
+ protected findAddress(company: MedusaRawCompany, nickName: string, type: 'billing' | 'shipping'): MedusaRawCompanyAddress | undefined;
14
+ protected addressPayload(address: Address): {
15
+ address_name: string;
16
+ first_name: string;
17
+ last_name: string;
18
+ street_address: string;
19
+ street_number: string;
20
+ city: string;
21
+ region: string;
22
+ postal_code: string;
23
+ country_code: string;
24
+ };
25
+ getById(payload: CompanyQueryById): Promise<Result<Company>>;
26
+ /**
27
+ * ponytail: there's no "list companies" route on this backend - membership is only discoverable via
28
+ * /store/customers/me/employees, which returns company id+name but not the full Company shape, so each
29
+ * distinct company id is re-fetched individually. Fine for the handful of companies a person typically
30
+ * belongs to; upgrade path: ask the backend for a proper GET /store/companies scoped to the caller.
31
+ */
32
+ listCompanies(payload: CompanyQueryList): Promise<Result<CompanyPaginatedList>>;
33
+ addShippingAddress(payload: CompanyMutationAddShippingAddress): Promise<Result<Company, NotFoundError>>;
34
+ updateShippingAddress(payload: CompanyMutationUpdateShippingAddress): Promise<Result<Company, NotFoundError>>;
35
+ removeShippingAddress(payload: CompanyMutationRemoveShippingAddress): Promise<Result<Company, NotFoundError>>;
36
+ makeShippingAddressDefault(payload: CompanyMutationMakeShippingAddressDefault): Promise<Result<Company, NotFoundError>>;
37
+ }
@@ -0,0 +1,18 @@
1
+ import { type Cache, type EmployeeInvitation, EmployeeInvitationCapability, type EmployeeInvitationFactory, type EmployeeInvitationFactoryWithOutput, type EmployeeInvitationMutationAcceptInvitation, type EmployeeInvitationMutationInviteEmployee, type EmployeeInvitationMutationRevokeInvitation, type EmployeeInvitationPaginatedList, type EmployeeInvitationQueryList, type EmployeeIssuedInvitation, type NotFoundError, type RequestContext, type Result } from '@reactionary/core';
2
+ import type { MedusaAPI } from '../core/client.js';
3
+ import { type MedusaEmployeeInvitationFactory } from '../factories/employee-invitation/employee-invitation.factory.js';
4
+ import type { MedusaConfiguration } from '../schema/configuration.schema.js';
5
+ export declare class MedusaEmployeeInvitationCapability<TFactory extends EmployeeInvitationFactory = MedusaEmployeeInvitationFactory> extends EmployeeInvitationCapability {
6
+ medusaApi: MedusaAPI;
7
+ protected config: MedusaConfiguration;
8
+ protected factory: EmployeeInvitationFactoryWithOutput<TFactory>;
9
+ constructor(config: MedusaConfiguration, cache: Cache, context: RequestContext, medusaApi: MedusaAPI, factory: EmployeeInvitationFactoryWithOutput<TFactory>);
10
+ protected resolveCompanyId(taxIdentifier: string): Promise<string | null>;
11
+ protected fetchCompany(companyId: string): Promise<{
12
+ tax_identifier: string;
13
+ } | null>;
14
+ inviteEmployee(payload: EmployeeInvitationMutationInviteEmployee): Promise<Result<EmployeeIssuedInvitation>>;
15
+ acceptInvitation(payload: EmployeeInvitationMutationAcceptInvitation): Promise<Result<EmployeeInvitation>>;
16
+ revokeInvitation(payload: EmployeeInvitationMutationRevokeInvitation): Promise<Result<void, NotFoundError>>;
17
+ listInvitations(payload: EmployeeInvitationQueryList): Promise<Result<EmployeeInvitationPaginatedList>>;
18
+ }
@@ -0,0 +1,37 @@
1
+ import { type Cache, type CompanyIdentifier, type Employee, EmployeeCapability, type EmployeeFactory, type EmployeeFactoryWithOutput, type EmployeeMutationAssignRole, type EmployeeMutationRemoveEmployee, type EmployeeMutationUnassignRole, type EmployeePaginatedList, type EmployeeQueryByEmail, type EmployeeQueryList, type IdentityIdentifier, type NotFoundError, type RequestContext, type Result } from '@reactionary/core';
2
+ import type { MedusaAPI } from '../core/client.js';
3
+ import type { MedusaEmployeeFactory, MedusaRawEmployee } from '../factories/employee/employee.factory.js';
4
+ import type { MedusaConfiguration } from '../schema/configuration.schema.js';
5
+ export declare class MedusaEmployeeCapability<TFactory extends EmployeeFactory = MedusaEmployeeFactory> extends EmployeeCapability {
6
+ medusaApi: MedusaAPI;
7
+ protected config: MedusaConfiguration;
8
+ protected factory: EmployeeFactoryWithOutput<TFactory>;
9
+ constructor(config: MedusaConfiguration, cache: Cache, context: RequestContext, medusaApi: MedusaAPI, factory: EmployeeFactoryWithOutput<TFactory>);
10
+ protected resolveCompanyId(taxIdentifier: string): Promise<string | null>;
11
+ /**
12
+ * ponytail: there's no `customer_id` or `role` filter on the backend's employee list route, so
13
+ * resolving an employee by customer id, or listing by role, means scanning the company's employee
14
+ * list client-side via iterateCompanyEmployeePages. Upgrade path: ask the backend to add `customer_id`
15
+ * and `role` filters to `StoreGetEmployeeParams`.
16
+ */
17
+ protected fetchCompanyEmployees(companyId: string, opts?: {
18
+ email?: string;
19
+ q?: string;
20
+ limit?: number;
21
+ offset?: number;
22
+ }): Promise<{
23
+ employees: MedusaRawEmployee[];
24
+ count: number;
25
+ }>;
26
+ protected iterateCompanyEmployeePages(companyId: string, opts?: {
27
+ email?: string;
28
+ q?: string;
29
+ }): AsyncGenerator<MedusaRawEmployee[]>;
30
+ protected findEmployeeByCustomerId(companyId: string, customerId: string): Promise<MedusaRawEmployee | undefined>;
31
+ listEmployees(payload: EmployeeQueryList): Promise<Result<EmployeePaginatedList>>;
32
+ getByEmail(payload: EmployeeQueryByEmail): Promise<Result<Employee>>;
33
+ protected updateEmployeeRole(company: CompanyIdentifier, employeeIdentifier: IdentityIdentifier, role: string): Promise<Result<Employee, NotFoundError>>;
34
+ assignRole(payload: EmployeeMutationAssignRole): Promise<Result<Employee, NotFoundError>>;
35
+ unassignRole(payload: EmployeeMutationUnassignRole): Promise<Result<Employee, NotFoundError>>;
36
+ removeEmployee(payload: EmployeeMutationRemoveEmployee): Promise<Result<void, NotFoundError>>;
37
+ }
@@ -1,8 +1,12 @@
1
- import type { CartFactory, CategoryFactory, CheckoutFactory, ClientFromCapabilities, InventoryFactory, PersonalizationProfileFactory, OrderFactory, OrderSearchFactory, PriceFactory, ProductAssociationsFactory, ProductFactory, ProductSearchFactory, ProfileFactory } from '@reactionary/core';
1
+ import type { CartFactory, CategoryFactory, CheckoutFactory, ClientFromCapabilities, CompanyFactory, CompanyRegistrationFactory, EmployeeFactory, EmployeeInvitationFactory, InventoryFactory, PersonalizationProfileFactory, OrderFactory, OrderSearchFactory, PriceFactory, ProductAssociationsFactory, ProductFactory, ProductSearchFactory, ProfileFactory } from '@reactionary/core';
2
2
  import type { MedusaCapabilities } from '../schema/capabilities.schema.js';
3
3
  import type { MedusaCartFactory } from '../factories/cart/cart.factory.js';
4
4
  import type { MedusaCategoryFactory } from '../factories/category/category.factory.js';
5
5
  import type { MedusaCheckoutFactory } from '../factories/checkout/checkout.factory.js';
6
+ import type { MedusaCompanyFactory } from '../factories/company/company.factory.js';
7
+ import type { MedusaCompanyRegistrationFactory } from '../factories/company-registration/company-registration.factory.js';
8
+ import type { MedusaEmployeeFactory } from '../factories/employee/employee.factory.js';
9
+ import type { MedusaEmployeeInvitationFactory } from '../factories/employee-invitation/employee-invitation.factory.js';
6
10
  import type { MedusaInventoryFactory } from '../factories/inventory/inventory.factory.js';
7
11
  import type { MedusaOrderFactory } from '../factories/order/order.factory.js';
8
12
  import type { MedusaOrderSearchFactory } from '../factories/order-search/order-search.factory.js';
@@ -15,6 +19,10 @@ import type { MedusaPersonalizationProfileFactory } from '../factories/personali
15
19
  import type { MedusaCartCapability } from '../capabilities/cart.capability.js';
16
20
  import type { MedusaCategoryCapability } from '../capabilities/category.capability.js';
17
21
  import type { MedusaCheckoutCapability } from '../capabilities/checkout.capability.js';
22
+ import type { MedusaCompanyCapability } from '../capabilities/company.capability.js';
23
+ import type { MedusaCompanyRegistrationCapability } from '../capabilities/company-registration.capability.js';
24
+ import type { MedusaEmployeeCapability } from '../capabilities/employee.capability.js';
25
+ import type { MedusaEmployeeInvitationCapability } from '../capabilities/employee-invitation.capability.js';
18
26
  import type { MedusaInventoryCapability } from '../capabilities/inventory.capability.js';
19
27
  import type { MedusaOrderCapability } from '../capabilities/order.capability.js';
20
28
  import type { MedusaOrderSearchCapability } from '../capabilities/order-search.capability.js';
@@ -26,7 +34,7 @@ import type { MedusaProfileCapability } from '../capabilities/profile.capability
26
34
  import type { MedusaPersonalizationProfileCapability } from '../capabilities/personalization-profile.capability.js';
27
35
  import type { MedusaProductRecommendationsCapability } from '../capabilities/product-recommendations.capability.js';
28
36
  import type { MedusaIdentityCapability } from '../capabilities/identity.capability.js';
29
- type OverridableCapabilityKey = 'product' | 'productSearch' | 'cart' | 'checkout' | 'category' | 'price' | 'order' | 'orderSearch' | 'inventory' | 'profile' | 'productAssociations' | 'personalizationProfile';
37
+ type OverridableCapabilityKey = 'product' | 'productSearch' | 'cart' | 'checkout' | 'category' | 'price' | 'order' | 'orderSearch' | 'inventory' | 'profile' | 'productAssociations' | 'personalizationProfile' | 'employee' | 'employeeInvitation' | 'company' | 'companyRegistration';
30
38
  type EnabledCapability<TCapability> = TCapability extends {
31
39
  enabled: true;
32
40
  } ? true : false;
@@ -57,6 +65,10 @@ type FactoryContractMap = {
57
65
  profile: ProfileFactory;
58
66
  productAssociations: ProductAssociationsFactory;
59
67
  personalizationProfile: PersonalizationProfileFactory;
68
+ employee: EmployeeFactory;
69
+ employeeInvitation: EmployeeInvitationFactory;
70
+ company: CompanyFactory;
71
+ companyRegistration: CompanyRegistrationFactory;
60
72
  };
61
73
  type DefaultFactoryMap = {
62
74
  product: MedusaProductFactory;
@@ -71,6 +83,10 @@ type DefaultFactoryMap = {
71
83
  profile: MedusaProfileFactory;
72
84
  productAssociations: MedusaProductAssociationsFactory;
73
85
  personalizationProfile: MedusaPersonalizationProfileFactory;
86
+ employee: MedusaEmployeeFactory;
87
+ employeeInvitation: MedusaEmployeeInvitationFactory;
88
+ company: MedusaCompanyFactory;
89
+ companyRegistration: MedusaCompanyRegistrationFactory;
74
90
  };
75
91
  type ResolvedFactoryMap<T extends MedusaCapabilities> = {
76
92
  [K in OverridableCapabilityKey]: ExtractCapabilityFactory<T[K], FactoryContractMap[K], DefaultFactoryMap[K]>;
@@ -88,6 +104,10 @@ type DefaultCapabilityMap<T extends MedusaCapabilities> = {
88
104
  profile: MedusaProfileCapability<ResolvedFactoryMap<T>['profile']>;
89
105
  productAssociations: MedusaProductAssociationsCapability<ResolvedFactoryMap<T>['productAssociations']>;
90
106
  personalizationProfile: MedusaPersonalizationProfileCapability<ResolvedFactoryMap<T>['personalizationProfile']>;
107
+ employee: MedusaEmployeeCapability<ResolvedFactoryMap<T>['employee']>;
108
+ employeeInvitation: MedusaEmployeeInvitationCapability<ResolvedFactoryMap<T>['employeeInvitation']>;
109
+ company: MedusaCompanyCapability<ResolvedFactoryMap<T>['company']>;
110
+ companyRegistration: MedusaCompanyRegistrationCapability<ResolvedFactoryMap<T>['companyRegistration']>;
91
111
  identity: MedusaIdentityCapability;
92
112
  productRecommendations: MedusaProductRecommendationsCapability;
93
113
  };
@@ -0,0 +1,45 @@
1
+ import type { CompanyPaginatedListSchema, CompanySchema } from '@reactionary/core';
2
+ import { type Address, type AnyCompanyPaginatedListSchema, type AnyCompanySchema, type CompanyFactory, type CompanyQueryList, type RequestContext } from '@reactionary/core';
3
+ import type * as z from 'zod';
4
+ export interface MedusaRawCompanyAddress {
5
+ id: string;
6
+ type: string;
7
+ is_default: boolean;
8
+ address_name?: string | null;
9
+ first_name: string;
10
+ last_name: string;
11
+ street_address: string;
12
+ street_number?: string | null;
13
+ city: string;
14
+ region?: string | null;
15
+ postal_code: string;
16
+ country_code: string;
17
+ }
18
+ export interface MedusaRawCompany {
19
+ id: string;
20
+ name: string;
21
+ email: string;
22
+ phone?: string | null;
23
+ logo_url?: string | null;
24
+ logo_alt_text?: string | null;
25
+ logo_width?: number | null;
26
+ logo_height?: number | null;
27
+ status: string;
28
+ tax_identifier: string;
29
+ duns_identifier?: string | null;
30
+ tin_identifier?: string | null;
31
+ is_custom_addresses_allowed: boolean;
32
+ is_self_management_of_shipping_addresses_allowed: boolean;
33
+ addresses?: MedusaRawCompanyAddress[];
34
+ }
35
+ export declare class MedusaCompanyFactory<TCompanySchema extends AnyCompanySchema = typeof CompanySchema, TCompanyPaginatedListSchema extends AnyCompanyPaginatedListSchema = typeof CompanyPaginatedListSchema> implements CompanyFactory<TCompanySchema, TCompanyPaginatedListSchema> {
36
+ readonly companySchema: TCompanySchema;
37
+ readonly companyPaginatedListSchema: TCompanyPaginatedListSchema;
38
+ constructor(companySchema: TCompanySchema, companyPaginatedListSchema: TCompanyPaginatedListSchema);
39
+ protected parseAddress(raw: MedusaRawCompanyAddress): Address;
40
+ parseCompany(_context: RequestContext, data: MedusaRawCompany): z.output<TCompanySchema>;
41
+ parseCompanyPaginatedList(context: RequestContext, data: {
42
+ items: MedusaRawCompany[];
43
+ totalCount: number;
44
+ }, query: CompanyQueryList): z.output<TCompanyPaginatedListSchema>;
45
+ }
@@ -0,0 +1,10 @@
1
+ import type { CompanyRegistrationRequestSchema } from '@reactionary/core';
2
+ import { type AnyCompanyRegistrationRequestSchema, type CompanyRegistrationFactory, type CompanyRegistrationRequestApprovalStatus, type RequestContext } from '@reactionary/core';
3
+ import type * as z from 'zod';
4
+ import type { MedusaRawCompany } from '../company/company.factory.js';
5
+ export declare class MedusaCompanyRegistrationFactory<TCompanyRegistrationRequestSchema extends AnyCompanyRegistrationRequestSchema = typeof CompanyRegistrationRequestSchema> implements CompanyRegistrationFactory<TCompanyRegistrationRequestSchema> {
6
+ readonly companyRegistrationRequestSchema: TCompanyRegistrationRequestSchema;
7
+ constructor(companyRegistrationRequestSchema: TCompanyRegistrationRequestSchema);
8
+ parseCompanyRegistrationRequest(_context: RequestContext, data: MedusaRawCompany): z.output<TCompanyRegistrationRequestSchema>;
9
+ protected parseStatus(status: string): CompanyRegistrationRequestApprovalStatus;
10
+ }
@@ -0,0 +1,32 @@
1
+ import type { EmployeePaginatedListSchema, EmployeeSchema } from '@reactionary/core';
2
+ import { type AnyEmployeePaginatedListSchema, type AnyEmployeeSchema, type CompanyIdentifier, type EmployeeFactory, type EmployeeQueryList, type EmployeeRole, type RequestContext } from '@reactionary/core';
3
+ import type * as z from 'zod';
4
+ export interface MedusaRawEmployeeCustomer {
5
+ id: string;
6
+ email: string;
7
+ first_name?: string | null;
8
+ last_name?: string | null;
9
+ }
10
+ export interface MedusaRawEmployee {
11
+ id: string;
12
+ role: string;
13
+ spending_limit?: number;
14
+ company_id: string;
15
+ customer?: MedusaRawEmployeeCustomer | null;
16
+ }
17
+ export interface ParseEmployeeInput {
18
+ company: CompanyIdentifier;
19
+ employee: MedusaRawEmployee;
20
+ }
21
+ export declare class MedusaEmployeeFactory<TEmployeeSchema extends AnyEmployeeSchema = typeof EmployeeSchema, TEmployeePaginatedListSchema extends AnyEmployeePaginatedListSchema = typeof EmployeePaginatedListSchema> implements EmployeeFactory<TEmployeeSchema, TEmployeePaginatedListSchema> {
22
+ readonly employeeSchema: TEmployeeSchema;
23
+ readonly employeePaginatedListSchema: TEmployeePaginatedListSchema;
24
+ constructor(employeeSchema: TEmployeeSchema, employeePaginatedListSchema: TEmployeePaginatedListSchema);
25
+ parseEmployee(context: RequestContext, data: ParseEmployeeInput): z.output<TEmployeeSchema>;
26
+ parseEmployeePaginatedList(context: RequestContext, data: {
27
+ items: ParseEmployeeInput[];
28
+ totalCount: number;
29
+ }, query: EmployeeQueryList): z.output<TEmployeePaginatedListSchema>;
30
+ mapRole(role: EmployeeRole): string;
31
+ protected parseRole(role: string): EmployeeRole;
32
+ }
@@ -0,0 +1,40 @@
1
+ import type { EmployeeInvitationPaginatedListSchema, EmployeeInvitationSchema, EmployeeIssuedInvitationSchema } from '@reactionary/core';
2
+ import { type AnyEmployeeInvitationPaginatedListSchema, type AnyEmployeeInvitationSchema, type AnyEmployeeIssuedInvitationSchema, type EmployeeInvitationFactory, type EmployeeInvitationQueryList, type EmployeeInvitationMutationInviteEmployee, type EmployeeInvitationStatus, type EmployeeRole, type RequestContext } from '@reactionary/core';
3
+ import type * as z from 'zod';
4
+ export interface MedusaRawEmployeeInvitation {
5
+ id: string;
6
+ email: string;
7
+ role: string;
8
+ status: string;
9
+ company_id: string;
10
+ company?: {
11
+ tax_identifier: string;
12
+ };
13
+ validUntil?: string | Date | null;
14
+ securityToken?: string;
15
+ }
16
+ /**
17
+ * The backend's revoke route needs both a company id and an invitation id, and there is no
18
+ * company-agnostic single-invitation lookup route for an authenticated store customer, so both
19
+ * are encoded into the opaque EmployeeInvitationIdentifier.key. Medusa ids never contain ':'.
20
+ */
21
+ export declare function makeInvitationKey(companyId: string, invitationId: string): string;
22
+ export declare function parseInvitationKey(key: string): {
23
+ companyId: string;
24
+ invitationId: string;
25
+ };
26
+ export declare class MedusaEmployeeInvitationFactory<TEmployeeInvitationSchema extends AnyEmployeeInvitationSchema = typeof EmployeeInvitationSchema, TEmployeeIssuedInvitationSchema extends AnyEmployeeIssuedInvitationSchema = typeof EmployeeIssuedInvitationSchema, TEmployeeInvitationPaginatedListSchema extends AnyEmployeeInvitationPaginatedListSchema = typeof EmployeeInvitationPaginatedListSchema> implements EmployeeInvitationFactory<TEmployeeInvitationSchema, TEmployeeIssuedInvitationSchema, TEmployeeInvitationPaginatedListSchema> {
27
+ readonly employeeInvitationSchema: TEmployeeInvitationSchema;
28
+ readonly employeeIssuedInvitationSchema: TEmployeeIssuedInvitationSchema;
29
+ readonly employeeInvitationPaginatedListSchema: TEmployeeInvitationPaginatedListSchema;
30
+ constructor(employeeInvitationSchema: TEmployeeInvitationSchema, employeeIssuedInvitationSchema: TEmployeeIssuedInvitationSchema, employeeInvitationPaginatedListSchema: TEmployeeInvitationPaginatedListSchema);
31
+ parseEmployeeInvitation(_context: RequestContext, data: MedusaRawEmployeeInvitation, _payload?: EmployeeInvitationMutationInviteEmployee): z.output<TEmployeeInvitationSchema>;
32
+ parseEmployeeIssuedInvitation(context: RequestContext, data: MedusaRawEmployeeInvitation, payload?: EmployeeInvitationMutationInviteEmployee): z.output<TEmployeeIssuedInvitationSchema>;
33
+ parseEmployeeInvitationPaginatedList(context: RequestContext, data: {
34
+ items: MedusaRawEmployeeInvitation[];
35
+ totalCount: number;
36
+ }, query: EmployeeInvitationQueryList): z.output<TEmployeeInvitationPaginatedListSchema>;
37
+ mapRole(role: EmployeeRole): string;
38
+ protected parseRole(role: string): EmployeeRole;
39
+ protected parseStatus(status: string): EmployeeInvitationStatus;
40
+ }
@@ -1,6 +1,10 @@
1
1
  export * from './cart/cart.factory.js';
2
2
  export * from './category/category.factory.js';
3
3
  export * from './checkout/checkout.factory.js';
4
+ export * from './company/company.factory.js';
5
+ export * from './company-registration/company-registration.factory.js';
6
+ export * from './employee/employee.factory.js';
7
+ export * from './employee-invitation/employee-invitation.factory.js';
4
8
  export * from './identity/identity.factory.js';
5
9
  export * from './inventory/inventory.factory.js';
6
10
  export * from './order/order.factory.js';
package/src/index.d.ts CHANGED
@@ -6,6 +6,10 @@ export * from './core/initialize.types.js';
6
6
  export * from './core/client.js';
7
7
  export * from './factories/index.js';
8
8
  export * from './capabilities/cart.capability.js';
9
+ export * from './capabilities/company.capability.js';
10
+ export * from './capabilities/company-registration.capability.js';
11
+ export * from './capabilities/employee.capability.js';
12
+ export * from './capabilities/employee-invitation.capability.js';
9
13
  export * from './capabilities/identity.capability.js';
10
14
  export * from './capabilities/inventory.capability.js';
11
15
  export * from './capabilities/order.capability.js';
@@ -1,4 +1,4 @@
1
- import type { CartFactory, CartFactoryWithOutput, CartCapability, CategoryFactory, CategoryFactoryWithOutput, CategoryCapability, CheckoutFactory, CheckoutFactoryWithOutput, CheckoutCapability, IdentityCapability, InventoryFactory, InventoryFactoryWithOutput, InventoryCapability, PersonalizationProfileFactory, PersonalizationProfileFactoryWithOutput, PersonalizationProfileCapability, OrderFactory, OrderFactoryWithOutput, OrderCapability, OrderSearchFactory, OrderSearchFactoryWithOutput, OrderSearchCapability, PriceFactory, PriceFactoryWithOutput, PriceCapability, ProductAssociationsFactory, ProductAssociationsFactoryWithOutput, ProductAssociationsCapability, ProductFactory, ProductFactoryWithOutput, ProductCapability, ProductRecommendationsCapability, ProductSearchFactory, ProductSearchFactoryWithOutput, ProductSearchCapability, ProfileFactory, ProfileFactoryWithOutput, ProfileCapability, RequestContext, Cache } from '@reactionary/core';
1
+ import type { CartFactory, CartFactoryWithOutput, CartCapability, CategoryFactory, CategoryFactoryWithOutput, CategoryCapability, CheckoutFactory, CheckoutFactoryWithOutput, CheckoutCapability, CompanyFactory, CompanyFactoryWithOutput, CompanyCapability, CompanyRegistrationFactory, CompanyRegistrationFactoryWithOutput, CompanyRegistrationCapability, EmployeeFactory, EmployeeFactoryWithOutput, EmployeeCapability, EmployeeInvitationFactory, EmployeeInvitationFactoryWithOutput, EmployeeInvitationCapability, IdentityCapability, InventoryFactory, InventoryFactoryWithOutput, InventoryCapability, PersonalizationProfileFactory, PersonalizationProfileFactoryWithOutput, PersonalizationProfileCapability, OrderFactory, OrderFactoryWithOutput, OrderCapability, OrderSearchFactory, OrderSearchFactoryWithOutput, OrderSearchCapability, PriceFactory, PriceFactoryWithOutput, PriceCapability, ProductAssociationsFactory, ProductAssociationsFactoryWithOutput, ProductAssociationsCapability, ProductFactory, ProductFactoryWithOutput, ProductCapability, ProductRecommendationsCapability, ProductSearchFactory, ProductSearchFactoryWithOutput, ProductSearchCapability, ProfileFactory, ProfileFactoryWithOutput, ProfileCapability, RequestContext, Cache } from '@reactionary/core';
2
2
  import type { MedusaConfiguration } from './configuration.schema.js';
3
3
  import type { MedusaAPI } from '../core/client.js';
4
4
  import * as z from 'zod';
@@ -52,6 +52,26 @@ export declare const MedusaCapabilitiesSchema: z.ZodObject<{
52
52
  enabled: z.ZodBoolean;
53
53
  capability: z.ZodOptional<z.ZodUnknown>;
54
54
  }, z.core.$loose>>>;
55
+ employee: z.ZodOptional<z.ZodOptional<z.ZodObject<{
56
+ enabled: z.ZodBoolean;
57
+ factory: z.ZodOptional<z.ZodUnknown>;
58
+ capability: z.ZodOptional<z.ZodUnknown>;
59
+ }, z.core.$loose>>>;
60
+ employeeInvitation: z.ZodOptional<z.ZodOptional<z.ZodObject<{
61
+ enabled: z.ZodBoolean;
62
+ factory: z.ZodOptional<z.ZodUnknown>;
63
+ capability: z.ZodOptional<z.ZodUnknown>;
64
+ }, z.core.$loose>>>;
65
+ company: z.ZodOptional<z.ZodOptional<z.ZodObject<{
66
+ enabled: z.ZodBoolean;
67
+ factory: z.ZodOptional<z.ZodUnknown>;
68
+ capability: z.ZodOptional<z.ZodUnknown>;
69
+ }, z.core.$loose>>>;
70
+ companyRegistration: z.ZodOptional<z.ZodOptional<z.ZodObject<{
71
+ enabled: z.ZodBoolean;
72
+ factory: z.ZodOptional<z.ZodUnknown>;
73
+ capability: z.ZodOptional<z.ZodUnknown>;
74
+ }, z.core.$loose>>>;
55
75
  profile: z.ZodOptional<z.ZodOptional<z.ZodObject<{
56
76
  enabled: z.ZodBoolean;
57
77
  factory: z.ZodOptional<z.ZodUnknown>;
@@ -94,6 +114,10 @@ export type MedusaProductCapabilityConfig = MedusaCapabilityConfig<ProductFactor
94
114
  export type MedusaProductSearchCapabilityConfig = MedusaCapabilityConfig<ProductSearchFactoryWithOutput<ProductSearchFactory>, ProductSearchCapability>;
95
115
  export type MedusaCartCapabilityConfig = MedusaCapabilityConfig<CartFactoryWithOutput<CartFactory>, CartCapability>;
96
116
  export type MedusaCheckoutCapabilityConfig = MedusaCapabilityConfig<CheckoutFactoryWithOutput<CheckoutFactory>, CheckoutCapability>;
117
+ export type MedusaEmployeeCapabilityConfig = MedusaCapabilityConfig<EmployeeFactoryWithOutput<EmployeeFactory>, EmployeeCapability>;
118
+ export type MedusaEmployeeInvitationCapabilityConfig = MedusaCapabilityConfig<EmployeeInvitationFactoryWithOutput<EmployeeInvitationFactory>, EmployeeInvitationCapability>;
119
+ export type MedusaCompanyCapabilityConfig = MedusaCapabilityConfig<CompanyFactoryWithOutput<CompanyFactory>, CompanyCapability>;
120
+ export type MedusaCompanyRegistrationCapabilityConfig = MedusaCapabilityConfig<CompanyRegistrationFactoryWithOutput<CompanyRegistrationFactory>, CompanyRegistrationCapability>;
97
121
  export type MedusaCategoryCapabilityConfig = MedusaCapabilityConfig<CategoryFactoryWithOutput<CategoryFactory>, CategoryCapability>;
98
122
  export type MedusaPriceCapabilityConfig = MedusaCapabilityConfig<PriceFactoryWithOutput<PriceFactory>, PriceCapability>;
99
123
  export type MedusaOrderCapabilityConfig = MedusaCapabilityConfig<OrderFactoryWithOutput<OrderFactory>, OrderCapability>;
@@ -104,11 +128,15 @@ export type MedusaProfileCapabilityConfig = MedusaCapabilityConfig<ProfileFactor
104
128
  export type MedusaProductAssociationsCapabilityConfig = MedusaCapabilityConfig<ProductAssociationsFactoryWithOutput<ProductAssociationsFactory>, ProductAssociationsCapability>;
105
129
  export type MedusaPersonalizationProfileCapabilityConfig = MedusaCapabilityConfig<PersonalizationProfileFactoryWithOutput<PersonalizationProfileFactory>, PersonalizationProfileCapability>;
106
130
  export type MedusaProductRecommendationsCapabilityConfig = MedusaDirectCapabilityConfig<ProductRecommendationsCapability>;
107
- export type MedusaCapabilities<TProductFactory extends ProductFactory = ProductFactory, TProductCapability extends ProductCapability = ProductCapability, TProductSearchFactory extends ProductSearchFactory = ProductSearchFactory, TProductSearchCapability extends ProductSearchCapability = ProductSearchCapability, TCartFactory extends CartFactory = CartFactory, TCartCapability extends CartCapability = CartCapability, TCheckoutFactory extends CheckoutFactory = CheckoutFactory, TCheckoutCapability extends CheckoutCapability = CheckoutCapability, TCategoryFactory extends CategoryFactory = CategoryFactory, TCategoryCapability extends CategoryCapability = CategoryCapability, TPriceFactory extends PriceFactory = PriceFactory, TPriceCapability extends PriceCapability = PriceCapability, TOrderFactory extends OrderFactory = OrderFactory, TOrderCapability extends OrderCapability = OrderCapability, TOrderSearchFactory extends OrderSearchFactory = OrderSearchFactory, TOrderSearchCapability extends OrderSearchCapability = OrderSearchCapability, TInventoryFactory extends InventoryFactory = InventoryFactory, TInventoryCapability extends InventoryCapability = InventoryCapability, TIdentityCapability extends IdentityCapability = IdentityCapability, TProfileFactory extends ProfileFactory = ProfileFactory, TProfileCapability extends ProfileCapability = ProfileCapability, TProductAssociationsFactory extends ProductAssociationsFactory = ProductAssociationsFactory, TProductAssociationsCapability extends ProductAssociationsCapability = ProductAssociationsCapability, TProductRecommendationsCapability extends ProductRecommendationsCapability = ProductRecommendationsCapability, TPersonalizationProfileFactory extends PersonalizationProfileFactory = PersonalizationProfileFactory, TPersonalizationProfileCapability extends PersonalizationProfileCapability = PersonalizationProfileCapability> = {
131
+ export type MedusaCapabilities<TProductFactory extends ProductFactory = ProductFactory, TProductCapability extends ProductCapability = ProductCapability, TProductSearchFactory extends ProductSearchFactory = ProductSearchFactory, TProductSearchCapability extends ProductSearchCapability = ProductSearchCapability, TCartFactory extends CartFactory = CartFactory, TCartCapability extends CartCapability = CartCapability, TCheckoutFactory extends CheckoutFactory = CheckoutFactory, TCheckoutCapability extends CheckoutCapability = CheckoutCapability, TCategoryFactory extends CategoryFactory = CategoryFactory, TCategoryCapability extends CategoryCapability = CategoryCapability, TPriceFactory extends PriceFactory = PriceFactory, TPriceCapability extends PriceCapability = PriceCapability, TOrderFactory extends OrderFactory = OrderFactory, TOrderCapability extends OrderCapability = OrderCapability, TOrderSearchFactory extends OrderSearchFactory = OrderSearchFactory, TOrderSearchCapability extends OrderSearchCapability = OrderSearchCapability, TInventoryFactory extends InventoryFactory = InventoryFactory, TInventoryCapability extends InventoryCapability = InventoryCapability, TIdentityCapability extends IdentityCapability = IdentityCapability, TProfileFactory extends ProfileFactory = ProfileFactory, TProfileCapability extends ProfileCapability = ProfileCapability, TProductAssociationsFactory extends ProductAssociationsFactory = ProductAssociationsFactory, TProductAssociationsCapability extends ProductAssociationsCapability = ProductAssociationsCapability, TProductRecommendationsCapability extends ProductRecommendationsCapability = ProductRecommendationsCapability, TPersonalizationProfileFactory extends PersonalizationProfileFactory = PersonalizationProfileFactory, TPersonalizationProfileCapability extends PersonalizationProfileCapability = PersonalizationProfileCapability, TEmployeeFactory extends EmployeeFactory = EmployeeFactory, TEmployeeCapability extends EmployeeCapability = EmployeeCapability, TEmployeeInvitationFactory extends EmployeeInvitationFactory = EmployeeInvitationFactory, TEmployeeInvitationCapability extends EmployeeInvitationCapability = EmployeeInvitationCapability, TCompanyFactory extends CompanyFactory = CompanyFactory, TCompanyCapability extends CompanyCapability = CompanyCapability, TCompanyRegistrationFactory extends CompanyRegistrationFactory = CompanyRegistrationFactory, TCompanyRegistrationCapability extends CompanyRegistrationCapability = CompanyRegistrationCapability> = {
108
132
  product?: MedusaCapabilityConfig<ProductFactoryWithOutput<TProductFactory>, TProductCapability>;
109
133
  productSearch?: MedusaCapabilityConfig<ProductSearchFactoryWithOutput<TProductSearchFactory>, TProductSearchCapability>;
110
134
  cart?: MedusaCapabilityConfig<CartFactoryWithOutput<TCartFactory>, TCartCapability>;
111
135
  checkout?: MedusaCapabilityConfig<CheckoutFactoryWithOutput<TCheckoutFactory>, TCheckoutCapability>;
136
+ employee?: MedusaCapabilityConfig<EmployeeFactoryWithOutput<TEmployeeFactory>, TEmployeeCapability>;
137
+ employeeInvitation?: MedusaCapabilityConfig<EmployeeInvitationFactoryWithOutput<TEmployeeInvitationFactory>, TEmployeeInvitationCapability>;
138
+ company?: MedusaCapabilityConfig<CompanyFactoryWithOutput<TCompanyFactory>, TCompanyCapability>;
139
+ companyRegistration?: MedusaCapabilityConfig<CompanyRegistrationFactoryWithOutput<TCompanyRegistrationFactory>, TCompanyRegistrationCapability>;
112
140
  category?: MedusaCapabilityConfig<CategoryFactoryWithOutput<TCategoryFactory>, TCategoryCapability>;
113
141
  price?: MedusaCapabilityConfig<PriceFactoryWithOutput<TPriceFactory>, TPriceCapability>;
114
142
  order?: MedusaCapabilityConfig<OrderFactoryWithOutput<TOrderFactory>, TOrderCapability>;