Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
362 commits
Select commit Hold shift + click to select a range
2f46f4c
test(PolicyWorkbench): cover SignatureFlowScalarRuleEditor.spec behavior
vitormattos Mar 20, 2026
6994e4d
test(Settings): cover SignatureFlowGroupPolicy.spec behavior
vitormattos Mar 20, 2026
2884790
test(Settings): cover usePolicyWorkbench.spec behavior
vitormattos Mar 20, 2026
ea49b69
feat(PolicyWorkbench): implement PolicyRuleCard behavior
vitormattos Mar 20, 2026
4866f58
feat(PolicyWorkbench): implement SettingsPolicyWorkbench behavior
vitormattos Mar 20, 2026
057bb10
feat(PolicyWorkbench): implement SigningOrderPolicyWorkbench behavior
vitormattos Mar 20, 2026
c5e03b9
feat(confetti): implement ConfettiRuleEditor behavior
vitormattos Mar 20, 2026
ddc9ad8
feat(confetti): implement index behavior
vitormattos Mar 20, 2026
0aadb36
feat(identify-factors): implement IdentifyFactorsRuleEditor behavior
vitormattos Mar 20, 2026
ce00ba8
feat(identify-factors): implement index behavior
vitormattos Mar 20, 2026
e217fd1
feat(signature-flow): implement SignatureFlowRuleEditor behavior
vitormattos Mar 20, 2026
4e1a80f
feat(signature-flow): implement SignatureFlowScalarRuleEditor behavior
vitormattos Mar 20, 2026
18887a8
feat(signature-flow): implement index behavior
vitormattos Mar 20, 2026
c69426e
feat(signature-stamp): implement SignatureStampRuleEditor behavior
vitormattos Mar 20, 2026
231a278
feat(signature-stamp): implement index behavior
vitormattos Mar 20, 2026
a681567
feat(PolicyWorkbench): implement types behavior
vitormattos Mar 20, 2026
b4a3a5f
feat(PolicyWorkbench): implement usePolicyWorkbench behavior
vitormattos Mar 20, 2026
437d73b
feat(Settings): implement SignatureFlowGroupPolicy behavior
vitormattos Mar 20, 2026
43ba109
feat(SignatureFlowPolicy): implement PolicyCatalog behavior
vitormattos Mar 20, 2026
3a07ef0
test(admin): cover policies behavior
vitormattos Mar 20, 2026
2f20d25
style(policy-workbench): align inline note actions vertically
vitormattos Mar 20, 2026
e9b6d47
test(admin): inject policy service mock in AdminTest
vitormattos Mar 20, 2026
e6a8435
test(e2e): align policy-workbench spec with RealPolicyWorkbench labels
vitormattos Mar 20, 2026
b439468
chore(openapi): regenerate administration spec
vitormattos Mar 20, 2026
64ff6e0
chore(openapi): regenerate full spec
vitormattos Mar 20, 2026
29520cb
chore(types): regenerate administration openapi types
vitormattos Mar 20, 2026
0399167
chore(types): regenerate full openapi types
vitormattos Mar 20, 2026
b473d07
test(settings): drop frozen preview coverage
vitormattos Mar 20, 2026
40b95ec
refactor(settings): remove local frozen preview import
vitormattos Mar 20, 2026
d4e2fe8
test(playwright): support rule and override labels in policy workbench
vitormattos Mar 20, 2026
028ece5
test(playwright): retry policy rule removal clicks
vitormattos Mar 20, 2026
3e05db9
chore(userconfig): add policy workbench layout preference key
vitormattos Mar 20, 2026
7389c2b
fix(settings): persist layout toggle and improve policy row layout
vitormattos Mar 20, 2026
1a140cd
fix(account): expose policy workbench layout config in bootstrap
vitormattos Mar 20, 2026
d129984
fix(account): preserve false user config values
vitormattos Mar 20, 2026
f142c22
fix(settings): bootstrap user config in admin settings
vitormattos Mar 20, 2026
5ff11f8
test(settings): cover admin config initial state
vitormattos Mar 20, 2026
ea6a187
feat: add internal routes for preferences and policies
vitormattos Mar 20, 2026
5f79394
feat: expose preferences and policies in settings menu
vitormattos Mar 20, 2026
e4f4103
feat: add preferences view for signature flow policy
vitormattos Mar 20, 2026
1af273e
feat: add policies view wrapper for workbench
vitormattos Mar 20, 2026
ff876ee
feat: expose group policy management capability in account config
vitormattos Mar 20, 2026
2cabd17
feat: enforce group policy authorization in policy controller
vitormattos Mar 20, 2026
f350d30
test: cover group policy authorization in policy controller
vitormattos Mar 20, 2026
20a60e6
test: verify settings menu visibility with policy capability
vitormattos Mar 20, 2026
0b1dcc9
test: add coverage for preferences view behavior
vitormattos Mar 20, 2026
6f58dc4
chore: update openapi files
vitormattos Mar 20, 2026
772cf5d
fix(policy): enforce strict bool allowChildOverride parsing
vitormattos Mar 20, 2026
50c1110
test(policy): cover strict bool allowChildOverride contract
vitormattos Mar 20, 2026
d98a38c
refactor(db): rename decoded policy json accessor
vitormattos Mar 20, 2026
45ac9f0
refactor(policy): use decoded permission set policy accessor
vitormattos Mar 20, 2026
120c49a
test(db): cover decoded policy json accessor behavior
vitormattos Mar 20, 2026
d8f9528
test(policy): align runtime source assertions with decoded accessor
vitormattos Mar 20, 2026
e8a3056
feat(account): allow subadmins to manage group policies
vitormattos Mar 20, 2026
9586572
test(account): cover subadmin group policy capability
vitormattos Mar 20, 2026
31bbeb6
feat(policy-workbench): hydrate persisted group policies on open
vitormattos Mar 20, 2026
339ffab
test(policy-workbench): verify persisted group rule hydration
vitormattos Mar 20, 2026
358be6a
fix(types): use policy group operations from api schema
vitormattos Mar 20, 2026
debf9d8
test(playwright): add group and subadmin provisioning helpers
vitormattos Mar 20, 2026
6c7cd09
test(playwright): reset session before provisioning login
vitormattos Mar 20, 2026
d98e6b8
test(e2e): add personas permissions scenario for policy workbench
vitormattos Mar 20, 2026
d9a962e
chore(test): normalize eof newline in preferences spec
vitormattos Mar 20, 2026
5c8eedf
chore(policies): normalize eof newline in policies view
vitormattos Mar 20, 2026
81a81d4
chore(preferences): normalize eof newline in preferences view
vitormattos Mar 20, 2026
54d496d
fix: reset policy tables in developer reset
vitormattos Mar 20, 2026
3fc6e3f
test: cleanup policy state in admin policies feature
vitormattos Mar 20, 2026
32108af
test: use post cleanup for system signature_flow policy
vitormattos Mar 20, 2026
214fbc6
refactor(policy): namespace signature_flow system config key
vitormattos Mar 20, 2026
9692d9f
feat(migration): migrate legacy signature_flow policy keys
vitormattos Mar 20, 2026
aaae779
fix(policy): disable circle layer in signature_flow phase
vitormattos Mar 20, 2026
43cff95
test(policy): update source expectations for namespaced key
vitormattos Mar 20, 2026
f78ebe4
test(migration): cover signature_flow legacy key migration
vitormattos Mar 20, 2026
b5cefc0
docs(api): align signatureFlow param with policy resolver
vitormattos Mar 20, 2026
5bd9256
chore(openapi): regenerate openapi json
vitormattos Mar 20, 2026
fd120d7
chore(openapi): regenerate openapi full json
vitormattos Mar 20, 2026
8bedbdc
chore(openapi): regenerate openapi types
vitormattos Mar 20, 2026
4ce0f15
chore(openapi): regenerate openapi full types
vitormattos Mar 20, 2026
d87c896
test(policy): assert circle layer is ignored in phase 1
vitormattos Mar 20, 2026
aa00e3d
feat(policy): add resolution mode to policy definition contract
vitormattos Mar 23, 2026
e50c79f
feat(policy): support resolution mode in policy spec
vitormattos Mar 23, 2026
f54b901
feat(policy): classify signature flow as value choice
vitormattos Mar 23, 2026
40234c4
feat(policy): resolve group value-choice layers by union
vitormattos Mar 23, 2026
5f90ffc
test(policy): cover policy spec resolution mode
vitormattos Mar 23, 2026
69f6833
test(policy): cover signature flow value-choice resolution
vitormattos Mar 23, 2026
e88559a
test(e2e): cover signature flow persistence in request sidebar
vitormattos Mar 23, 2026
38872e5
feat(workbench): simplify policy workbench UI with single-column layo…
vitormattos Mar 23, 2026
51cc238
feat(workbench): enhance policy state with sticky summary and resolut…
vitormattos Mar 23, 2026
a8bc976
test(workbench): add comprehensive tests for policy state and sticky …
vitormattos Mar 23, 2026
941ebc0
test(workbench): format spec file after component refactoring
vitormattos Mar 23, 2026
ba216dc
fix(workbench): guard editor draft access and restore mobile dialog w…
vitormattos Mar 23, 2026
ff5b177
feat(workbench): switch exceptions UI to scalable tabs and tables
vitormattos Mar 23, 2026
db809e4
refactor(workbench): tighten visual hierarchy and table scanability
vitormattos Mar 23, 2026
f76abd0
refactor(workbench): polish summary and table usability details
vitormattos Mar 23, 2026
a64c04f
refactor(workbench): adopt nextcloud actions and clean top workspace
vitormattos Mar 23, 2026
44bad52
refactor(workbench): add action icons and stabilize inheritance help …
vitormattos Mar 23, 2026
21108cd
fix(workbench): keep inheritance help inside summary card context
vitormattos Mar 23, 2026
ec775c2
refactor(workbench): simplify UI hierarchy - remove banner, use plain…
vitormattos Mar 23, 2026
63d4580
fix(policy): refresh UI state after saving policies
vitormattos Mar 23, 2026
dc579c7
refactor(policy): unify rule management in single CRUD table
vitormattos Mar 23, 2026
46602cf
fix(policy): disable create action when selected scope is blocked
vitormattos Mar 24, 2026
da75715
test(policy): cover numeric system value in global editor
vitormattos Mar 24, 2026
28cedbb
fix(policy): normalize numeric global rule values on edit
vitormattos Mar 24, 2026
d1a0cf0
test(policy): cover create rule blocked when no system rule set
vitormattos Mar 24, 2026
dc964fb
fix(policy): block create rule only when allowChildOverride is explic…
vitormattos Mar 24, 2026
ebd4e41
test(policy): cover scope-driven create flow and empty global default…
vitormattos Mar 24, 2026
a6851f5
refactor(policy): extract shared rule editor panel component
vitormattos Mar 24, 2026
9aa14d5
feat(policy): simplify workbench create flow and discard confirmation UX
vitormattos Mar 24, 2026
4eb1f56
test(policy): cover decoupled create scope from rule filter
vitormattos Mar 24, 2026
e27a269
fix(policy): separate create scope control from scope filter
vitormattos Mar 24, 2026
677f40e
test(policy): cover create scope prompt dialog flow
vitormattos Mar 24, 2026
9dc4929
feat(policy): ask create scope through prompt dialog
vitormattos Mar 24, 2026
5e03847
test(policy): cover explicit scope filter labeling
vitormattos Mar 24, 2026
827243e
fix(policy): label scope radios as table filter
vitormattos Mar 24, 2026
921176d
test(policy): cover files-style filter entrypoint in workbench
vitormattos Mar 24, 2026
1cf5e9d
feat(policy): adopt files-style scope filters with popover and chips
vitormattos Mar 24, 2026
98c1dc1
test(policy): assert compact workbench header copy
vitormattos Mar 24, 2026
a2aa915
feat(policy): tighten workbench header layout and copy
vitormattos Mar 24, 2026
92fd1df
test(policy): cover app-navigation search actions in workbench
vitormattos Mar 27, 2026
818370e
feat(policy): use app navigation search for rule toolbar
vitormattos Mar 27, 2026
6dc38ee
fix(policy): keep toolbar actions visible while searching
vitormattos Mar 27, 2026
ced3654
test(policy): cover role-specific user override behavior in real work…
vitormattos Mar 27, 2026
fcb2c61
test(policy): map blocked target-user policy save to bad request
vitormattos Mar 27, 2026
7393a75
test(policy): enforce admin bypass and non-admin block for target use…
vitormattos Mar 27, 2026
ab48669
feat(policy): initialize real workbench view mode from actor role
vitormattos Mar 27, 2026
b758133
fix(policy): hide blocked user create option for group-admin dialog
vitormattos Mar 27, 2026
e1de774
feat(policy): expose current actor admin check in context factory
vitormattos Mar 27, 2026
1db4e03
fix(policy): allow instance-admin override for target user policy save
vitormattos Mar 27, 2026
9909f01
feat(policy): promote create rule as primary toolbar action
vitormattos Mar 27, 2026
cdd9cab
refactor(policy): make scope selection immediate and remove pending s…
vitormattos Mar 29, 2026
646ad3e
fix(policy): reset scope selection when opening or closing create dialog
vitormattos Mar 29, 2026
04ead11
fix(policy): suppress browser auto-focus ring on scope selection cards
vitormattos Mar 29, 2026
79ca831
fix(policy): fully reset card visuals on programmatic focus to preven…
vitormattos Mar 29, 2026
6005796
fix(policy): preserve hover on auto-focused first scope option
vitormattos Mar 29, 2026
6496e3d
feat(policy): improve signing-order rule management copy and hierarch…
vitormattos Mar 29, 2026
d9a18b0
test(policy): update signing-order workbench copy expectations
vitormattos Mar 29, 2026
62c57bd
feat(policy): add scope icons to rule filter menu
vitormattos Mar 29, 2026
fef79c5
fix(policy): hide instance option when default rule already exists
vitormattos Mar 29, 2026
ce9fc7d
test(policy): scope create-rule assertions to modal content
vitormattos Mar 29, 2026
6a2a832
feat(policy): require explicit signing flow selection before save
vitormattos Mar 29, 2026
93d4ae2
feat(policy): start signing flow editor with neutral unselected state
vitormattos Mar 29, 2026
adfa75b
feat(policy): clarify signing order hierarchy and behavior wording
vitormattos Mar 29, 2026
adb5324
feat(policy): add precedence hint to rule editor panel
vitormattos Mar 29, 2026
3e429b8
test(policy): cover unselected initial state in scalar flow editor
vitormattos Mar 29, 2026
ef0b797
test(policy): enforce explicit flow selection in workbench drafts
vitormattos Mar 29, 2026
2d82476
fix(policy): normalize signing-order table typography
vitormattos Mar 29, 2026
f7f1b3f
fix(policy): close rule actions menu before opening editor
vitormattos Mar 29, 2026
cda92c3
fix(policy): remove bold emphasis from enforced behavior
vitormattos Mar 29, 2026
eb8df82
fix(policy): persist explicit signature flow default source
vitormattos Mar 29, 2026
c8c83d7
test(policy): cover explicit signature flow default persistence
vitormattos Mar 29, 2026
756eebe
fix(policy-workbench): keep explicit instance default state
vitormattos Mar 29, 2026
80e62ad
refactor(policy-workbench): align signature flow labels
vitormattos Mar 29, 2026
c014fc9
refactor(policy-workbench): normalize signing order naming
vitormattos Mar 29, 2026
1d21f9e
refactor(policy-workbench): streamline settings workbench wrapper
vitormattos Mar 29, 2026
31b6431
feat(policy-workbench): simplify signing order header and feedback
vitormattos Mar 29, 2026
e59e8fd
test(policy-workbench): add regressions for explicit default visibility
vitormattos Mar 29, 2026
ceaf5a2
test(policy-workbench): cover simplified signing order summary ui
vitormattos Mar 29, 2026
deed4d7
test(e2e): validate instance signature flow create/remove lifecycle
vitormattos Mar 29, 2026
a9b2566
fix(policy-workbench): align default removal messaging with system cu…
vitormattos Mar 29, 2026
3485302
refactor(policy-workbench): rename legacy global default copy to inst…
vitormattos Mar 29, 2026
4369adf
refactor(policy-workbench): align signing order legacy scope labels
vitormattos Mar 29, 2026
3fff278
refactor(policy-workbench): standardize instance default wording
vitormattos Mar 29, 2026
88451d7
test(policy-workbench): update editor title expectation for instance …
vitormattos Mar 29, 2026
5990fb5
fix(settings-nav): prevent duplicated sidebar icons and diversify glyphs
vitormattos Mar 29, 2026
ce0b032
test(settings-nav): cover custom icon-slot without fallback icon prop
vitormattos Mar 29, 2026
193e3f9
test(integration): stabilize signature flow policy api scenario
vitormattos Mar 30, 2026
6f4af2f
test(e2e): rewrite policy workbench persistence spec for current UI
vitormattos Mar 30, 2026
b61cdbd
test(e2e): stabilize policy workbench persistence selectors
vitormattos Mar 30, 2026
fb19dbb
refactor(PolicyRuleEditorPanel): remove duplicate title from editor h…
vitormattos Mar 31, 2026
9f501ae
style(RealPolicyWorkbench): align editor action buttons right in hori…
vitormattos Mar 31, 2026
ec9f9d1
test(SettingsPolicyWorkbench): update editor test for removed duplica…
vitormattos Mar 31, 2026
5354d5d
refactor(SignatureFlowScalarRuleEditor): clarify sequential signing m…
vitormattos Mar 31, 2026
fac49f8
style(RealPolicyWorkbench): remove border and background from editor …
vitormattos Mar 31, 2026
4c95d37
fix(PolicyRuleEditorPanel): force horizontal modal actions and remove…
vitormattos Mar 31, 2026
5bd302b
refactor(PolicyRuleEditorPanel): allow dialog-managed footer actions
vitormattos Mar 31, 2026
e27cc44
refactor(RealPolicyWorkbench): use NcDialog native footer buttons
vitormattos Mar 31, 2026
28e12fe
test(SettingsPolicyWorkbench): assert NcDialog footer action behavior
vitormattos Mar 31, 2026
cd6d831
fix(RealPolicyWorkbench): keep create flow responsive after first rule
vitormattos Mar 31, 2026
28e116b
test(SettingsPolicyWorkbench): cover create-after-save regression flow
vitormattos Mar 31, 2026
5657cbc
fix(RealPolicyWorkbench): hide Instance option when default already e…
vitormattos Mar 31, 2026
6ec1386
test(SettingsPolicyWorkbench): update create-scope expectations for I…
vitormattos Mar 31, 2026
b006863
fix(RealPolicyWorkbench): close create-scope state after successful save
vitormattos Mar 31, 2026
e05d12e
test(SettingsPolicyWorkbench): align stubs and assertions with create…
vitormattos Mar 31, 2026
3501e52
fix(useRealPolicyWorkbench): enforce user-only targets in user rule p…
vitormattos Mar 31, 2026
6da00b7
test(useRealPolicyWorkbench): ignore group-like records in user targets
vitormattos Mar 31, 2026
96be920
fix(useRealPolicyWorkbench): keep instance row after reload for syste…
vitormattos Mar 31, 2026
dee4a50
test(useRealPolicyWorkbench): assert visible instance row for system …
vitormattos Mar 31, 2026
92736dc
fix(RealPolicyWorkbench): close scope filter menu on select, mark act…
vitormattos Apr 1, 2026
32e20c7
refactor(types): add policy response definitions
vitormattos Apr 1, 2026
9572171
refactor(types): add explicit policy state types
vitormattos Apr 1, 2026
674a205
feat(api): expose explicit system and user policies
vitormattos Apr 1, 2026
ea830ba
feat(policy): fetch explicit system and user rules
vitormattos Apr 1, 2026
ef93679
fix(signature-flow): refresh stored policy snapshots
vitormattos Apr 1, 2026
242ee3f
feat(store): fetch explicit system and user policies
vitormattos Apr 1, 2026
76cc767
fix(store): omit locked signature flow overrides
vitormattos Apr 1, 2026
6169607
fix(ui): enforce fixed signature flow policies
vitormattos Apr 1, 2026
433be97
feat(policy-workbench): hydrate rules and lock signature flow overrides
vitormattos Apr 1, 2026
7804bf9
refactor(ui): streamline policy workbench layout
vitormattos Apr 1, 2026
1f99362
refactor(ui): simplify policy rule editor guidance
vitormattos Apr 1, 2026
f017354
style(ui): refine signature flow option layout
vitormattos Apr 1, 2026
610ea00
test(unit): cover signature flow policy snapshots
vitormattos Apr 1, 2026
1896625
test(unit): cover explicit policy fetches
vitormattos Apr 1, 2026
9ad4c8a
test(unit): cover locked signature flow payloads
vitormattos Apr 1, 2026
274dc22
test(unit): cover fixed signature flow sidebar behavior
vitormattos Apr 1, 2026
bc085d4
test(unit): cover persisted policy hydration
vitormattos Apr 1, 2026
ddff69b
test(unit): update policy workbench ui expectations
vitormattos Apr 1, 2026
b93599c
test(e2e): harden policy workbench persistence flow
vitormattos Apr 1, 2026
e0cf120
test(e2e): cover fixed signature flow request sidebar
vitormattos Apr 1, 2026
bb198e4
fix: lock signature flow workbench overrides
vitormattos Apr 1, 2026
7eac83f
test: cover fixed parallel policy workbench
vitormattos Apr 1, 2026
e115d09
test: cover fixed parallel signature flow sidebar
vitormattos Apr 1, 2026
7f6ca3e
test(policy): cover target user policy service
vitormattos Apr 1, 2026
927eadc
test(policy): cover target user policy controller
vitormattos Apr 1, 2026
f3ea4c5
fix(policy): persist target user policy layer
vitormattos Apr 1, 2026
d83b14e
fix(policy): return target user policy payload
vitormattos Apr 1, 2026
4e6b76f
chore(api): add target user policy write type
vitormattos Apr 1, 2026
ef86ec3
test(policy): cover target user policy store
vitormattos Apr 1, 2026
4e827f7
fix(policy): consume target user policy payload
vitormattos Apr 1, 2026
d8023d4
chore(openapi): regenerate administration spec
vitormattos Apr 1, 2026
89afd4e
chore(openapi): regenerate full spec
vitormattos Apr 1, 2026
251f3e8
chore(openapi): regenerate administration types
vitormattos Apr 1, 2026
e128702
chore(openapi): regenerate full types
vitormattos Apr 1, 2026
603697d
test(policy): stabilize workbench persistence e2e
vitormattos Apr 1, 2026
055d4d6
test(signature-flow): stabilize request sidebar e2e
vitormattos Apr 1, 2026
c6c26ed
test(reminder): stabilize reminder action e2e
vitormattos Apr 1, 2026
cac3452
test: align admin policy response assertions
vitormattos Apr 1, 2026
275cea9
test: isolate guest signature element scenario
vitormattos Apr 1, 2026
cc922fd
fix: remove policy controller 500 mapping
vitormattos Apr 2, 2026
08077be
test: cover policy controller exception bubbling
vitormattos Apr 2, 2026
b87208e
fix: align system policy error type
vitormattos Apr 2, 2026
fb02774
build: regenerate openapi spec
vitormattos Apr 2, 2026
adaa56e
build: regenerate administration openapi spec
vitormattos Apr 2, 2026
ea67c34
build: regenerate full openapi spec
vitormattos Apr 2, 2026
c526d45
build: regenerate openapi types
vitormattos Apr 2, 2026
be38548
build: regenerate administration openapi types
vitormattos Apr 2, 2026
ac82649
build: regenerate full openapi types
vitormattos Apr 2, 2026
d8249a7
test: cover policy workbench compact view config
vitormattos Apr 2, 2026
a864665
test: drop brittle admin initial state unit test
vitormattos Apr 2, 2026
475a606
test: expand admin initial state integration coverage
vitormattos Apr 2, 2026
10fc263
test: drop migration unit test
vitormattos Apr 2, 2026
b86fb1c
fix: run signed file writes as owner
vitormattos Apr 2, 2026
fb979aa
test: cover owner-scoped signed file writes
vitormattos Apr 2, 2026
996487c
fix: tolerate invalid identify methods config
vitormattos Apr 2, 2026
8f97bd7
test: cover invalid identify methods config fallback
vitormattos Apr 2, 2026
bfb4bc8
test: stabilize admin initial state coverage
vitormattos Apr 2, 2026
6969b52
fix: reuse resolved signing file owner
vitormattos Apr 2, 2026
5910d3f
test: align owner session signing regression
vitormattos Apr 2, 2026
bbdc3c7
fix: load legacy identify methods config
vitormattos Apr 3, 2026
d86de5b
test: cover legacy identify methods config
vitormattos Apr 3, 2026
e1f4462
fix: reuse saved identify method defaults
vitormattos Apr 3, 2026
d422bd0
test: cover account identify method defaults
vitormattos Apr 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions lib/Command/Developer/Reset.php
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,12 @@ protected function configure(): void {
mode: InputOption::VALUE_NONE,
description: 'Reset config'
)
->addOption(
name: 'policy',
shortcut: null,
mode: InputOption::VALUE_NONE,
description: 'Reset policy data'
)
;
}

