strapi-plugin-magic-mail 2.9.0 → 2.9.1

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.
@@ -51493,16 +51493,24 @@ var controllers$1 = {
51493
51493
  whatsapp: whatsapp$2,
51494
51494
  pluginSettings: pluginSettings$2
51495
51495
  };
51496
+ const PLUGIN_ACCESS_ACTION = "plugin::magic-mail.access";
51497
+ const adminPolicy = () => [
51498
+ "admin::isAuthenticatedAdmin",
51499
+ {
51500
+ name: "admin::hasPermissions",
51501
+ config: { actions: [PLUGIN_ACCESS_ACTION] }
51502
+ }
51503
+ ];
51496
51504
  var admin$1 = {
51497
51505
  type: "admin",
51498
51506
  routes: [
51499
- // Account Management
51507
+ // ─────────────────────── Account Management ───────────────────────
51500
51508
  {
51501
51509
  method: "GET",
51502
51510
  path: "/accounts",
51503
51511
  handler: "accounts.getAll",
51504
51512
  config: {
51505
- policies: ["admin::isAuthenticatedAdmin"],
51513
+ policies: adminPolicy(),
51506
51514
  description: "Get all email accounts"
51507
51515
  }
51508
51516
  },
@@ -51511,7 +51519,7 @@ var admin$1 = {
51511
51519
  path: "/accounts/:accountId",
51512
51520
  handler: "accounts.getOne",
51513
51521
  config: {
51514
- policies: ["admin::isAuthenticatedAdmin"],
51522
+ policies: adminPolicy(),
51515
51523
  description: "Get single email account with decrypted config"
51516
51524
  }
51517
51525
  },
@@ -51520,7 +51528,7 @@ var admin$1 = {
51520
51528
  path: "/accounts",
51521
51529
  handler: "accounts.create",
51522
51530
  config: {
51523
- policies: ["admin::isAuthenticatedAdmin"],
51531
+ policies: adminPolicy(),
51524
51532
  description: "Create email account"
51525
51533
  }
51526
51534
  },
@@ -51529,7 +51537,7 @@ var admin$1 = {
51529
51537
  path: "/accounts/:accountId",
51530
51538
  handler: "accounts.update",
51531
51539
  config: {
51532
- policies: ["admin::isAuthenticatedAdmin"],
51540
+ policies: adminPolicy(),
51533
51541
  description: "Update email account"
51534
51542
  }
51535
51543
  },
@@ -51538,7 +51546,7 @@ var admin$1 = {
51538
51546
  path: "/accounts/:accountId/test",
51539
51547
  handler: "accounts.test",
51540
51548
  config: {
51541
- policies: ["admin::isAuthenticatedAdmin"],
51549
+ policies: adminPolicy(),
51542
51550
  description: "Test email account"
51543
51551
  }
51544
51552
  },
@@ -51547,7 +51555,7 @@ var admin$1 = {
51547
51555
  path: "/test-strapi-service",
51548
51556
  handler: "accounts.testStrapiService",
51549
51557
  config: {
51550
- policies: ["admin::isAuthenticatedAdmin"],
51558
+ policies: adminPolicy(),
51551
51559
  description: "Test Strapi Email Service integration (MagicMail intercept)"
51552
51560
  }
51553
51561
  },
@@ -51556,17 +51564,17 @@ var admin$1 = {
51556
51564
  path: "/accounts/:accountId",
51557
51565
  handler: "accounts.delete",
51558
51566
  config: {
51559
- policies: ["admin::isAuthenticatedAdmin"],
51567
+ policies: adminPolicy(),
51560
51568
  description: "Delete email account"
51561
51569
  }
51562
51570
  },
51563
- // Routing Rules
51571
+ // ─────────────────────── Routing Rules ───────────────────────
51564
51572
  {
51565
51573
  method: "GET",
51566
51574
  path: "/routing-rules",
51567
51575
  handler: "routingRules.getAll",
51568
51576
  config: {
51569
- policies: ["admin::isAuthenticatedAdmin"],
51577
+ policies: adminPolicy(),
51570
51578
  description: "Get all routing rules"
51571
51579
  }
51572
51580
  },
@@ -51575,7 +51583,7 @@ var admin$1 = {
51575
51583
  path: "/routing-rules/:ruleId",
51576
51584
  handler: "routingRules.getOne",
51577
51585
  config: {
51578
- policies: ["admin::isAuthenticatedAdmin"],
51586
+ policies: adminPolicy(),
51579
51587
  description: "Get single routing rule"
51580
51588
  }
51581
51589
  },
@@ -51584,7 +51592,7 @@ var admin$1 = {
51584
51592
  path: "/routing-rules",
51585
51593
  handler: "routingRules.create",
51586
51594
  config: {
51587
- policies: ["admin::isAuthenticatedAdmin"],
51595
+ policies: adminPolicy(),
51588
51596
  description: "Create routing rule"
51589
51597
  }
51590
51598
  },
@@ -51593,7 +51601,7 @@ var admin$1 = {
51593
51601
  path: "/routing-rules/:ruleId",
51594
51602
  handler: "routingRules.update",
51595
51603
  config: {
51596
- policies: ["admin::isAuthenticatedAdmin"],
51604
+ policies: adminPolicy(),
51597
51605
  description: "Update routing rule"
51598
51606
  }
51599
51607
  },
@@ -51602,23 +51610,21 @@ var admin$1 = {
51602
51610
  path: "/routing-rules/:ruleId",
51603
51611
  handler: "routingRules.delete",
51604
51612
  config: {
51605
- policies: ["admin::isAuthenticatedAdmin"],
51613
+ policies: adminPolicy(),
51606
51614
  description: "Delete routing rule"
51607
51615
  }
51608
51616
  },
51609
- // OAuth Routes - Gmail
51610
- // The /auth endpoints are admin-only (they produce OAuth URLs for the
51611
- // currently-authenticated admin). The /callback endpoints must stay
51612
- // public because the upstream OAuth provider (Google/Microsoft/Yahoo)
51613
- // cannot send a bearer token on the redirect back — security is
51614
- // enforced by the signed, one-time-use state parameter that callback
51615
- // + token exchange verify.
51617
+ // ─────────────────────── OAuth Gmail ───────────────────────
51618
+ // /auth endpoints are admin-only (they generate the OAuth URL for
51619
+ // the currently-authenticated admin). /callback MUST remain public
51620
+ // because Google/Microsoft/Yahoo can't send a bearer token on the
51621
+ // redirect security is enforced by the signed single-use state.
51616
51622
  {
51617
51623
  method: "GET",
51618
51624
  path: "/oauth/gmail/auth",
51619
51625
  handler: "oauth.gmailAuth",
51620
51626
  config: {
51621
- policies: ["admin::isAuthenticatedAdmin"],
51627
+ policies: adminPolicy(),
51622
51628
  description: "Initiate Gmail OAuth flow"
51623
51629
  }
51624
51630
  },
@@ -51632,13 +51638,13 @@ var admin$1 = {
51632
51638
  description: "Gmail OAuth callback"
51633
51639
  }
51634
51640
  },
51635
- // OAuth Routes - Microsoft
51641
+ // ─────────────────────── OAuth Microsoft ───────────────────────
51636
51642
  {
51637
51643
  method: "GET",
51638
51644
  path: "/oauth/microsoft/auth",
51639
51645
  handler: "oauth.microsoftAuth",
51640
51646
  config: {
51641
- policies: ["admin::isAuthenticatedAdmin"],
51647
+ policies: adminPolicy(),
51642
51648
  description: "Initiate Microsoft OAuth flow"
51643
51649
  }
51644
51650
  },
@@ -51652,13 +51658,13 @@ var admin$1 = {
51652
51658
  description: "Microsoft OAuth callback"
51653
51659
  }
51654
51660
  },
