Skip to content

Migrate entra groupsetting and groupsettingtemplate commands to Zod#7366

Open
waldekmastykarz wants to merge 1 commit into
pnp:mainfrom
waldekmastykarz:waldekmastykarz/migrate-entra-groupsetting-zod
Open

Migrate entra groupsetting and groupsettingtemplate commands to Zod#7366
waldekmastykarz wants to merge 1 commit into
pnp:mainfrom
waldekmastykarz:waldekmastykarz/migrate-entra-groupsetting-zod

Conversation

@waldekmastykarz
Copy link
Copy Markdown
Member

Summary

Migrates all 7 entra groupsetting and entra groupsettingtemplate commands to use Zod schemas for option validation, replacing the legacy #initOptions(), #initValidators(), #initTelemetry(), and #initOptionSets() patterns.

Closes #7297

Commands migrated

Command Schema type Notes
entra groupsetting add looseObject Supports unknown options
entra groupsetting get strictObject
entra groupsetting list strictObject No custom options
entra groupsetting remove strictObject
entra groupsetting set looseObject Supports unknown options
entra groupsettingtemplate get strictObject Option set via getRefinedSchema
entra groupsettingtemplate list strictObject No custom options

Changes per command

  • Replaced interface Options extends GlobalOptions with Zod schema definitions
  • Replaced manual GUID validation with z.uuid()
  • Added .alias() for short option names
  • Implemented get schema() getter
  • Used getRefinedSchema() for option set validation (groupsettingtemplate get)
  • Removed constructor-based #initOptions(), #initValidators(), #initTelemetry(), #initOptionSets()

Test changes

  • Validation tests updated from command.validate() to commandOptionsSchema.safeParse()
  • Removed legacy supports specifying tests that checked command.options array
  • Removed settingsNames stubs no longer needed for option set validation

Migrate all 7 commands to use Zod schemas for option validation:
- entra groupsetting add
- entra groupsetting get
- entra groupsetting list
- entra groupsetting remove
- entra groupsetting set
- entra groupsettingtemplate get
- entra groupsettingtemplate list

Closes pnp#7297

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate entra groupsetting and groupsettingtemplate commands to Zod

1 participant