Improve API documentation

pull/91/head
Francis Lachapelle 2015-01-22 09:15:44 -05:00
parent c29719f49d
commit 37e91733ca
3 changed files with 87 additions and 0 deletions

View File

@ -137,6 +137,14 @@
return [self _subscribeAction: NO];
}
/**
* @api {get} /so/:username/:folderPath/canAccessContent Test access rights
* @apiVersion 1.0.0
* @apiName GetCanAccessContent
* @apiGroup Common
* @apiExample {curl} Example usage:
* curl -i http://localhost/SOGo/so/sogo1/Calendar/personal/canAccessContent
*/
- (WOResponse *) canAccessContentAction
{
/* We want this action to be authorized managed by the SOPE's internal acl

View File

@ -498,6 +498,46 @@ static Class SOGoContactGCSEntryK = Nil;
[card cleanupEmptyChildren];
}
/**
* @api {post} /so/:username/Contacts/:addressbookId/:cardId/save Save card
* @apiVersion 1.0.0
* @apiName PostData
* @apiGroup Contacts
* @apiExample {curl} Example usage:
* curl -i http://localhost/SOGo/so/sogo1/Contacts/personal/1BC8-52F53F80-1-38C52040.vcf/view
*
* @apiSuccess (Success 200) {String} id Card ID
* @apiSuccess (Success 200) {String} pid Address book ID (card's container)
* @apiSuccess (Success 200) {String} tag Either vcard or vlist
* @apiSuccess (Success 200) {String} givenname Firstname
* @apiSuccess (Success 200) {String} nickname Nickname
* @apiSuccess (Success 200) {String} sn Lastname
* @apiSuccess (Success 200) {String} fn Fullname
* @apiSuccess (Success 200) {String} tz Timezone
* @apiSuccess (Success 200) {String} note Note
* @apiSuccess (Success 200) {String[]} allCategories All available categories
* @apiSuccess (Success 200) {Object[]} categories Categories assigned to the card
* @apiSuccess (Success 200) {String} categories.value Category name
* @apiSuccess (Success 200) {Object[]} addresses Postal addresses
* @apiSuccess (Success 200) {String} addresses.type Type (e.g., home or work)
* @apiSuccess (Success 200) {String} addresses.postoffice Post office box
* @apiSuccess (Success 200) {String} addresses.street Street address
* @apiSuccess (Success 200) {String} addresses.street2 Extended address (e.g., apartment or suite number)
* @apiSuccess (Success 200) {String} addresses.locality Locality (e.g., city)
* @apiSuccess (Success 200) {String} addresses.region Region (e.g., state or province)
* @apiSuccess (Success 200) {String} addresses.postalcode Postal code
* @apiSuccess (Success 200) {String} addresses.country Country name
* @apiSuccess (Success 200) {Object[]} emails Email addresses
* @apiSuccess (Success 200) {String} emails.type Type (e.g., home or work)
* @apiSuccess (Success 200) {String} emails.value Email address
* @apiSuccess (Success 200) {Object[]} phones Phone numbers
* @apiSuccess (Success 200) {String} phones.type Type (e.g., mobile or work)
* @apiSuccess (Success 200) {String} phones.value Phone number
* @apiSuccess (Success 200) {Object[]} urls URLs
* @apiSuccess (Success 200) {String} urls.type Type (e.g., personal or work)
* @apiSuccess (Success 200) {String} urls.value URL
*/
- (id <WOActionResults>) saveAction
{
SOGoContentObject <SOGoContactObject> *co;

View File

@ -737,6 +737,45 @@
return self;
}
/**
* @api {get} /so/:username/Contacts/:addressbookId/:cardId/view Get card
* @apiVersion 1.0.0
* @apiName GetData
* @apiGroup Contacts
* @apiExample {curl} Example usage:
* curl -i http://localhost/SOGo/so/sogo1/Contacts/personal/1BC8-52F53F80-1-38C52040.vcf/view
*
* @apiSuccess (Success 200) {String} id Card ID
* @apiSuccess (Success 200) {String} pid Address book ID (card's container)
* @apiSuccess (Success 200) {String} tag Either vcard or vlist
* @apiSuccess (Success 200) {String} [givenname] Firstname
* @apiSuccess (Success 200) {String} [nickname] Nickname
* @apiSuccess (Success 200) {String} [sn] Lastname
* @apiSuccess (Success 200) {String} [fn] Fullname
* @apiSuccess (Success 200) {String} [tz] Timezone
* @apiSuccess (Success 200) {String} [note] Note
* @apiSuccess (Success 200) {String[]} allCategories All available categories
* @apiSuccess (Success 200) {Object[]} [categories] Categories assigned to the card
* @apiSuccess (Success 200) {String} categories.value Category name
* @apiSuccess (Success 200) {Object[]} [addresses] Postal addresses
* @apiSuccess (Success 200) {String} addresses.type Type (e.g., home or work)
* @apiSuccess (Success 200) {String} addresses.postoffice Post office box
* @apiSuccess (Success 200) {String} addresses.street Street address
* @apiSuccess (Success 200) {String} addresses.street2 Extended address (e.g., apartment or suite number)
* @apiSuccess (Success 200) {String} addresses.locality Locality (e.g., city)
* @apiSuccess (Success 200) {String} addresses.region Region (e.g., state or province)
* @apiSuccess (Success 200) {String} addresses.postalcode Postal code
* @apiSuccess (Success 200) {String} addresses.country Country name
* @apiSuccess (Success 200) {Object[]} [emails] Email addresses
* @apiSuccess (Success 200) {String} emails.type Type (e.g., home or work)
* @apiSuccess (Success 200) {String} emails.value Email address
* @apiSuccess (Success 200) {Object[]} [phones] Phone numbers
* @apiSuccess (Success 200) {String} phones.type Type (e.g., mobile or work)
* @apiSuccess (Success 200) {String} phones.value Phone number
* @apiSuccess (Success 200) {Object[]} [urls] URLs
* @apiSuccess (Success 200) {String} urls.type Type (e.g., personal or work)
* @apiSuccess (Success 200) {String} urls.value URL
*/
- (id <WOActionResults>) dataAction
{
id <WOActionResults> result;