51655
- // OAuth Routes - Yahoo
51661
+ // ─────────────────────── OAuth Yahoo ───────────────────────
51656
51662
  {
51657
51663
  method: "GET",
51658
51664
  path: "/oauth/yahoo/auth",
51659
51665
  handler: "oauth.yahooAuth",
51660
51666
  config: {
51661
- policies: ["admin::isAuthenticatedAdmin"],
51667
+ policies: adminPolicy(),
51662
51668
  description: "Initiate Yahoo OAuth flow"
51663
51669
  }
51664
51670
  },
@@ -51672,23 +51678,23 @@ var admin$1 = {
51672
51678
  description: "Yahoo OAuth callback"
51673
51679
  }
51674
51680
  },
51675
- // OAuth Routes - Generic
51681
+ // ─────────────────────── OAuth Generic ───────────────────────
51676
51682
  {
51677
51683
  method: "POST",
51678
51684
  path: "/oauth/create-account",
51679
51685
  handler: "oauth.createOAuthAccount",
51680
51686
  config: {
51681
- policies: ["admin::isAuthenticatedAdmin"],
51687
+ policies: adminPolicy(),
51682
51688
  description: "Create account from OAuth"
51683
51689
  }
51684
51690
  },
51685
- // License Routes
51691
+ // ─────────────────────── License ───────────────────────
51686
51692
  {
51687
51693
  method: "GET",
51688
51694
  path: "/license/status",
51689
51695
  handler: "license.getStatus",
51690
51696
  config: {
51691
- policies: ["admin::isAuthenticatedAdmin"],
51697
+ policies: adminPolicy(),
51692
51698
  description: "Get license status"
51693
51699
  }
51694
51700
  },
@@ -51697,7 +51703,7 @@ var admin$1 = {
51697
51703
  path: "/license/auto-create",
51698
51704
  handler: "license.autoCreate",
51699
51705
  config: {
51700
- policies: ["admin::isAuthenticatedAdmin"],
51706
+ policies: adminPolicy(),
51701
51707
  description: "Auto-create license with admin user data"
51702
51708
  }
51703
51709
  },
@@ -51706,7 +51712,7 @@ var admin$1 = {
51706
51712
  path: "/license/store-key",
51707
51713
  handler: "license.storeKey",
51708
51714
  config: {
51709
- policies: ["admin::isAuthenticatedAdmin"],
51715
+ policies: adminPolicy(),
51710
51716
  description: "Store and validate existing license key"
51711
51717
  }
51712
51718
  },
@@ -51715,7 +51721,7 @@ var admin$1 = {
51715
51721
  path: "/license/limits",
51716
51722
  handler: "license.getLimits",
51717
51723
  config: {
51718
- policies: ["admin::isAuthenticatedAdmin"],
51724
+ policies: adminPolicy(),
51719
51725
  description: "Get license limits and available features"
51720
51726
  }
51721
51727
  },
@@ -51724,17 +51730,17 @@ var admin$1 = {
51724
51730
  path: "/license/debug",
51725
51731
  handler: "license.debugLicense",
51726
51732
  config: {
51727
- policies: ["admin::isAuthenticatedAdmin"],
51733
+ policies: adminPolicy(),
51728
51734
  description: "Debug license data"
51729
51735
  }
51730
51736
  },
51731
- // Email Designer Routes
51737
+ // ─────────────────────── Email Designer ───────────────────────
51732
51738
  {
51733
51739
  method: "GET",
51734
51740
  path: "/designer/templates",
51735
51741
  handler: "emailDesigner.findAll",
51736
51742
  config: {
51737
- policies: ["admin::isAuthenticatedAdmin"],
51743
+ policies: adminPolicy(),
51738
51744
  description: "Get all email templates"
51739
51745
  }
51740
51746
  },
@@ -51743,7 +51749,7 @@ var admin$1 = {
51743
51749
  path: "/designer/templates/:id",
51744
51750
  handler: "emailDesigner.findOne",
51745
51751
  config: {
51746
- policies: ["admin::isAuthenticatedAdmin"],
51752
+ policies: adminPolicy(),
51747
51753
  description: "Get email template by ID"
51748
51754
  }
51749
51755
  },
@@ -51752,7 +51758,7 @@ var admin$1 = {
51752
51758
  path: "/designer/templates",
51753
51759
  handler: "emailDesigner.create",
51754
51760
  config: {
51755
- policies: ["admin::isAuthenticatedAdmin"],
51761
+ policies: adminPolicy(),
51756
51762
  description: "Create email template"
51757
51763
  }
51758
51764
  },
@@ -51761,7 +51767,7 @@ var admin$1 = {
51761
51767
  path: "/designer/templates/:id",
51762
51768
  handler: "emailDesigner.update",
51763
51769
  config: {
51764
- policies: ["admin::isAuthenticatedAdmin"],
51770
+ policies: adminPolicy(),
51765
51771
  description: "Update email template"
51766
51772
  }
51767
51773
  },
@@ -51770,7 +51776,7 @@ var admin$1 = {
51770
51776
  path: "/designer/templates/:id",
51771
51777
  handler: "emailDesigner.delete",
51772
51778
  config: {
51773
- policies: ["admin::isAuthenticatedAdmin"],
51779
+ policies: adminPolicy(),
51774
51780
  description: "Delete email template"
51775
51781
  }
51776
51782
  },
@@ -51779,7 +51785,7 @@ var admin$1 = {
51779
51785
  path: "/designer/templates/:id/versions",
51780
51786
  handler: "emailDesigner.getVersions",
51781
51787
  config: {
51782
- policies: ["admin::isAuthenticatedAdmin"],
51788
+ policies: adminPolicy(),
51783
51789
  description: "Get template versions"
51784
51790
  }
51785
51791
  },
@@ -51788,7 +51794,7 @@ var admin$1 = {
51788
51794
  path: "/designer/templates/:id/versions/:versionId/restore",
51789
51795
  handler: "emailDesigner.restoreVersion",
51790
51796
  config: {
51791
- policies: ["admin::isAuthenticatedAdmin"],
51797
+ policies: adminPolicy(),
51792
51798
  description: "Restore template from version"
51793
51799
  }
51794
51800
  },