Expand Down Expand Up @@ -140,6 +146,10 @@ protected function execute(InputInterface $input, OutputInterface $output): int
$this->resetConfig();
$ok = true;
}
if ($input->getOption('policy') || $all) {
$this->resetPolicy();
$ok = true;
}
} catch (\Exception $e) {
$this->logger->error($e->getMessage());
throw $e;
Expand Down Expand Up @@ -254,4 +264,17 @@ private function resetConfig(): void {
} catch (\Throwable) {
}
}

private function resetPolicy(): void {
try {
$delete = $this->db->getQueryBuilder();
$delete->delete('libresign_permission_set_binding')
->executeStatement();

$delete = $this->db->getQueryBuilder();
$delete->delete('libresign_permission_set')
->executeStatement();
} catch (\Throwable) {
}
}
}
29 changes: 8 additions & 21 deletions lib/Controller/AdminController.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
use OCA\Libresign\Service\IdentifyMethodService;
use OCA\Libresign\Service\Install\ConfigureCheckService;
use OCA\Libresign\Service\Install\InstallService;
use OCA\Libresign\Service\Policy\PolicyService;
use OCA\Libresign\Service\ReminderService;
use OCA\Libresign\Service\SignatureBackgroundService;
use OCA\Libresign\Service\SignatureTextService;
Expand Down Expand Up @@ -83,6 +84,7 @@ public function __construct(
private ReminderService $reminderService,
private FooterService $footerService,
private DocMdpConfigService $docMdpConfigService,
private PolicyService $policyService,
private IdentifyMethodService $identifyMethodService,
private FileMapper $fileMapper,
) {
Expand Down Expand Up @@ -974,36 +976,21 @@ private function saveOrDeleteConfig(string $key, ?string $value, string $default
#[ApiRoute(verb: 'POST', url: '/api/{apiVersion}/admin/signature-flow/config', requirements: ['apiVersion' => '(v1)'])]
public function setSignatureFlowConfig(bool $enabled, ?string $mode = null): DataResponse {
try {
if (!$enabled) {
$this->appConfig->deleteKey(Application::APP_ID, 'signature_flow');
return new DataResponse([
'message' => $this->l10n->t('Settings saved'),
]);
}

if ($mode === null) {
if ($enabled && $mode === null) {
return new DataResponse([
'error' => $this->l10n->t('Mode is required when signature flow is enabled.'),
], Http::STATUS_BAD_REQUEST);
}

try {
$signatureFlow = \OCA\Libresign\Enum\SignatureFlow::from($mode);
} catch (\ValueError) {
return new DataResponse([
'error' => $this->l10n->t('Invalid signature flow mode. Use "parallel" or "ordered_numeric".'),
], Http::STATUS_BAD_REQUEST);
}

$this->appConfig->setValueString(
Application::APP_ID,
'signature_flow',
$signatureFlow->value
);
$this->policyService->saveSystem('signature_flow', $enabled ? $mode : null);

return new DataResponse([
'message' => $this->l10n->t('Settings saved'),
]);
} catch (\InvalidArgumentException) {
return new DataResponse([
'error' => $this->l10n->t('Invalid signature flow mode. Use "parallel" or "ordered_numeric".'),
], Http::STATUS_BAD_REQUEST);
} catch (\Exception $e) {
return new DataResponse([
'error' => $e->getMessage(),
Expand Down
10 changes: 9 additions & 1 deletion lib/Controller/PageController.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
use OCA\Libresign\Service\FileService;
use OCA\Libresign\Service\IdentifyMethod\SignatureMethod\TokenService;
use OCA\Libresign\Service\IdentifyMethodService;
use OCA\Libresign\Service\Policy\PolicyService;
use OCA\Libresign\Service\RequestSignatureService;
use OCA\Libresign\Service\SessionService;
use OCA\Libresign\Service\SignerElementsService;
Expand Down Expand Up @@ -58,6 +59,7 @@ public function __construct(
private AccountService $accountService,
protected SignFileService $signFileService,
protected RequestSignatureService $requestSignatureService,
private PolicyService $policyService,
private SignerElementsService $signerElementsService,
protected IL10N $l10n,
private IdentifyMethodService $identifyMethodService,
Expand Down Expand Up @@ -106,7 +108,13 @@ public function index(): TemplateResponse {

$this->provideSignerSignatues();
$this->initialState->provideInitialState('identify_methods', $this->identifyMethodService->getIdentifyMethodsSettings());
$this->initialState->provideInitialState('signature_flow', $this->appConfig->getValueString(Application::APP_ID, 'signature_flow', \OCA\Libresign\Enum\SignatureFlow::NONE->value));
$resolvedPolicies = [];
foreach ($this->policyService->resolveKnownPolicies() as $policyKey => $resolvedPolicy) {
$resolvedPolicies[$policyKey] = $resolvedPolicy->toArray();
}
$this->initialState->provideInitialState('effective_policies', [
'policies' => $resolvedPolicies,
]);
$this->initialState->provideInitialState('docmdp_config', $this->docMdpConfigService->getConfig());
$this->initialState->provideInitialState('legal_information', $this->appConfig->getValueString(Application::APP_ID, 'legal_information'));

Expand Down
Loading
Loading