This module is not required. It is just a suggested module.
The return value cannot be defined as ResponseInterface|null
when the method returns FALSE
.
As that property is not expected to be changed, it should probably be replaced by a constant....
A definite article is missing. The module name is Graph Mail. I don't feel necessary to say it is the Graph Mail's state name.
That is usually described as the state storage service. There is no need to add Drupal (and API should be spelled in upper-case letters).
Doesn't the Key module use annotations for its plugins?
Since a form element is by default visible, should not the form element be hidden when the credential provider is not graph_mail?
This code verifies the configuration values have been submitted, even when those values are surely submitted.
This class uses snake case for local variables names.
The module name is Graph Mail, not graph mail.
As I said in an issue comment, this is fine, but the Key module should not be a hard dependency.
This change is out-of-topic for this issue.
New parameters must be added after the existing ones....
I updated all code please verify now.
I would avoid a constant that is used only twice.
This class uses snail case local variable names. That needs to be consistently used.
Instead of ResponseInterface|bool
, it would be better to use ResponseInterface|null
.
As the code has been changed, this is not a suggestion: It is a dependency.
An optional parameter cannot be followed by a required parameter.