@@ -51797,7 +51803,7 @@ var admin$1 = {
51797
51803
  path: "/designer/templates/:id/versions/:versionId/delete",
51798
51804
  handler: "emailDesigner.deleteVersion",
51799
51805
  config: {
51800
- policies: ["admin::isAuthenticatedAdmin"],
51806
+ policies: adminPolicy(),
51801
51807
  description: "Delete a single version"
51802
51808
  }
51803
51809
  },
@@ -51806,7 +51812,7 @@ var admin$1 = {
51806
51812
  path: "/designer/templates/:id/versions/delete-all",
51807
51813
  handler: "emailDesigner.deleteAllVersions",
51808
51814
  config: {
51809
- policies: ["admin::isAuthenticatedAdmin"],
51815
+ policies: adminPolicy(),
51810
51816
  description: "Delete all versions for a template"
51811
51817
  }
51812
51818
  },
@@ -51815,7 +51821,7 @@ var admin$1 = {
51815
51821
  path: "/designer/render/:templateReferenceId",
51816
51822
  handler: "emailDesigner.renderTemplate",
51817
51823
  config: {
51818
- policies: ["admin::isAuthenticatedAdmin"],
51824
+ policies: adminPolicy(),
51819
51825
  description: "Render template with data"
51820
51826
  }
51821
51827
  },
@@ -51824,7 +51830,7 @@ var admin$1 = {
51824
51830
  path: "/designer/export",
51825
51831
  handler: "emailDesigner.exportTemplates",
51826
51832
  config: {
51827
- policies: ["admin::isAuthenticatedAdmin"],
51833
+ policies: adminPolicy(),
51828
51834
  description: "Export templates (ADVANCED+)"
51829
51835
  }
51830
51836
  },
@@ -51833,7 +51839,7 @@ var admin$1 = {
51833
51839
  path: "/designer/import",
51834
51840
  handler: "emailDesigner.importTemplates",
51835
51841
  config: {
51836
- policies: ["admin::isAuthenticatedAdmin"],
51842
+ policies: adminPolicy(),
51837
51843
  description: "Import templates (ADVANCED+)"
51838
51844
  }
51839
51845
  },
@@ -51842,7 +51848,7 @@ var admin$1 = {
51842
51848
  path: "/designer/stats",
51843
51849
  handler: "emailDesigner.getStats",
51844
51850
  config: {
51845
- policies: ["admin::isAuthenticatedAdmin"],
51851
+ policies: adminPolicy(),
51846
51852
  description: "Get template statistics"
51847
51853
  }
51848
51854
  },
@@ -51851,7 +51857,7 @@ var admin$1 = {
51851
51857
  path: "/designer/core/:coreEmailType",
51852
51858
  handler: "emailDesigner.getCoreTemplate",
51853
51859
  config: {
51854
- policies: ["admin::isAuthenticatedAdmin"],
51860
+ policies: adminPolicy(),
51855
51861
  description: "Get core email template"
51856
51862
  }
51857
51863
  },
@@ -51860,7 +51866,7 @@ var admin$1 = {
51860
51866
  path: "/designer/core/:coreEmailType",
51861
51867
  handler: "emailDesigner.updateCoreTemplate",
51862
51868
  config: {
51863
- policies: ["admin::isAuthenticatedAdmin"],
51869
+ policies: adminPolicy(),
51864
51870
  description: "Update core email template"
51865
51871
  }
51866
51872
  },
@@ -51869,7 +51875,7 @@ var admin$1 = {
51869
51875
  path: "/designer/templates/:id/download",
51870
51876
  handler: "emailDesigner.download",
51871
51877
  config: {
51872
- policies: ["admin::isAuthenticatedAdmin"],
51878
+ policies: adminPolicy(),
51873
51879
  description: "Download template as HTML or JSON"
51874
51880
  }
51875
51881
  },
@@ -51878,7 +51884,7 @@ var admin$1 = {
51878
51884
  path: "/designer/templates/:id/duplicate",
51879
51885
  handler: "emailDesigner.duplicate",
51880
51886
  config: {
51881
- policies: ["admin::isAuthenticatedAdmin"],
51887
+ policies: adminPolicy(),
51882
51888
  description: "Duplicate template"
51883
51889
  }
51884
51890
  },
@@ -51887,17 +51893,17 @@ var admin$1 = {
51887
51893
  path: "/designer/templates/:id/test-send",
51888
51894
  handler: "emailDesigner.testSend",
51889
51895
  config: {
51890
- policies: ["admin::isAuthenticatedAdmin"],
51896
+ policies: adminPolicy(),
51891
51897
  description: "Send test email for template"
51892
51898
  }
51893
51899
  },
51894
- // Analytics & Tracking
51900
+ // ─────────────────────── Analytics & Tracking ───────────────────────
51895
51901
  {
51896
51902
  method: "GET",
51897
51903
  path: "/analytics/stats",
51898
51904
  handler: "analytics.getStats",
51899
51905
  config: {
51900
- policies: ["admin::isAuthenticatedAdmin"],
51906
+ policies: adminPolicy(),
51901
51907
  description: "Get analytics statistics"
51902
51908
  }
51903
51909
  },
@@ -51906,7 +51912,7 @@ var admin$1 = {
51906
51912
  path: "/analytics/emails",
51907
51913
  handler: "analytics.getEmailLogs",
51908
51914
  config: {
51909
- policies: ["admin::isAuthenticatedAdmin"],
51915
+ policies: adminPolicy(),
51910
51916
  description: "Get email logs"
51911
51917
  }
51912
51918
  },
@@ -51915,7 +51921,7 @@ var admin$1 = {
51915
51921
  path: "/analytics/emails/:emailId",
51916
51922
  handler: "analytics.getEmailDetails",
51917
51923
  config: {
51918
- policies: ["admin::isAuthenticatedAdmin"],
51924
+ policies: adminPolicy(),
51919
51925
  description: "Get email details"
51920
51926
  }
51921
51927
  },
@@ -51924,7 +51930,7 @@ var admin$1 = {
51924
51930
  path: "/analytics/users/:userId",
51925
51931
  handler: "analytics.getUserActivity",
51926
51932
  config: {
51927
- policies: ["admin::isAuthenticatedAdmin"],
51933
+ policies: adminPolicy(),
51928
51934
  description: "Get user email activity"
51929
51935
  }
51930
51936
  },
@@ -51933,7 +51939,7 @@ var admin$1 = {
51933
51939
  path: "/analytics/debug",
51934
51940
  handler: "analytics.debug",
51935
51941
  config: {
51936
- policies: ["admin::isAuthenticatedAdmin"],
51942
+ policies: adminPolicy(),
51937
51943
  description: "Debug analytics state"
51938
51944
  }
51939
51945
  },
@@ -51942,7 +51948,7 @@ var admin$1 = {
51942
51948
  path: "/analytics/emails/:emailId",
51943
51949
  handler: "analytics.deleteEmailLog",
51944
51950
  config: {
51945
- policies: ["admin::isAuthenticatedAdmin"],
51951
+ policies: adminPolicy(),
51946
51952
  description: "Delete single email log"
51947
51953
  }
51948
51954
  },
