Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

#!/usr/bin/env python 

# -*- coding: utf-8 -*- 

 

############################################################################### 

#  Copyright 2013 Kitware Inc. 

# 

#  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 ..api_docs import Describe 

 

apis = [] 

 

apis.append({ 

    'path': '/collection', 

    'resource': 'collection', 

    'operations': [{ 

        'httpMethod': 'GET', 

        'nickname': 'findCollections', 

        'responseClass': 'Collection', 

        'summary': 'List or search for collections.', 

        'parameters': [ 

            Describe.param( 

                'text', 

                "Pass this to perform a full text search for collections.", 

                required=False), 

            Describe.param( 

                'limit', "Result set size limit (default=50).", required=False, 

                dataType='int'), 

            Describe.param( 

                'offset', "Offset into result set (default=0).", required=False, 

                dataType='int'), 

            Describe.param( 

                'sort', "Field to sort the result list by (default=name)", 

                required=False), 

            Describe.param( 

                'sortdir', "1 for ascending, -1 for descending (default=1)", 

                required=False, dataType='int') 

            ] 

        }, { 

        'httpMethod': 'POST', 

        'nickname': 'createCollection', 

        'responseClass': 'Collection', 

        'summary': 'Create a new collection.', 

        'parameters': [ 

            Describe.param('name', "Name for the collection. Must be unique."), 

            Describe.param('description', "Collection description.", 

                           required=False), 

            Describe.param('public', "Public read access flag.", 

                           dataType='boolean') 

            ], 

        'errorResponses': [ 

            Describe.errorResponse(), 

            Describe.errorResponse('You are not an administrator', 403) 

            ] 

        }] 

    }) 

 

apis.append({ 

    'path': '/collection/{collectionId}', 

    'resource': 'collection', 

    'operations': [{ 

        'httpMethod': 'GET', 

        'nickname': 'getCollectionById', 

        'responseClass': 'Collection', 

        'summary': 'Get a collection by ID.', 

        'parameters': [ 

            Describe.param( 

                'collectionId', 'The ID of the collection.', paramType='path') 

            ], 

        'errorResponses': [ 

            Describe.errorResponse('ID was invalid.'), 

            Describe.errorResponse('You do not have permission to see this ' 

                                   'collection.', 403) 

            ] 

        }, { 

        'httpMethod': 'PUT', 

        'nickname': 'editCollectionById', 

        'responseClass': 'Collection', 

        'summary': 'Edit a collection by ID.', 

        'parameters': [ 

            Describe.param( 

                'collectionId', 'The ID of the collection.', paramType='path'), 

            Describe.param('name', "Name for the collection. Must be unique.", 

                           required=False), 

            Describe.param('description', "Collection description.", 

                           required=False), 

            Describe.param('public', "Public read access flag.", 

                           dataType='boolean') 

            ], 

        'errorResponses': [ 

            Describe.errorResponse('ID was invalid.'), 

            Describe.errorResponse('You do not have permission to edit this ' 

                                   'collection.', 403) 

            ] 

        }, { 

        'httpMethod': 'DELETE', 

        'nickname': 'deleteCollectionById', 

        'responseClass': 'Collection', 

        'summary': 'Delete a collection by ID.', 

        'parameters': [ 

            Describe.param( 

                'collectionId', 'The ID of the collection.', paramType='path') 

            ], 

        'errorResponses': [ 

            Describe.errorResponse('ID was invalid.'), 

            Describe.errorResponse('You do not have permission to delete this ' 

                                   'collection.', 403) 

            ] 

        }] 

    }) 

 

Describe.declareApi('collection', apis=apis)