@posiwise/admin-module 0.0.233 → 0.0.234

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posiwise/admin-module",
3
- "version": "0.0.233",
3
+ "version": "0.0.234",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.2.6",
6
6
  "@angular/core": "^21.2.6",
@@ -3,7 +3,8 @@ import { Injector, OnInit, OnDestroy, ChangeDetectorRef, AfterViewInit, QueryLis
3
3
  import { PermissionService, AuthService, CommonService, ProductService, SubscriptionService, NgbDateCustomParserFormatter, TagService, TipsService, GroupService, CustomToastService, WindowService, AhoyService, UserService, FeatureFlagService } from '@posiwise/common-services';
4
4
  import { MenuItem, LazyLoadEvent, SelectItem } from 'primeng/api';
5
5
  import { AppBaseComponent } from '@posiwise/app-base-component';
6
- import { AdminService, McpOauthClient, McpOauthClientService, AdminDataService } from '@posiwise/admin-module-utils';
6
+ import * as _posiwise_admin_module_utils from '@posiwise/admin-module-utils';
7
+ import { AdminService, PayoutProvider, McpOauthClient, McpOauthClientService, AdminDataService } from '@posiwise/admin-module-utils';
7
8
  import * as i127 from '@posiwise/shared-components';
8
9
  import { ConfirmDialogService, PermissionTreeComponent, CollapsibleSidebarService, PasswordValidationComponent } from '@posiwise/shared-components';
9
10
  import * as _angular_forms from '@angular/forms';
@@ -2220,9 +2221,33 @@ declare class AgentDetailsComponent extends AppBaseComponent implements OnInit,
2220
2221
  agentId: number;
2221
2222
  allUsers: any[];
2222
2223
  filteredUsers: any[];
2224
+ readonly payoutProviders: _posiwise_admin_module_utils.PayoutProviderDefinition[];
2225
+ /** False when the API returns a provider this build does not know. */
2226
+ payoutProviderSupported: boolean;
2227
+ /**
2228
+ * AI54 loading gate. The provider control defaults to PayPal, so rendering
2229
+ * it before the agent resolves shows a confident "PayPal" for an ambassador
2230
+ * who is actually on another rail — a blank input reads as "not loaded", a
2231
+ * populated dropdown reads as fact.
2232
+ */
2233
+ payoutLoaded: boolean;
2223
2234
  constructor(adminService: AdminService, groupService: GroupService, config: NgbDatepickerConfig, injector: Injector, cdr: ChangeDetectorRef);
2224
2235
  ngOnInit(): void;
2225
2236
  private getAgentsDetails;
2237
+ /**
2238
+ * Populates the provider dropdown + its destination fields from the API.
2239
+ *
2240
+ * A provider this build does not know (backend shipped a third rail first)
2241
+ * must NOT be coerced to PayPal: doing so would render a blank "PayPal
2242
+ * email" box as if it were the agent's destination and overwrite their real
2243
+ * bank details on save. Instead the payout section is left unvalidated and
2244
+ * excluded from the update payload.
2245
+ */
2246
+ private applyPayoutSelection;
2247
+ /** Re-points `required` at the newly selected provider's fields, so the
2248
+ * hidden provider's inputs can never block submission. */
2249
+ onPayoutProviderChange(provider: PayoutProvider): void;
2250
+ get payoutFields(): _posiwise_admin_module_utils.PayoutFieldDefinition[];
2226
2251
  updateDetails(): void;
2227
2252
  private getUsers;
2228
2253
  search(event: any): void;
@@ -4925,6 +4950,25 @@ declare class SubscriptionAgentsListComponent extends AppBaseComponent implement
4925
4950
  private getAgentsDetails;
4926
4951
  private getUsers;
4927
4952
  search(event: any): void;
4953
+ readonly payoutProviders: _posiwise_admin_module_utils.PayoutProviderDefinition[];
4954
+ get payoutFields(): _posiwise_admin_module_utils.PayoutFieldDefinition[];
4955
+ /**
4956
+ * This form creates ONE agent per selected ambassador, but a payout
4957
+ * destination (a PayPal address, a bank account) belongs to exactly one
4958
+ * person — applying it to a bulk selection would send several people's
4959
+ * commission to the same account. So the destination fields only appear for
4960
+ * a single selection; bulk-added ambassadors get the provider and fill in
4961
+ * their destination on the edit screen.
4962
+ */
4963
+ get isSingleAmbassadorSelected(): boolean;
4964
+ onPayoutProviderChange(_provider: PayoutProvider): void;
4965
+ /**
4966
+ * Validator state depends on BOTH the provider and how many ambassadors are
4967
+ * selected. On a bulk add the destination inputs are not rendered, so
4968
+ * leaving `required` on them would make the form invalid with nothing on
4969
+ * screen to fix — a silent dead end.
4970
+ */
4971
+ private syncPayoutValidators;
4928
4972
  onAddEmbassador(): void;
4929
4973
  onDelete(userId: number): void;
4930
4974
  static ɵfac: i0.ɵɵFactoryDeclaration<SubscriptionAgentsListComponent, never>;