@@ -51951,27 +51957,27 @@ var admin$1 = {
51951
51957
  path: "/analytics/emails",
51952
51958
  handler: "analytics.clearAllEmailLogs",
51953
51959
  config: {
51954
- policies: ["admin::isAuthenticatedAdmin"],
51960
+ policies: adminPolicy(),
51955
51961
  description: "Clear all email logs"
51956
51962
  }
51957
51963
  },
51958
- // Test Routes (Development)
51964
+ // ─────────────────────── Test (Dev) ───────────────────────
51959
51965
  {
51960
51966
  method: "POST",
51961
51967
  path: "/test/relations",
51962
51968
  handler: "test.testRelations",
51963
51969
  config: {
51964
- policies: ["admin::isAuthenticatedAdmin"],
51970
+ policies: adminPolicy(),
51965
51971
  description: "Test template-version relations"
51966
51972
  }
51967
51973
  },
51968
- // WhatsApp Routes
51974
+ // ─────────────────────── WhatsApp ───────────────────────
51969
51975
  {
51970
51976
  method: "GET",
51971
51977
  path: "/whatsapp/available",
51972
51978
  handler: "whatsapp.checkAvailable",
51973
51979
  config: {
51974
- policies: ["admin::isAuthenticatedAdmin"],
51980
+ policies: adminPolicy(),
51975
51981
  description: "Check if WhatsApp/Baileys is available"
51976
51982
  }
51977
51983
  },
@@ -51980,7 +51986,7 @@ var admin$1 = {
51980
51986
  path: "/whatsapp/status",
51981
51987
  handler: "whatsapp.getStatus",
51982
51988
  config: {
51983
- policies: ["admin::isAuthenticatedAdmin"],
51989
+ policies: adminPolicy(),
51984
51990
  description: "Get WhatsApp connection status"
51985
51991
  }
51986
51992
  },
@@ -51989,7 +51995,7 @@ var admin$1 = {
51989
51995
  path: "/whatsapp/connect",
51990
51996
  handler: "whatsapp.connect",
51991
51997
  config: {
51992
- policies: ["admin::isAuthenticatedAdmin"],
51998
+ policies: adminPolicy(),
51993
51999
  description: "Connect to WhatsApp (generates QR if needed)"
51994
52000
  }
51995
52001
  },
@@ -51998,7 +52004,7 @@ var admin$1 = {
51998
52004
  path: "/whatsapp/disconnect",
51999
52005
  handler: "whatsapp.disconnect",
52000
52006
  config: {
52001
- policies: ["admin::isAuthenticatedAdmin"],
52007
+ policies: adminPolicy(),
52002
52008
  description: "Disconnect from WhatsApp"
52003
52009
  }
52004
52010
  },
@@ -52007,7 +52013,7 @@ var admin$1 = {
52007
52013
  path: "/whatsapp/send-test",
52008
52014
  handler: "whatsapp.sendTest",
52009
52015
  config: {
52010
- policies: ["admin::isAuthenticatedAdmin"],
52016
+ policies: adminPolicy(),
52011
52017
  description: "Send a test WhatsApp message"
52012
52018
  }
52013
52019
  },
@@ -52016,7 +52022,7 @@ var admin$1 = {
52016
52022
  path: "/whatsapp/send-template",
52017
52023
  handler: "whatsapp.sendTemplateMessage",
52018
52024
  config: {
52019
- policies: ["admin::isAuthenticatedAdmin"],
52025
+ policies: adminPolicy(),
52020
52026
  description: "Send WhatsApp message using template"
52021
52027
  }
52022
52028
  },
@@ -52025,7 +52031,7 @@ var admin$1 = {
52025
52031
  path: "/whatsapp/check-number",
52026
52032
  handler: "whatsapp.checkNumber",
52027
52033
  config: {
52028
- policies: ["admin::isAuthenticatedAdmin"],
52034
+ policies: adminPolicy(),
52029
52035
  description: "Check if phone number is on WhatsApp"
52030
52036
  }
52031
52037
  },
@@ -52034,7 +52040,7 @@ var admin$1 = {
52034
52040
  path: "/whatsapp/templates",
52035
52041
  handler: "whatsapp.getTemplates",
52036
52042
  config: {
52037
- policies: ["admin::isAuthenticatedAdmin"],
52043
+ policies: adminPolicy(),
52038
52044
  description: "Get all WhatsApp message templates"
52039
52045
  }
52040
52046
  },
@@ -52043,7 +52049,7 @@ var admin$1 = {
52043
52049
  path: "/whatsapp/templates",
52044
52050
  handler: "whatsapp.saveTemplate",
52045
52051
  config: {
52046
- policies: ["admin::isAuthenticatedAdmin"],
52052
+ policies: adminPolicy(),
52047
52053
  description: "Save a WhatsApp message template"
52048
52054
  }
52049
52055
  },
@@ -52052,7 +52058,7 @@ var admin$1 = {
52052
52058
  path: "/whatsapp/templates/:templateName",
52053
52059
  handler: "whatsapp.deleteTemplate",
52054
52060
  config: {
52055
- policies: ["admin::isAuthenticatedAdmin"],
52061
+ policies: adminPolicy(),
52056
52062
  description: "Delete a WhatsApp message template"
52057
52063
  }
52058
52064
  },
@@ -52061,17 +52067,17 @@ var admin$1 = {
52061
52067
  path: "/whatsapp/session",
52062
52068
  handler: "whatsapp.getSession",
52063
52069
  config: {
52064
- policies: ["admin::isAuthenticatedAdmin"],
52070
+ policies: adminPolicy(),
52065
52071
  description: "Get WhatsApp session info"
52066
52072
  }
52067
52073
  },
52068
- // Plugin Settings Routes
52074
+ // ─────────────────────── Plugin Settings ───────────────────────
52069
52075
  {
52070
52076
  method: "GET",
52071
52077
  path: "/settings",
52072
52078
  handler: "pluginSettings.getSettings",
52073
52079
  config: {
52074
- policies: ["admin::isAuthenticatedAdmin"],
52080
+ policies: adminPolicy(),
52075
52081
  description: "Get plugin settings"
52076
52082
  }
52077
52083
  },
@@ -52080,7 +52086,7 @@ var admin$1 = {
52080
52086
  path: "/settings",
52081
52087
  handler: "pluginSettings.updateSettings",
52082
52088
  config: {
52083
- policies: ["admin::isAuthenticatedAdmin"],
52089
+ policies: adminPolicy(),
52084
52090
  description: "Update plugin settings"
52085
52091
  }
52086
52092
  }
@@ -63348,7 +63354,7 @@ var oauth$1 = ({ strapi: strapi2 }) => ({
63348
63354
  return account;
63349
63355
  }
63350
63356
  });
63351
- const version = "2.8.4";
63357
+ const version = "2.9.0";
63352
63358
  const require$$2 = {
63353
63359
  version
63354
63360
  };
