keystone/keystone/oauth1/schema.py
Dave Chen 892cbf5025 Add schema for OAuth1 consumer API
Add schema validation on create/update of OAuth1 consumer.

This patch also remove the unnecessary code after schema
validation enforcement.

- Remove the check of `secret` in request body for update
consumer API. It is covered by this schema definition.
 'not': {
     'required': ['secret']
 }

- Remove the check of `description` to consistent with other
entities, such as `user`, `group`. It is covered by the following
schema definition.
 'description': validation.nullable(parameter_types.description)

Partially implements: bp schema-validation-extent

Change-Id: I4d7e6188e8120aa4bcb4a27a22a34d7b395d5f49
2016-02-02 14:12:53 +08:00

35 lines
1.0 KiB
Python

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from keystone.common import validation
from keystone.common.validation import parameter_types
_consumer_properties = {
'description': validation.nullable(parameter_types.description)
}
consumer_create = {
'type': 'object',
'properties': _consumer_properties,
'additionalProperties': True
}
consumer_update = {
'type': 'object',
'properties': _consumer_properties,
'not': {
'required': ['secret']
},
'minProperties': 1,
'additionalProperties': True
}