@posiwise/admin-module 0.0.236 → 0.0.237

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.236",
3
+ "version": "0.0.237",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.2.19",
6
6
  "@angular/core": "^21.2.19",
@@ -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';
@@ -433,6 +434,12 @@ interface DomainConfig {
433
434
  frontend_repo_name?: string;
434
435
  host_name: string;
435
436
  internal_path: string;
437
+ /**
438
+ * Per-domain post-login landing route (main-api#960). Empty → `/home`.
439
+ * Supports a `{slug}` token, substituted with the user's subscription slug,
440
+ * e.g. `{slug}/cloudolive/inputs`.
441
+ */
442
+ login_default_route?: string;
436
443
  shard_name: string;
437
444
  shard_url: string;
438
445
  company_name: string;
@@ -2220,9 +2227,38 @@ declare class AgentDetailsComponent extends AppBaseComponent implements OnInit,
2220
2227
  agentId: number;
2221
2228
  allUsers: any[];
2222
2229
  filteredUsers: any[];
2230
+ readonly payoutProviders: _posiwise_admin_module_utils.PayoutProviderDefinition[];
2231
+ /** False when the API returns a provider this build does not know. */
2232
+ payoutProviderSupported: boolean;
2233
+ /**
2234
+ * AI54 loading gate. The provider control defaults to PayPal, so rendering
2235
+ * it before the agent resolves shows a confident "PayPal" for an ambassador
2236
+ * who is actually on another rail — a blank input reads as "not loaded", a
2237
+ * populated dropdown reads as fact.
2238
+ */
2239
+ payoutLoaded: boolean;
2223
2240
  constructor(adminService: AdminService, groupService: GroupService, config: NgbDatepickerConfig, injector: Injector, cdr: ChangeDetectorRef);
2224
2241
  ngOnInit(): void;
2225
2242
  private getAgentsDetails;
2243
+ /**
2244
+ * Populates the provider dropdown + its destination fields from the API.
2245
+ *
2246
+ * A provider this build does not know (backend shipped a third rail first)
2247
+ * must NOT be coerced to PayPal: doing so would render a blank "PayPal
2248
+ * email" box as if it were the agent's destination and overwrite their real
2249
+ * bank details on save. Instead the payout section is left unvalidated and
2250
+ * excluded from the update payload.
2251
+ */
2252
+ private applyPayoutSelection;
2253
+ /** Re-points `required` at the newly selected provider's fields, so the
2254
+ * hidden provider's inputs can never block submission. */
2255
+ onPayoutProviderChange(provider: PayoutProvider): void;
2256
+ /** Only the selected rail's fields — a SWIFT code and a domestic routing
2257
+ * code are alternatives, never both. */
2258
+ get payoutFields(): _posiwise_admin_module_utils.PayoutFieldDefinition[];
2259
+ /** The rail dropdown changes which fields are required, so validators are
2260
+ * re-pointed exactly as on a provider change. */
2261
+ onTransferMethodChange(): void;
2226
2262
  updateDetails(): void;
2227
2263
  private getUsers;
2228
2264
  search(event: any): void;
@@ -4925,6 +4961,29 @@ declare class SubscriptionAgentsListComponent extends AppBaseComponent implement
4925
4961
  private getAgentsDetails;
4926
4962
  private getUsers;
4927
4963
  search(event: any): void;
4964
+ readonly payoutProviders: _posiwise_admin_module_utils.PayoutProviderDefinition[];
4965
+ /** Only the selected rail's fields — see visiblePayoutFields. */
4966
+ get payoutFields(): _posiwise_admin_module_utils.PayoutFieldDefinition[];
4967
+ /** The rail changes which fields are required, so it re-syncs validators
4968
+ * exactly as a provider change does. */
4969
+ onTransferMethodChange(): void;
4970
+ /**
4971
+ * This form creates ONE agent per selected ambassador, but a payout
4972
+ * destination (a PayPal address, a bank account) belongs to exactly one
4973
+ * person — applying it to a bulk selection would send several people's
4974
+ * commission to the same account. So the destination fields only appear for
4975
+ * a single selection; bulk-added ambassadors get the provider and fill in
4976
+ * their destination on the edit screen.
4977
+ */
4978
+ get isSingleAmbassadorSelected(): boolean;
4979
+ onPayoutProviderChange(_provider: PayoutProvider): void;
4980
+ /**
4981
+ * Validator state depends on BOTH the provider and how many ambassadors are
4982
+ * selected. On a bulk add the destination inputs are not rendered, so
4983
+ * leaving `required` on them would make the form invalid with nothing on
4984
+ * screen to fix — a silent dead end.
4985
+ */
4986
+ private syncPayoutValidators;
4928
4987
  onAddEmbassador(): void;
4929
4988
  onDelete(userId: number): void;
4930
4989
  static ɵfac: i0.ɵɵFactoryDeclaration<SubscriptionAgentsListComponent, never>;