@@ -51457,16 +51457,24 @@ var controllers$1 = {
51457
51457
  whatsapp: whatsapp$2,
51458
51458
  pluginSettings: pluginSettings$2
51459
51459
  };
51460
+ const PLUGIN_ACCESS_ACTION = "plugin::magic-mail.access";
51461
+ const adminPolicy = () => [
51462
+ "admin::isAuthenticatedAdmin",
51463
+ {
51464
+ name: "admin::hasPermissions",
51465
+ config: { actions: [PLUGIN_ACCESS_ACTION] }
51466
+ }
51467
+ ];
51460
51468
  var admin$1 = {
51461
51469
  type: "admin",
51462
51470
  routes: [
51463
- // Account Management
51471
+ // ─────────────────────── Account Management ───────────────────────
51464
51472
  {
51465
51473
  method: "GET",
51466
51474
  path: "/accounts",
51467
51475
  handler: "accounts.getAll",
51468
51476
  config: {
51469
- policies: ["admin::isAuthenticatedAdmin"],
51477
+ policies: adminPolicy(),
51470
51478
  description: "Get all email accounts"
51471
51479
  }
51472
51480
  },
@@ -51475,7 +51483,7 @@ var admin$1 = {
51475
51483
  path: "/accounts/:accountId",
51476
51484
  handler: "accounts.getOne",
51477
51485
  config: {
51478
- policies: ["admin::isAuthenticatedAdmin"],
51486
+ policies: adminPolicy(),
51479
51487
  description: "Get single email account with decrypted config"
51480
51488
  }
51481
51489
  },
@@ -51484,7 +51492,7 @@ var admin$1 = {
51484
51492
  path: "/accounts",
51485
51493
  handler: "accounts.create",
51486
51494
  config: {
51487
- policies: ["admin::isAuthenticatedAdmin"],
51495
+ policies: adminPolicy(),
51488
51496
  description: "Create email account"
51489
51497
  }
51490
51498
  },
@@ -51493,7 +51501,7 @@ var admin$1 = {
51493
51501
  path: "/accounts/:accountId",
51494
51502
  handler: "accounts.update",
51495
51503
  config: {
51496
- policies: ["admin::isAuthenticatedAdmin"],
51504
+ policies: adminPolicy(),
51497
51505
  description: "Update email account"
51498
51506
  }
51499
51507
  },
@@ -51502,7 +51510,7 @@ var admin$1 = {
51502
51510
  path: "/accounts/:accountId/test",
51503
51511
  handler: "accounts.test",
51504
51512
  config: {
51505
- policies: ["admin::isAuthenticatedAdmin"],
51513
+ policies: adminPolicy(),
51506
51514
  description: "Test email account"
51507
51515
  }
51508
51516
  },
@@ -51511,7 +51519,7 @@ var admin$1 = {
51511
51519
  path: "/test-strapi-service",
51512
51520
  handler: "accounts.testStrapiService",
51513
51521
  config: {
51514
- policies: ["admin::isAuthenticatedAdmin"],
51522
+ policies: adminPolicy(),
51515
51523
  description: "Test Strapi Email Service integration (MagicMail intercept)"
51516
51524
  }
51517
51525
  },
@@ -51520,17 +51528,17 @@ var admin$1 = {
51520
51528
  path: "/accounts/:accountId",
51521
51529
  handler: "accounts.delete",
51522
51530
  config: {
51523
- policies: ["admin::isAuthenticatedAdmin"],
51531
+ policies: adminPolicy(),
51524
51532
  description: "Delete email account"
51525
51533
  }
51526
51534
  },
51527
- // Routing Rules
51535
+ // ─────────────────────── Routing Rules ───────────────────────
51528
51536
  {
51529
51537
  method: "GET",
51530
51538
  path: "/routing-rules",
51531
51539
  handler: "routingRules.getAll",
51532
51540
  config: {
51533
- policies: ["admin::isAuthenticatedAdmin"],
51541
+ policies: adminPolicy(),
51534
51542
  description: "Get all routing rules"
51535
51543
  }
51536
51544
  },
@@ -51539,7 +51547,7 @@ var admin$1 = {
51539
51547
  path: "/routing-rules/:ruleId",
51540
51548
  handler: "routingRules.getOne",
51541
51549
  config: {
51542
- policies: ["admin::isAuthenticatedAdmin"],
51550
+ policies: adminPolicy(),
51543
51551
  description: "Get single routing rule"
51544
51552
  }
51545
51553
  },
@@ -51548,7 +51556,7 @@ var admin$1 = {
51548
51556
  path: "/routing-rules",
51549
51557
  handler: "routingRules.create",
51550
51558
  config: {
51551
- policies: ["admin::isAuthenticatedAdmin"],
51559
+ policies: adminPolicy(),
51552
51560
  description: "Create routing rule"
51553
51561
  }
51554
51562
  },
@@ -51557,7 +51565,7 @@ var admin$1 = {
51557
51565
  path: "/routing-rules/:ruleId",
51558
51566
  handler: "routingRules.update",
51559
51567
  config: {
51560
- policies: ["admin::isAuthenticatedAdmin"],
51568
+ policies: adminPolicy(),
51561
51569
  description: "Update routing rule"
51562
51570
  }
51563
51571
  },
@@ -51566,23 +51574,21 @@ var admin$1 = {
51566
51574
  path: "/routing-rules/:ruleId",
51567
51575
  handler: "routingRules.delete",
51568
51576
  config: {
51569
- policies: ["admin::isAuthenticatedAdmin"],
51577
+ policies: adminPolicy(),
51570
51578
  description: "Delete routing rule"
51571
51579
  }
51572
51580
  },
51573
- // OAuth Routes - Gmail
51574
- // The /auth endpoints are admin-only (they produce OAuth URLs for the
51575
- // currently-authenticated admin). The /callback endpoints must stay
51576
- // public because the upstream OAuth provider (Google/Microsoft/Yahoo)
51577
- // cannot send a bearer token on the redirect back — security is
51578
- // enforced by the signed, one-time-use state parameter that callback
51579
- // + token exchange verify.
51581
+ // ─────────────────────── OAuth Gmail ───────────────────────
51582
+ // /auth endpoints are admin-only (they generate the OAuth URL for
51583
+ // the currently-authenticated admin). /callback MUST remain public
51584
+ // because Google/Microsoft/Yahoo can't send a bearer token on the
51585
+ // redirect security is enforced by the signed single-use state.
51580
51586
  {
51581
51587
  method: "GET",
51582
51588
  path: "/oauth/gmail/auth",
51583
51589
  handler: "oauth.gmailAuth",
51584
51590
  config: {
51585
- policies: ["admin::isAuthenticatedAdmin"],
51591
+ policies: adminPolicy(),
51586
51592
  description: "Initiate Gmail OAuth flow"
51587
51593
  }
51588
51594
  },
@@ -51596,13 +51602,13 @@ var admin$1 = {
51596
51602
  description: "Gmail OAuth callback"
51597
51603
  }
51598
51604
  },
51599
- // OAuth Routes - Microsoft
51605
+ // ─────────────────────── OAuth Microsoft ───────────────────────
51600
51606
  {
51601
51607
  method: "GET",
51602
51608
  path: "/oauth/microsoft/auth",
51603
51609
  handler: "oauth.microsoftAuth",
51604
51610
  config: {
51605
- policies: ["admin::isAuthenticatedAdmin"],
51611
+ policies: adminPolicy(),
51606
51612
  description: "Initiate Microsoft OAuth flow"
51607
51613
  }
51608
51614
  },
@@ -51616,13 +51622,13 @@ var admin$1 = {
51616
51622
  description: "Microsoft OAuth callback"
51617
51623
  }
51618
51624
  },
