@posiwise/admin-module 0.0.236 → 0.0.238

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.238",
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,33 @@ 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
+ get payoutFields(): _posiwise_admin_module_utils.PayoutFieldDefinition[];
2226
2257
  updateDetails(): void;
2227
2258
  private getUsers;
2228
2259
  search(event: any): void;
@@ -4925,6 +4956,33 @@ declare class SubscriptionAgentsListComponent extends AppBaseComponent implement
4925
4956
  private getAgentsDetails;
4926
4957
  private getUsers;
4927
4958
  search(event: any): void;
4959
+ readonly payoutProviders: _posiwise_admin_module_utils.PayoutProviderDefinition[];
4960
+ get payoutFields(): _posiwise_admin_module_utils.PayoutFieldDefinition[];
4961
+ /**
4962
+ * This form creates ONE agent per selected ambassador, but a payout
4963
+ * destination (a PayPal address, a bank account) belongs to exactly one
4964
+ * person — applying it to a bulk selection would send several people's
4965
+ * commission to the same account. So the destination fields only appear for
4966
+ * a single selection; bulk-added ambassadors get the provider and fill in
4967
+ * their destination on the edit screen.
4968
+ */
4969
+ get isSingleAmbassadorSelected(): boolean;
4970
+ /**
4971
+ * Only a genuine MULTI-selection gets the bulk hint. Gating it on
4972
+ * `!isSingleAmbassadorSelected` also caught the zero-selected case, so a
4973
+ * blank form explained bulk-add behaviour before anything had been picked —
4974
+ * and the message then vanished the moment one ambassador was chosen.
4975
+ */
4976
+ get isBulkAmbassadorSelection(): boolean;
4977
+ private get selectedAmbassadorCount();
4978
+ onPayoutProviderChange(_provider: PayoutProvider): void;
4979
+ /**
4980
+ * Validator state depends on BOTH the provider and how many ambassadors are
4981
+ * selected. On a bulk add the destination inputs are not rendered, so
4982
+ * leaving `required` on them would make the form invalid with nothing on
4983
+ * screen to fix — a silent dead end.
4984
+ */
4985
+ private syncPayoutValidators;
4928
4986
  onAddEmbassador(): void;
4929
4987
  onDelete(userId: number): void;
4930
4988
  static ɵfac: i0.ɵɵFactoryDeclaration<SubscriptionAgentsListComponent, never>;