51619
- // OAuth Routes - Yahoo
51625
+ // ─────────────────────── OAuth Yahoo ───────────────────────
51620
51626
  {
51621
51627
  method: "GET",
51622
51628
  path: "/oauth/yahoo/auth",
51623
51629
  handler: "oauth.yahooAuth",
51624
51630
  config: {
51625
- policies: ["admin::isAuthenticatedAdmin"],
51631
+ policies: adminPolicy(),
51626
51632
  description: "Initiate Yahoo OAuth flow"
51627
51633
  }
51628
51634
  },
@@ -51636,23 +51642,23 @@ var admin$1 = {
51636
51642
  description: "Yahoo OAuth callback"
51637
51643
  }
51638
51644
  },
51639
- // OAuth Routes - Generic
51645
+ // ─────────────────────── OAuth Generic ───────────────────────
51640
51646
  {
51641
51647
  method: "POST",
51642
51648
  path: "/oauth/create-account",
51643
51649
  handler: "oauth.createOAuthAccount",
51644
51650
  config: {
51645
- policies: ["admin::isAuthenticatedAdmin"],
51651
+ policies: adminPolicy(),
51646
51652
  description: "Create account from OAuth"
51647
51653
  }
51648
51654
  },
51649
- // License Routes
51655
+ // ─────────────────────── License ───────────────────────
51650
51656
  {
51651
51657
  method: "GET",
51652
51658
  path: "/license/status",
51653
51659
  handler: "license.getStatus",
51654
51660
  config: {
51655
- policies: ["admin::isAuthenticatedAdmin"],
51661
+ policies: adminPolicy(),
51656
51662
  description: "Get license status"
51657
51663
  }
51658
51664
  },
@@ -51661,7 +51667,7 @@ var admin$1 = {
51661
51667
  path: "/license/auto-create",
51662
51668
  handler: "license.autoCreate",
51663
51669
  config: {
51664
- policies: ["admin::isAuthenticatedAdmin"],
51670
+ policies: adminPolicy(),
51665
51671
  description: "Auto-create license with admin user data"
51666
51672
  }
51667
51673
  },
@@ -51670,7 +51676,7 @@ var admin$1 = {
51670
51676
  path: "/license/store-key",
51671
51677
  handler: "license.storeKey",
51672
51678
  config: {
51673
- policies: ["admin::isAuthenticatedAdmin"],
51679
+ policies: adminPolicy(),
51674
51680
  description: "Store and validate existing license key"
51675
51681
  }
51676
51682
  },
@@ -51679,7 +51685,7 @@ var admin$1 = {
51679
51685
  path: "/license/limits",
51680
51686
  handler: "license.getLimits",
51681
51687
  config: {
51682
- policies: ["admin::isAuthenticatedAdmin"],
51688
+ policies: adminPolicy(),
51683
51689
  description: "Get license limits and available features"
51684
51690
  }
51685
51691
  },
@@ -51688,17 +51694,17 @@ var admin$1 = {
51688
51694
  path: "/license/debug",
51689
51695
  handler: "license.debugLicense",
51690
51696
  config: {
51691
- policies: ["admin::isAuthenticatedAdmin"],
51697
+ policies: adminPolicy(),
51692
51698
  description: "Debug license data"
51693
51699
  }
51694
51700
  },
51695
- // Email Designer Routes
51701
+ // ─────────────────────── Email Designer ───────────────────────
51696
51702
  {
51697
51703
  method: "GET",
51698
51704
  path: "/designer/templates",
51699
51705
  handler: "emailDesigner.findAll",
51700
51706
  config: {
51701
- policies: ["admin::isAuthenticatedAdmin"],
51707
+ policies: adminPolicy(),
51702
51708
  description: "Get all email templates"
51703
51709
  }
51704
51710
  },
@@ -51707,7 +51713,7 @@ var admin$1 = {
51707
51713
  path: "/designer/templates/:id",
51708
51714
  handler: "emailDesigner.findOne",
51709
51715
  config: {
51710
- policies: ["admin::isAuthenticatedAdmin"],
51716
+ policies: adminPolicy(),
51711
51717
  description: "Get email template by ID"
51712
51718
  }
51713
51719
  },
@@ -51716,7 +51722,7 @@ var admin$1 = {
51716
51722
  path: "/designer/templates",
51717
51723
  handler: "emailDesigner.create",
51718
51724
  config: {
51719
- policies: ["admin::isAuthenticatedAdmin"],
51725
+ policies: adminPolicy(),
51720
51726
  description: "Create email template"
51721
51727
  }
51722
51728
  },
@@ -51725,7 +51731,7 @@ var admin$1 = {
51725
51731
  path: "/designer/templates/:id",
51726
51732
  handler: "emailDesigner.update",
51727
51733
  config: {
51728
- policies: ["admin::isAuthenticatedAdmin"],
51734
+ policies: adminPolicy(),
51729
51735
  description: "Update email template"
51730
51736
  }
51731
51737
  },
@@ -51734,7 +51740,7 @@ var admin$1 = {
51734
51740
  path: "/designer/templates/:id",
51735
51741
  handler: "emailDesigner.delete",
51736
51742
  config: {
51737
- policies: ["admin::isAuthenticatedAdmin"],
51743
+ policies: adminPolicy(),
51738
51744
  description: "Delete email template"
51739
51745
  }
51740
51746
  },
@@ -51743,7 +51749,7 @@ var admin$1 = {
51743
51749
  path: "/designer/templates/:id/versions",
51744
51750
  handler: "emailDesigner.getVersions",
51745
51751
  config: {
51746
- policies: ["admin::isAuthenticatedAdmin"],
51752
+ policies: adminPolicy(),
51747
51753
  description: "Get template versions"
51748
51754
  }
51749
51755
  },
@@ -51752,7 +51758,7 @@ var admin$1 = {
51752
51758
  path: "/designer/templates/:id/versions/:versionId/restore",
51753
51759
  handler: "emailDesigner.restoreVersion",
51754
51760
  config: {
51755
- policies: ["admin::isAuthenticatedAdmin"],
51761
+ policies: adminPolicy(),
51756
51762
  description: "Restore template from version"
51757
51763
  }
51758
51764
  },
@@ -51761,7 +51767,7 @@ var admin$1 = {
51761
51767
  path: "/designer/templates/:id/versions/:versionId/delete",
51762
51768
  handler: "emailDesigner.deleteVersion",
51763
51769
  config: {
51764
- policies: ["admin::isAuthenticatedAdmin"],
51770
+ policies: adminPolicy(),
51765
51771
  description: "Delete a single version"
51766
51772
  }
51767
51773
  },
@@ -51770,7 +51776,7 @@ var admin$1 = {
51770
51776
  path: "/designer/templates/:id/versions/delete-all",
51771
51777
  handler: "emailDesigner.deleteAllVersions",
51772
51778
  config: {
51773
- policies: ["admin::isAuthenticatedAdmin"],
51779
+ policies: adminPolicy(),
51774
51780
  description: "Delete all versions for a template"
51775
51781
  }
51776
51782
  },
@@ -51779,7 +51785,7 @@ var admin$1 = {
51779
51785
  path: "/designer/render/:templateReferenceId",
51780
51786
  handler: "emailDesigner.renderTemplate",
51781
51787
  config: {
51782
- policies: ["admin::isAuthenticatedAdmin"],
51788
+ policies: adminPolicy(),
51783
51789
  description: "Render template with data"
51784
51790
  }
51785
51791
  },
@@ -51788,7 +51794,7 @@ var admin$1 = {
51788
51794
  path: "/designer/export",
51789
51795
  handler: "emailDesigner.exportTemplates",
51790
51796
  config: {
51791
- policies: ["admin::isAuthenticatedAdmin"],
51797
+ policies: adminPolicy(),
51792
51798
  description: "Export templates (ADVANCED+)"
51793
51799
  }
51794
51800
  },
@@ -51797,7 +51803,7 @@ var admin$1 = {
51797
51803
  path: "/designer/import",
51798
51804
  handler: "emailDesigner.importTemplates",
51799
51805
  config: {
51800
- policies: ["admin::isAuthenticatedAdmin"],
51806
+ policies: adminPolicy(),
51801
51807
  description: "Import templates (ADVANCED+)"
51802
51808
  }
51803
51809
  },
@@ -51806,7 +51812,7 @@ var admin$1 = {
51806
51812
  path: "/designer/stats",
51807
51813
  handler: "emailDesigner.getStats",
51808
51814
  config: {
51809
- policies: ["admin::isAuthenticatedAdmin"],
51815
+ policies: adminPolicy(),
51810
51816
  description: "Get template statistics"
51811
51817
  }
51812
51818
  },
@@ -51815,7 +51821,7 @@ var admin$1 = {
51815
51821
  path: "/designer/core/:coreEmailType",
51816
51822
  handler: "emailDesigner.getCoreTemplate",
51817
51823
  config: {
51818
- policies: ["admin::isAuthenticatedAdmin"],
51824
+ policies: adminPolicy(),
51819
51825
  description: "Get core email template"
51820
51826
  }
51821
51827
  },
@@ -51824,7 +51830,7 @@ var admin$1 = {
51824
51830
  path: "/designer/core/:coreEmailType",
51825
51831
  handler: "emailDesigner.updateCoreTemplate",
51826
51832
  config: {
51827
- policies: ["admin::isAuthenticatedAdmin"],
51833
+ policies: adminPolicy(),
51828
51834
  description: "Update core email template"
51829
51835
  }
51830
51836
  },
@@ -51833,7 +51839,7 @@ var admin$1 = {
51833
51839
  path: "/designer/templates/:id/download",
51834
51840
  handler: "emailDesigner.download",
51835
51841
  config: {
51836
- policies: ["admin::isAuthenticatedAdmin"],
51842
+ policies: adminPolicy(),
51837
51843
  description: "Download template as HTML or JSON"
51838
51844
  }
51839
51845
  },
@@ -51842,7 +51848,7 @@ var admin$1 = {
51842
51848
  path: "/designer/templates/:id/duplicate",
51843
51849
  handler: "emailDesigner.duplicate",
51844
51850
  config: {
51845
- policies: ["admin::isAuthenticatedAdmin"],
51851
+ policies: adminPolicy(),
51846
51852
  description: "Duplicate template"
51847
51853
  }
51848
51854
  },
@@ -51851,17 +51857,17 @@ var admin$1 = {
51851
51857
  path: "/designer/templates/:id/test-send",
51852
51858
  handler: "emailDesigner.testSend",
51853
51859
  config: {
51854
- policies: ["admin::isAuthenticatedAdmin"],
51860
+ policies: adminPolicy(),
51855
51861
  description: "Send test email for template"
51856
51862
  }
51857
51863
  },
51858
- // Analytics & Tracking
51864
+ // ─────────────────────── Analytics & Tracking ───────────────────────
51859
51865
  {
51860
51866
  method: "GET",
51861
51867
  path: "/analytics/stats",
51862
51868
  handler: "analytics.getStats",
51863
51869
  config: {
51864
- policies: ["admin::isAuthenticatedAdmin"],
51870
+ policies: adminPolicy(),
51865
51871
  description: "Get analytics statistics"
51866
51872
  }
51867
51873
  },
@@ -51870,7 +51876,7 @@ var admin$1 = {
51870
51876
  path: "/analytics/emails",
51871
51877
  handler: "analytics.getEmailLogs",
51872
51878
  config: {
51873
- policies: ["admin::isAuthenticatedAdmin"],
51879
+ policies: adminPolicy(),
51874
51880
  description: "Get email logs"
51875
51881
  }
51876
51882
  },
@@ -51879,7 +51885,7 @@ var admin$1 = {
51879
51885
  path: "/analytics/emails/:emailId",
51880
51886
  handler: "analytics.getEmailDetails",
51881
51887
  config: {
51882
- policies: ["admin::isAuthenticatedAdmin"],
51888
+ policies: adminPolicy(),
51883
51889
  description: "Get email details"
51884
51890
  }
51885
51891
  },
@@ -51888,7 +51894,7 @@ var admin$1 = {
51888
51894
  path: "/analytics/users/:userId",
51889
51895
  handler: "analytics.getUserActivity",
51890
51896
  config: {
51891
- policies: ["admin::isAuthenticatedAdmin"],
51897
+ policies: adminPolicy(),
51892
51898
  description: "Get user email activity"
51893
51899
  }
51894
51900
  },
@@ -51897,7 +51903,7 @@ var admin$1 = {
51897
51903
  path: "/analytics/debug",
51898
51904
  handler: "analytics.debug",
51899
51905
  config: {
51900
- policies: ["admin::isAuthenticatedAdmin"],
51906
+ policies: adminPolicy(),
51901
51907
  description: "Debug analytics state"
51902
51908
  }
51903
51909
  },
@@ -51906,7 +51912,7 @@ var admin$1 = {
51906
51912
  path: "/analytics/emails/:emailId",
51907
51913
  handler: "analytics.deleteEmailLog",
51908
51914
  config: {
51909
- policies: ["admin::isAuthenticatedAdmin"],
51915
+ policies: adminPolicy(),
51910
51916
  description: "Delete single email log"
51911
51917
  }
51912
51918
  },
@@ -51915,27 +51921,27 @@ var admin$1 = {
51915
51921
  path: "/analytics/emails",
51916
51922
  handler: "analytics.clearAllEmailLogs",
51917
51923
  config: {
51918
- policies: ["admin::isAuthenticatedAdmin"],
51924
+ policies: adminPolicy(),
51919
51925
  description: "Clear all email logs"
51920
51926
  }
51921
51927
  },
51922
- // Test Routes (Development)
51928
+ // ─────────────────────── Test (Dev) ───────────────────────
51923
51929
  {
51924
51930
  method: "POST",
51925
51931
  path: "/test/relations",
51926
51932
  handler: "test.testRelations",
51927
51933
  config: {
51928
- policies: ["admin::isAuthenticatedAdmin"],
51934
+ policies: adminPolicy(),
51929
51935
  description: "Test template-version relations"
51930
51936
  }
51931
51937
  },
51932
- // WhatsApp Routes
51938
+ // ─────────────────────── WhatsApp ───────────────────────
51933
51939
  {
51934
51940
  method: "GET",
51935
51941
  path: "/whatsapp/available",
51936
51942
  handler: "whatsapp.checkAvailable",
51937
51943
  config: {
51938
- policies: ["admin::isAuthenticatedAdmin"],
51944
+ policies: adminPolicy(),
51939
51945
  description: "Check if WhatsApp/Baileys is available"
51940
51946
  }
51941
51947
  },
@@ -51944,7 +51950,7 @@ var admin$1 = {
51944
51950
  path: "/whatsapp/status",
51945
51951
  handler: "whatsapp.getStatus",
51946
51952
  config: {
51947
- policies: ["admin::isAuthenticatedAdmin"],
51953
+ policies: adminPolicy(),
51948
51954
  description: "Get WhatsApp connection status"
51949
51955
  }
51950
51956
  },
@@ -51953,7 +51959,7 @@ var admin$1 = {
51953
51959
  path: "/whatsapp/connect",
51954
51960
  handler: "whatsapp.connect",
51955
51961
  config: {
51956
- policies: ["admin::isAuthenticatedAdmin"],
51962
+ policies: adminPolicy(),
51957
51963
  description: "Connect to WhatsApp (generates QR if needed)"
51958
51964
  }
51959
51965
  },
@@ -51962,7 +51968,7 @@ var admin$1 = {
51962
51968
  path: "/whatsapp/disconnect",
51963
51969
  handler: "whatsapp.disconnect",
51964
51970
  config: {
51965
- policies: ["admin::isAuthenticatedAdmin"],
51971
+ policies: adminPolicy(),
51966
51972
  description: "Disconnect from WhatsApp"
51967
51973
  }
51968
51974
  },
@@ -51971,7 +51977,7 @@ var admin$1 = {
51971
51977
  path: "/whatsapp/send-test",
51972
51978
  handler: "whatsapp.sendTest",
51973
51979
  config: {
51974
- policies: ["admin::isAuthenticatedAdmin"],
51980
+ policies: adminPolicy(),
51975
51981
  description: "Send a test WhatsApp message"
51976
51982
  }
51977
51983
  },
@@ -51980,7 +51986,7 @@ var admin$1 = {
51980
51986
  path: "/whatsapp/send-template",
51981
51987
  handler: "whatsapp.sendTemplateMessage",
51982
51988
  config: {
51983
- policies: ["admin::isAuthenticatedAdmin"],
51989
+ policies: adminPolicy(),
51984
51990
  description: "Send WhatsApp message using template"
51985
51991
  }
51986
51992
  },
@@ -51989,7 +51995,7 @@ var admin$1 = {
51989
51995
  path: "/whatsapp/check-number",
51990
51996
  handler: "whatsapp.checkNumber",
51991
51997
  config: {
51992
- policies: ["admin::isAuthenticatedAdmin"],
51998
+ policies: adminPolicy(),
51993
51999
  description: "Check if phone number is on WhatsApp"
51994
52000
  }
51995
52001
  },
@@ -51998,7 +52004,7 @@ var admin$1 = {
51998
52004
  path: "/whatsapp/templates",
51999
52005
  handler: "whatsapp.getTemplates",
52000
52006
  config: {
52001
- policies: ["admin::isAuthenticatedAdmin"],
52007
+ policies: adminPolicy(),
52002
52008
  description: "Get all WhatsApp message templates"
52003
52009
  }
52004
52010
  },
@@ -52007,7 +52013,7 @@ var admin$1 = {
52007
52013
  path: "/whatsapp/templates",
52008
52014
  handler: "whatsapp.saveTemplate",
52009
52015
  config: {
52010
- policies: ["admin::isAuthenticatedAdmin"],
52016
+ policies: adminPolicy(),
52011
52017
  description: "Save a WhatsApp message template"
52012
52018
  }
52013
52019
  },
@@ -52016,7 +52022,7 @@ var admin$1 = {
52016
52022
  path: "/whatsapp/templates/:templateName",
52017
52023
  handler: "whatsapp.deleteTemplate",
52018
52024
  config: {
52019
- policies: ["admin::isAuthenticatedAdmin"],
52025
+ policies: adminPolicy(),
52020
52026
  description: "Delete a WhatsApp message template"
52021
52027
  }
52022
52028
  },
@@ -52025,17 +52031,17 @@ var admin$1 = {
52025
52031
  path: "/whatsapp/session",
52026
52032
  handler: "whatsapp.getSession",
52027
52033
  config: {
52028
- policies: ["admin::isAuthenticatedAdmin"],
52034
+ policies: adminPolicy(),
52029
52035
  description: "Get WhatsApp session info"
52030
52036
  }
52031
52037
  },
52032
- // Plugin Settings Routes
52038
+ // ─────────────────────── Plugin Settings ───────────────────────
52033
52039
  {
52034
52040
  method: "GET",
52035
52041
  path: "/settings",
52036
52042
  handler: "pluginSettings.getSettings",
52037
52043
  config: {
52038
- policies: ["admin::isAuthenticatedAdmin"],
52044
+ policies: adminPolicy(),
52039
52045
  description: "Get plugin settings"
52040
52046
  }
52041
52047
  },
@@ -52044,7 +52050,7 @@ var admin$1 = {
52044
52050
  path: "/settings",
52045
52051
  handler: "pluginSettings.updateSettings",
52046
52052
  config: {
52047
- policies: ["admin::isAuthenticatedAdmin"],
52053
+ policies: adminPolicy(),
52048
52054
  description: "Update plugin settings"
52049
52055
  }
52050
52056
  }
@@ -63312,7 +63318,7 @@ var oauth$1 = ({ strapi: strapi2 }) => ({
63312
63318
  return account;
63313
63319
  }
63314
63320
  });
63315
- const version = "2.8.4";
63321
+ const version = "2.9.0";
63316
63322
  const require$$2 = {
63317
63323
  version
63318
63324
  };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.9.0",
2
+ "version": "2.9.1",
3
3
  "keywords": [
4
4
  "strapi",
5
5
  "strapi-plugin",