Merge lp:~mandel/ubuntuone-windows-installer/add_ubuntu_login_wadl into lp:ubuntuone-windows-installer/beta

Proposed by Manuel de la Peña
Status: Merged
Approved by: Rodrigo Moya
Approved revision: 62
Merged at revision: 85
Proposed branch: lp:~mandel/ubuntuone-windows-installer/add_ubuntu_login_wadl
Merge into: lp:ubuntuone-windows-installer/beta
Diff against target: 3908 lines (+3844/-1)
7 files modified
data/login.wadl (+1348/-0)
lib/Wadlsharp/license.txt (+25/-0)
main.build (+13/-1)
src/Canonical.Ubuntu.SSO/Canonical.Ubuntu.SSO.csproj (+3/-0)
src/Canonical.Ubuntu.SSO/ISSOLoginProcessor.cs (+82/-0)
src/Canonical.Ubuntu.SSO/Login.cs (+2267/-0)
src/Canonical.Ubuntu.SSO/SSOLoginProcessor.cs (+106/-0)
To merge this branch: bzr merge lp:~mandel/ubuntuone-windows-installer/add_ubuntu_login_wadl
Reviewer Review Type Date Requested Status
Rodrigo Moya (community) Approve
Rick McBride (community) Approve
Review via email: mp+36001@code.launchpad.net

Description of the change

Adds the auto-generated code by wadl-sharp so that we can use the wadl service from Ubuntu SSO.

To post a comment you must log in.
Revision history for this message
Rick McBride (rmcbride) wrote :

Neat!

review: Approve
Revision history for this message
Rodrigo Moya (rodrigo-moya) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'data/login.wadl'
2--- data/login.wadl 1970-01-01 00:00:00 +0000
3+++ data/login.wadl 2010-09-20 11:26:08 +0000
4@@ -0,0 +1,1348 @@
5+<?xml version="1.0"?>
6+<!DOCTYPE application [
7+ <!ENTITY nbsp "\&#160;">
8+]>
9+<wadl:application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+ xmlns="http://research.sun.com/wadl/2006/10"
11+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
12+ xmlns:wadl="http://research.sun.com/wadl/2006/10"
13+ xsi:schemaLocation="http://research.sun.com/wadl/2006/10/wadl.xsd">
14+
15+ <!--There is one "service root" resource, located (as you'd expect)
16+ at the service root. This very document is the WADL
17+ representation of the "service root" resource.-->
18+ <wadl:resources base="https://login.ubuntu.com/api/1.0/">
19+ <wadl:resource path="" type="#service-root"/>
20+ </wadl:resources>
21+
22+ <!--A "service root" resource responds to GET.-->
23+ <wadl:resource_type id="service-root">
24+ <wadl:doc>The root of the web service.</wadl:doc>
25+ <wadl:method name="GET" id="service-root-get">
26+ <wadl:response>
27+ <wadl:representation href="#service-root-json"/>
28+ <wadl:representation mediaType="application/vnd.sun.wadl+xml" id="service-root-wadl"/>
29+ </wadl:response>
30+ </wadl:method>
31+ </wadl:resource_type>
32+
33+ <!--The JSON representation of a "service root" resource contains a
34+ number of links to collection-type resources.-->
35+ <wadl:representation mediaType="application/json" id="service-root-json">
36+
37+ <wadl:param style="plain"
38+ path="$['registrations_collection_link']"
39+ name="registrations_collection_link">
40+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#registrations"/>
41+ </wadl:param>
42+
43+
44+ <wadl:param style="plain"
45+ path="$['authentications_collection_link']"
46+ name="authentications_collection_link">
47+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#authentications"/>
48+ </wadl:param>
49+
50+
51+ <wadl:param style="plain"
52+ path="$['captchas_collection_link']"
53+ name="captchas_collection_link">
54+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#captchas"/>
55+ </wadl:param>
56+
57+
58+ <wadl:param style="plain"
59+ path="$['accounts_collection_link']"
60+ name="accounts_collection_link">
61+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#accounts"/>
62+ </wadl:param>
63+
64+
65+ <wadl:param style="plain"
66+ path="$['validations_collection_link']"
67+ name="validations_collection_link">
68+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#accounts"/>
69+ </wadl:param>
70+
71+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
72+ <wadl:doc>The link to the WADL description of this resource.</wadl:doc>
73+ <wadl:link/>
74+ </wadl:param>
75+ </wadl:representation>
76+
77+ <!--In addition to the service root, this document describes all the
78+ types of resources you might encounter as you browse this web
79+ service.-->
80+
81+ <!--Begin resource_type definitions for collection resources.-->
82+
83+ <wadl:resource_type id="accounts">
84+
85+ <wadl:method name="GET" id="accounts-get">
86+ <wadl:response>
87+ <wadl:representation
88+ href="https://login.ubuntu.com/api/1.0/#account-page"/>
89+ <wadl:representation
90+ mediaType="application/vnd.sun.wadl+xml"
91+ id="accounts-wadl"/>
92+ </wadl:response>
93+ </wadl:method>
94+
95+ <wadl:method id="accounts-me" name="GET">
96+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
97+Get details for the currently authenticated user.
98+</wadl:doc>
99+ <wadl:request>
100+
101+ <wadl:param style="query" name="ws.op"
102+ required="true" fixed="me">
103+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
104+ </wadl:param>
105+
106+ </wadl:request>
107+
108+ </wadl:method>
109+ <wadl:method id="accounts-team_memberships" name="GET">
110+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
111+Query account for team memberships
112+</wadl:doc>
113+ <wadl:request>
114+
115+ <wadl:param style="query" name="ws.op"
116+ required="true"
117+ fixed="team_memberships">
118+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
119+ </wadl:param>
120+ <wadl:param style="query" required="true"
121+ name="team_names">
122+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
123+List of team names to check
124+</wadl:doc>
125+
126+ </wadl:param>
127+
128+ </wadl:request>
129+
130+ </wadl:method>
131+ <wadl:method id="accounts-validate_email" name="GET">
132+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
133+Validate email by sending token user received in email
134+</wadl:doc>
135+ <wadl:request>
136+
137+ <wadl:param style="query" name="ws.op"
138+ required="true"
139+ fixed="validate_email">
140+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
141+ </wadl:param>
142+ <wadl:param style="query" required="true"
143+ name="email_token">
144+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
145+Email validation token.
146+</wadl:doc>
147+
148+ </wadl:param>
149+
150+ </wadl:request>
151+
152+ </wadl:method>
153+ </wadl:resource_type>
154+
155+
156+
157+ <wadl:resource_type id="authentications">
158+
159+ <wadl:method name="GET" id="authentications-get">
160+ <wadl:response>
161+ <wadl:representation
162+ href="https://login.ubuntu.com/api/1.0/#authentication-page"/>
163+ <wadl:representation
164+ mediaType="application/vnd.sun.wadl+xml"
165+ id="authentications-wadl"/>
166+ </wadl:response>
167+ </wadl:method>
168+
169+ <wadl:method id="authentications-me" name="GET">
170+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
171+Get details for the currently authenticated user.
172+</wadl:doc>
173+ <wadl:request>
174+
175+ <wadl:param style="query" name="ws.op"
176+ required="true" fixed="me">
177+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
178+ </wadl:param>
179+
180+ </wadl:request>
181+
182+ </wadl:method>
183+ <wadl:method id="authentications-authenticate"
184+ name="GET">
185+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
186+Obtain OAuth token for logged in user
187+</wadl:doc>
188+ <wadl:request>
189+
190+ <wadl:param style="query" name="ws.op"
191+ required="true" fixed="authenticate">
192+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
193+ </wadl:param>
194+ <wadl:param style="query" required="true"
195+ name="token_name">
196+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
197+Token name.
198+</wadl:doc>
199+
200+ </wadl:param>
201+
202+ </wadl:request>
203+
204+ </wadl:method>
205+ <wadl:method id="authentications-team_memberships"
206+ name="GET">
207+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
208+Query user for team memberships
209+</wadl:doc>
210+ <wadl:request>
211+
212+ <wadl:param style="query" name="ws.op"
213+ required="true"
214+ fixed="team_memberships">
215+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
216+ </wadl:param>
217+ <wadl:param style="query" required="true"
218+ name="team_names">
219+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
220+List of team names to check
221+</wadl:doc>
222+
223+ </wadl:param>
224+ <wadl:param style="query" required="true"
225+ name="openid_identifier">
226+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
227+OpenID Identifier used for asking forteam memberships on behalf of other user.
228+</wadl:doc>
229+
230+ </wadl:param>
231+
232+ </wadl:request>
233+
234+ </wadl:method>
235+ <wadl:method id="authentications-account_by_email"
236+ name="GET">
237+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
238+Retrieve account information based on email address
239+</wadl:doc>
240+ <wadl:request>
241+
242+ <wadl:param style="query" name="ws.op"
243+ required="true"
244+ fixed="account_by_email">
245+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
246+ </wadl:param>
247+ <wadl:param style="query" required="true"
248+ name="email">
249+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
250+Email address of the account
251+</wadl:doc>
252+
253+ </wadl:param>
254+
255+ </wadl:request>
256+
257+ </wadl:method>
258+ <wadl:method id="authentications-validate_email"
259+ name="GET">
260+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
261+Validate email by sending token user received in email
262+</wadl:doc>
263+ <wadl:request>
264+
265+ <wadl:param style="query" name="ws.op"
266+ required="true"
267+ fixed="validate_email">
268+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
269+ </wadl:param>
270+ <wadl:param style="query" required="true"
271+ name="email_token">
272+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
273+Email validation token.
274+</wadl:doc>
275+
276+ </wadl:param>
277+
278+ </wadl:request>
279+
280+ </wadl:method>
281+ <wadl:method id="authentications-validate_token"
282+ name="GET">
283+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
284+<p>Check that a token is valid.</p>
285+<p>If valid, this method return the token and consumer secrets</p>
286+
287+</wadl:doc>
288+ <wadl:request>
289+
290+ <wadl:param style="query" name="ws.op"
291+ required="true"
292+ fixed="validate_token">
293+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
294+ </wadl:param>
295+ <wadl:param style="query" required="true"
296+ name="token">
297+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
298+The token you want to validate
299+</wadl:doc>
300+
301+ </wadl:param>
302+ <wadl:param style="query" required="true"
303+ name="consumer_key">
304+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
305+The consumer key (openid identifier)
306+</wadl:doc>
307+
308+ </wadl:param>
309+
310+ </wadl:request>
311+
312+ </wadl:method>
313+ <wadl:method id="authentications-list_tokens"
314+ name="GET">
315+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
316+Get the currently valid tokens for a given user
317+</wadl:doc>
318+ <wadl:request>
319+
320+ <wadl:param style="query" name="ws.op"
321+ required="true" fixed="list_tokens">
322+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
323+ </wadl:param>
324+ <wadl:param style="query" required="true"
325+ name="consumer_key">
326+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
327+User's OpenID identifier
328+</wadl:doc>
329+
330+ </wadl:param>
331+
332+ </wadl:request>
333+
334+ </wadl:method>
335+ <wadl:method id="authentications-invalidate_token"
336+ name="POST">
337+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
338+Make the given token invalid
339+</wadl:doc>
340+ <wadl:request>
341+ <wadl:representation
342+ mediaType="application/x-www-form-urlencoded">
343+ <wadl:param style="query" name="ws.op"
344+ required="true"
345+ fixed="invalidate_token">
346+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
347+ </wadl:param>
348+ <wadl:param style="query" required="true"
349+ name="token">
350+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
351+The token you want to invalidate
352+</wadl:doc>
353+
354+ </wadl:param>
355+ <wadl:param style="query" required="true"
356+ name="consumer_key">
357+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
358+The consumer key (openid identifier)
359+</wadl:doc>
360+
361+ </wadl:param>
362+ </wadl:representation>
363+ </wadl:request>
364+
365+ </wadl:method>
366+ </wadl:resource_type>
367+
368+
369+
370+ <wadl:resource_type id="captchas">
371+
372+ <wadl:method name="GET" id="captchas-get">
373+ <wadl:response>
374+ <wadl:representation
375+ href="https://login.ubuntu.com/api/1.0/#captcha-page"/>
376+ <wadl:representation
377+ mediaType="application/vnd.sun.wadl+xml"
378+ id="captchas-wadl"/>
379+ </wadl:response>
380+ </wadl:method>
381+
382+ <wadl:method id="captchas-new" name="POST">
383+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
384+Generate a new captcha
385+</wadl:doc>
386+ <wadl:request>
387+ <wadl:representation
388+ mediaType="application/x-www-form-urlencoded">
389+ <wadl:param style="query" name="ws.op"
390+ required="true" fixed="new">
391+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
392+ </wadl:param>
393+ </wadl:representation>
394+ </wadl:request>
395+
396+ </wadl:method>
397+ </wadl:resource_type>
398+
399+
400+
401+ <wadl:resource_type id="registrations">
402+
403+ <wadl:method name="GET" id="registrations-get">
404+ <wadl:response>
405+ <wadl:representation
406+ href="https://login.ubuntu.com/api/1.0/#registration-page"/>
407+ <wadl:representation
408+ mediaType="application/vnd.sun.wadl+xml"
409+ id="registrations-wadl"/>
410+ </wadl:response>
411+ </wadl:method>
412+
413+ <wadl:method id="registrations-me" name="GET">
414+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
415+Get details for the currently authenticated user.
416+</wadl:doc>
417+ <wadl:request>
418+
419+ <wadl:param style="query" name="ws.op"
420+ required="true" fixed="me">
421+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
422+ </wadl:param>
423+
424+ </wadl:request>
425+
426+ </wadl:method>
427+ <wadl:method id="registrations-team_memberships"
428+ name="GET">
429+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
430+Query account for team memberships
431+</wadl:doc>
432+ <wadl:request>
433+
434+ <wadl:param style="query" name="ws.op"
435+ required="true"
436+ fixed="team_memberships">
437+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
438+ </wadl:param>
439+ <wadl:param style="query" required="true"
440+ name="team_names">
441+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
442+List of team names to check
443+</wadl:doc>
444+
445+ </wadl:param>
446+
447+ </wadl:request>
448+
449+ </wadl:method>
450+ <wadl:method id="registrations-validate_email"
451+ name="GET">
452+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
453+Validate email by sending token user received in email
454+</wadl:doc>
455+ <wadl:request>
456+
457+ <wadl:param style="query" name="ws.op"
458+ required="true"
459+ fixed="validate_email">
460+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
461+ </wadl:param>
462+ <wadl:param style="query" required="true"
463+ name="email_token">
464+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
465+Email validation token.
466+</wadl:doc>
467+
468+ </wadl:param>
469+
470+ </wadl:request>
471+
472+ </wadl:method>
473+ <wadl:method id="registrations-request_password_reset_token"
474+ name="POST">
475+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
476+Request password reset code to be sent to the email
477+</wadl:doc>
478+ <wadl:request>
479+ <wadl:representation
480+ mediaType="application/x-www-form-urlencoded">
481+ <wadl:param style="query" name="ws.op"
482+ required="true"
483+ fixed="request_password_reset_token">
484+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
485+ </wadl:param>
486+ <wadl:param style="query" required="true"
487+ name="email">
488+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
489+Email address.
490+</wadl:doc>
491+
492+ </wadl:param>
493+ </wadl:representation>
494+ </wadl:request>
495+
496+ </wadl:method>
497+ <wadl:method id="registrations-set_new_password"
498+ name="POST">
499+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
500+Set new password for given user
501+</wadl:doc>
502+ <wadl:request>
503+ <wadl:representation
504+ mediaType="application/x-www-form-urlencoded">
505+ <wadl:param style="query" name="ws.op"
506+ required="true"
507+ fixed="set_new_password">
508+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
509+ </wadl:param>
510+ <wadl:param style="query" required="true"
511+ name="new_password">
512+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
513+New password
514+</wadl:doc>
515+
516+ </wadl:param>
517+ <wadl:param style="query" required="true"
518+ name="token">
519+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
520+Password reset token.
521+</wadl:doc>
522+
523+ </wadl:param>
524+ <wadl:param style="query" required="true"
525+ name="email">
526+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
527+Email address.
528+</wadl:doc>
529+
530+ </wadl:param>
531+ </wadl:representation>
532+ </wadl:request>
533+
534+ </wadl:method>
535+ <wadl:method id="registrations-register" name="POST">
536+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
537+Generate a new captcha
538+</wadl:doc>
539+ <wadl:request>
540+ <wadl:representation
541+ mediaType="application/x-www-form-urlencoded">
542+ <wadl:param style="query" name="ws.op"
543+ required="true" fixed="register">
544+ <wadl:doc>The name of the operation being invoked.</wadl:doc>
545+ </wadl:param>
546+ <wadl:param style="query" required="true"
547+ name="captcha_solution">
548+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
549+Solution for the generated captcha.
550+</wadl:doc>
551+
552+ </wadl:param>
553+ <wadl:param style="query" required="true"
554+ name="password">
555+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
556+Password should be at least 8 characters long and contain at least one uppercase letter and a number.
557+</wadl:doc>
558+
559+ </wadl:param>
560+ <wadl:param style="query" required="true"
561+ name="captcha_id">
562+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
563+ID for the generated captcha
564+</wadl:doc>
565+
566+ </wadl:param>
567+ <wadl:param style="query" required="true"
568+ name="email">
569+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
570+Email address.
571+</wadl:doc>
572+
573+ </wadl:param>
574+ </wadl:representation>
575+ </wadl:request>
576+
577+ </wadl:method>
578+ </wadl:resource_type>
579+
580+
581+ <!--End resource_type definitions for collection resources.-->
582+
583+ <!--Begin representation and resource_type definitions for entry
584+ resources and the collections that contain them. -->
585+
586+ <wadl:resource_type id="account">
587+
588+ <wadl:method name="GET" id="account-get">
589+ <wadl:response>
590+ <wadl:representation
591+ href="https://login.ubuntu.com/api/1.0/#account-full"/>
592+ <wadl:representation
593+ mediaType="application/xhtml+xml" id="account-xhtml"/>
594+ <wadl:representation
595+ mediaType="application/vnd.sun.wadl+xml"
596+ id="account-wadl"/>
597+ </wadl:response>
598+ </wadl:method>
599+
600+ <wadl:method name="PUT" id="account-put">
601+ <wadl:request>
602+ <wadl:representation
603+ href="https://login.ubuntu.com/api/1.0/#account-full"/>
604+ </wadl:request>
605+ </wadl:method>
606+
607+ <wadl:method name="PATCH" id="account-patch">
608+ <wadl:request>
609+ <wadl:representation
610+ href="https://login.ubuntu.com/api/1.0/#account-diff"/>
611+ </wadl:request>
612+ </wadl:method>
613+
614+
615+
616+ </wadl:resource_type>
617+
618+
619+ <wadl:representation mediaType="application/json"
620+ id="account-full">
621+ <wadl:param style="plain" name="self_link" path="$['self_link']">
622+ <wadl:doc>The canonical link to this resource.</wadl:doc>
623+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#account"/>
624+ </wadl:param>
625+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
626+ <wadl:doc>
627+ The link to the WADL description of this resource.
628+ </wadl:doc>
629+ <wadl:link/>
630+ </wadl:param>
631+ <wadl:param style="plain" name="http_etag" path="$['http_etag']">
632+ <wadl:doc>
633+ The value of the HTTP ETag for this resource.
634+ </wadl:doc>
635+ </wadl:param>
636+ <wadl:param style="plain" required="true"
637+ path="$['preferred_email']"
638+ name="preferred_email">
639+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
640+Primary email address
641+</wadl:doc>
642+
643+ </wadl:param>
644+ <wadl:param style="plain" required="true"
645+ path="$['unverified_emails']"
646+ name="unverified_emails">
647+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
648+List of unverified emails
649+</wadl:doc>
650+
651+ </wadl:param>
652+ <wadl:param style="plain" required="true"
653+ path="$['id']" name="id">
654+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
655+Account ID
656+</wadl:doc>
657+
658+ </wadl:param>
659+ <wadl:param style="plain" required="true"
660+ path="$['verified_emails']"
661+ name="verified_emails">
662+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
663+List of verified emails
664+</wadl:doc>
665+
666+ </wadl:param>
667+ </wadl:representation>
668+
669+ <wadl:representation mediaType="application/json"
670+ id="account-diff">
671+ <wadl:param style="plain" required="false"
672+ path="$['preferred_email']"
673+ name="preferred_email">
674+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
675+Primary email address
676+</wadl:doc>
677+
678+ </wadl:param>
679+ <wadl:param style="plain" required="false"
680+ path="$['unverified_emails']"
681+ name="unverified_emails">
682+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
683+List of unverified emails
684+</wadl:doc>
685+
686+ </wadl:param>
687+ <wadl:param style="plain" required="false"
688+ path="$['id']" name="id">
689+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
690+Account ID
691+</wadl:doc>
692+
693+ </wadl:param>
694+ <wadl:param style="plain" required="false"
695+ path="$['verified_emails']"
696+ name="verified_emails">
697+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
698+List of verified emails
699+</wadl:doc>
700+
701+ </wadl:param>
702+ </wadl:representation>
703+
704+ <!--Collection page for this type of entry-->
705+ <wadl:resource_type id="account-page-resource">
706+ <wadl:method name="GET" id="account-page-resource-get">
707+ <wadl:response>
708+ <wadl:representation href="#account-page"/>
709+ </wadl:response>
710+ </wadl:method>
711+ </wadl:resource_type>
712+
713+ <wadl:representation mediaType="application/json"
714+ id="account-page">
715+
716+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
717+ <wadl:link/>
718+ </wadl:param>
719+
720+ <wadl:param style="plain" name="total_size" path="$['total_size']" required="true"/>
721+
722+ <wadl:param style="plain" name="start" path="$['start']" required="true"/>
723+
724+ <wadl:param style="plain" name="next_collection_link" path="$['next_collection_link']">
725+ <wadl:link resource_type="#account-page-resource"/>
726+ </wadl:param>
727+
728+ <wadl:param style="plain" name="prev_collection_link" path="$['prev_collection_link']">
729+ <wadl:link resource_type="#account-page-resource"/>
730+ </wadl:param>
731+
732+ <wadl:param style="plain" name="entries" path="$['entries']" required="true"/>
733+
734+ <wadl:param style="plain" name="entry_links" path="$['entries'][*]['self_link']">
735+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#account"/>
736+ </wadl:param>
737+ </wadl:representation>
738+
739+
740+
741+ <wadl:resource_type id="authentication">
742+
743+ <wadl:method name="GET" id="authentication-get">
744+ <wadl:response>
745+ <wadl:representation
746+ href="https://login.ubuntu.com/api/1.0/#authentication-full"/>
747+ <wadl:representation
748+ mediaType="application/xhtml+xml"
749+ id="authentication-xhtml"/>
750+ <wadl:representation
751+ mediaType="application/vnd.sun.wadl+xml"
752+ id="authentication-wadl"/>
753+ </wadl:response>
754+ </wadl:method>
755+
756+ <wadl:method name="PUT" id="authentication-put">
757+ <wadl:request>
758+ <wadl:representation
759+ href="https://login.ubuntu.com/api/1.0/#authentication-full"/>
760+ </wadl:request>
761+ </wadl:method>
762+
763+ <wadl:method name="PATCH" id="authentication-patch">
764+ <wadl:request>
765+ <wadl:representation
766+ href="https://login.ubuntu.com/api/1.0/#authentication-diff"/>
767+ </wadl:request>
768+ </wadl:method>
769+
770+
771+
772+ </wadl:resource_type>
773+
774+
775+ <wadl:representation mediaType="application/json"
776+ id="authentication-full">
777+ <wadl:param style="plain" name="self_link" path="$['self_link']">
778+ <wadl:doc>The canonical link to this resource.</wadl:doc>
779+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#authentication"/>
780+ </wadl:param>
781+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
782+ <wadl:doc>
783+ The link to the WADL description of this resource.
784+ </wadl:doc>
785+ <wadl:link/>
786+ </wadl:param>
787+ <wadl:param style="plain" name="http_etag" path="$['http_etag']">
788+ <wadl:doc>
789+ The value of the HTTP ETag for this resource.
790+ </wadl:doc>
791+ </wadl:param>
792+ <wadl:param style="plain" required="true"
793+ path="$['preferred_email']"
794+ name="preferred_email">
795+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
796+Primary email address
797+</wadl:doc>
798+
799+ </wadl:param>
800+ <wadl:param style="plain" required="true"
801+ path="$['unverified_emails']"
802+ name="unverified_emails">
803+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
804+List of unverified emails
805+</wadl:doc>
806+
807+ </wadl:param>
808+ <wadl:param style="plain" required="true"
809+ path="$['id']" name="id">
810+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
811+Account ID
812+</wadl:doc>
813+
814+ </wadl:param>
815+ <wadl:param style="plain" required="true"
816+ path="$['verified_emails']"
817+ name="verified_emails">
818+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
819+List of verified emails
820+</wadl:doc>
821+
822+ </wadl:param>
823+ </wadl:representation>
824+
825+ <wadl:representation mediaType="application/json"
826+ id="authentication-diff">
827+ <wadl:param style="plain" required="false"
828+ path="$['preferred_email']"
829+ name="preferred_email">
830+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
831+Primary email address
832+</wadl:doc>
833+
834+ </wadl:param>
835+ <wadl:param style="plain" required="false"
836+ path="$['unverified_emails']"
837+ name="unverified_emails">
838+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
839+List of unverified emails
840+</wadl:doc>
841+
842+ </wadl:param>
843+ <wadl:param style="plain" required="false"
844+ path="$['id']" name="id">
845+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
846+Account ID
847+</wadl:doc>
848+
849+ </wadl:param>
850+ <wadl:param style="plain" required="false"
851+ path="$['verified_emails']"
852+ name="verified_emails">
853+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
854+List of verified emails
855+</wadl:doc>
856+
857+ </wadl:param>
858+ </wadl:representation>
859+
860+ <!--Collection page for this type of entry-->
861+ <wadl:resource_type id="authentication-page-resource">
862+ <wadl:method name="GET"
863+ id="authentication-page-resource-get">
864+ <wadl:response>
865+ <wadl:representation href="#authentication-page"/>
866+ </wadl:response>
867+ </wadl:method>
868+ </wadl:resource_type>
869+
870+ <wadl:representation mediaType="application/json"
871+ id="authentication-page">
872+
873+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
874+ <wadl:link/>
875+ </wadl:param>
876+
877+ <wadl:param style="plain" name="total_size" path="$['total_size']" required="true"/>
878+
879+ <wadl:param style="plain" name="start" path="$['start']" required="true"/>
880+
881+ <wadl:param style="plain" name="next_collection_link" path="$['next_collection_link']">
882+ <wadl:link resource_type="#authentication-page-resource"/>
883+ </wadl:param>
884+
885+ <wadl:param style="plain" name="prev_collection_link" path="$['prev_collection_link']">
886+ <wadl:link resource_type="#authentication-page-resource"/>
887+ </wadl:param>
888+
889+ <wadl:param style="plain" name="entries" path="$['entries']" required="true"/>
890+
891+ <wadl:param style="plain" name="entry_links" path="$['entries'][*]['self_link']">
892+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#authentication"/>
893+ </wadl:param>
894+ </wadl:representation>
895+
896+
897+
898+ <wadl:resource_type id="captcha">
899+
900+ <wadl:method name="GET" id="captcha-get">
901+ <wadl:response>
902+ <wadl:representation
903+ href="https://login.ubuntu.com/api/1.0/#captcha-full"/>
904+ <wadl:representation
905+ mediaType="application/xhtml+xml" id="captcha-xhtml"/>
906+ <wadl:representation
907+ mediaType="application/vnd.sun.wadl+xml"
908+ id="captcha-wadl"/>
909+ </wadl:response>
910+ </wadl:method>
911+
912+ <wadl:method name="PUT" id="captcha-put">
913+ <wadl:request>
914+ <wadl:representation
915+ href="https://login.ubuntu.com/api/1.0/#captcha-full"/>
916+ </wadl:request>
917+ </wadl:method>
918+
919+ <wadl:method name="PATCH" id="captcha-patch">
920+ <wadl:request>
921+ <wadl:representation
922+ href="https://login.ubuntu.com/api/1.0/#captcha-diff"/>
923+ </wadl:request>
924+ </wadl:method>
925+
926+
927+
928+ </wadl:resource_type>
929+
930+
931+ <wadl:representation mediaType="application/json"
932+ id="captcha-full">
933+ <wadl:param style="plain" name="self_link" path="$['self_link']">
934+ <wadl:doc>The canonical link to this resource.</wadl:doc>
935+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#captcha"/>
936+ </wadl:param>
937+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
938+ <wadl:doc>
939+ The link to the WADL description of this resource.
940+ </wadl:doc>
941+ <wadl:link/>
942+ </wadl:param>
943+ <wadl:param style="plain" name="http_etag" path="$['http_etag']">
944+ <wadl:doc>
945+ The value of the HTTP ETag for this resource.
946+ </wadl:doc>
947+ </wadl:param>
948+ <wadl:param style="plain" required="true"
949+ path="$['content']" name="content">
950+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
951+Captcha content
952+</wadl:doc>
953+
954+ </wadl:param>
955+ <wadl:param style="plain" required="true"
956+ path="$['id']" name="id">
957+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
958+Captcha ID
959+</wadl:doc>
960+
961+ </wadl:param>
962+ </wadl:representation>
963+
964+ <wadl:representation mediaType="application/json"
965+ id="captcha-diff">
966+ <wadl:param style="plain" required="false"
967+ path="$['content']" name="content">
968+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
969+Captcha content
970+</wadl:doc>
971+
972+ </wadl:param>
973+ <wadl:param style="plain" required="false"
974+ path="$['id']" name="id">
975+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
976+Captcha ID
977+</wadl:doc>
978+
979+ </wadl:param>
980+ </wadl:representation>
981+
982+ <!--Collection page for this type of entry-->
983+ <wadl:resource_type id="captcha-page-resource">
984+ <wadl:method name="GET" id="captcha-page-resource-get">
985+ <wadl:response>
986+ <wadl:representation href="#captcha-page"/>
987+ </wadl:response>
988+ </wadl:method>
989+ </wadl:resource_type>
990+
991+ <wadl:representation mediaType="application/json"
992+ id="captcha-page">
993+
994+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
995+ <wadl:link/>
996+ </wadl:param>
997+
998+ <wadl:param style="plain" name="total_size" path="$['total_size']" required="true"/>
999+
1000+ <wadl:param style="plain" name="start" path="$['start']" required="true"/>
1001+
1002+ <wadl:param style="plain" name="next_collection_link" path="$['next_collection_link']">
1003+ <wadl:link resource_type="#captcha-page-resource"/>
1004+ </wadl:param>
1005+
1006+ <wadl:param style="plain" name="prev_collection_link" path="$['prev_collection_link']">
1007+ <wadl:link resource_type="#captcha-page-resource"/>
1008+ </wadl:param>
1009+
1010+ <wadl:param style="plain" name="entries" path="$['entries']" required="true"/>
1011+
1012+ <wadl:param style="plain" name="entry_links" path="$['entries'][*]['self_link']">
1013+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#captcha"/>
1014+ </wadl:param>
1015+ </wadl:representation>
1016+
1017+
1018+
1019+ <wadl:resource_type id="registration">
1020+
1021+ <wadl:method name="GET" id="registration-get">
1022+ <wadl:response>
1023+ <wadl:representation
1024+ href="https://login.ubuntu.com/api/1.0/#registration-full"/>
1025+ <wadl:representation
1026+ mediaType="application/xhtml+xml"
1027+ id="registration-xhtml"/>
1028+ <wadl:representation
1029+ mediaType="application/vnd.sun.wadl+xml"
1030+ id="registration-wadl"/>
1031+ </wadl:response>
1032+ </wadl:method>
1033+
1034+ <wadl:method name="PUT" id="registration-put">
1035+ <wadl:request>
1036+ <wadl:representation
1037+ href="https://login.ubuntu.com/api/1.0/#registration-full"/>
1038+ </wadl:request>
1039+ </wadl:method>
1040+
1041+ <wadl:method name="PATCH" id="registration-patch">
1042+ <wadl:request>
1043+ <wadl:representation
1044+ href="https://login.ubuntu.com/api/1.0/#registration-diff"/>
1045+ </wadl:request>
1046+ </wadl:method>
1047+
1048+
1049+
1050+ </wadl:resource_type>
1051+
1052+
1053+ <wadl:representation mediaType="application/json"
1054+ id="registration-full">
1055+ <wadl:param style="plain" name="self_link" path="$['self_link']">
1056+ <wadl:doc>The canonical link to this resource.</wadl:doc>
1057+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#registration"/>
1058+ </wadl:param>
1059+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
1060+ <wadl:doc>
1061+ The link to the WADL description of this resource.
1062+ </wadl:doc>
1063+ <wadl:link/>
1064+ </wadl:param>
1065+ <wadl:param style="plain" name="http_etag" path="$['http_etag']">
1066+ <wadl:doc>
1067+ The value of the HTTP ETag for this resource.
1068+ </wadl:doc>
1069+ </wadl:param>
1070+ <wadl:param style="plain" required="true"
1071+ path="$['preferred_email']"
1072+ name="preferred_email">
1073+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1074+Primary email address
1075+</wadl:doc>
1076+
1077+ </wadl:param>
1078+ <wadl:param style="plain" required="true"
1079+ path="$['unverified_emails']"
1080+ name="unverified_emails">
1081+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1082+List of unverified emails
1083+</wadl:doc>
1084+
1085+ </wadl:param>
1086+ <wadl:param style="plain" required="true"
1087+ path="$['id']" name="id">
1088+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1089+Account ID
1090+</wadl:doc>
1091+
1092+ </wadl:param>
1093+ <wadl:param style="plain" required="true"
1094+ path="$['verified_emails']"
1095+ name="verified_emails">
1096+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1097+List of verified emails
1098+</wadl:doc>
1099+
1100+ </wadl:param>
1101+ </wadl:representation>
1102+
1103+ <wadl:representation mediaType="application/json"
1104+ id="registration-diff">
1105+ <wadl:param style="plain" required="false"
1106+ path="$['preferred_email']"
1107+ name="preferred_email">
1108+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1109+Primary email address
1110+</wadl:doc>
1111+
1112+ </wadl:param>
1113+ <wadl:param style="plain" required="false"
1114+ path="$['unverified_emails']"
1115+ name="unverified_emails">
1116+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1117+List of unverified emails
1118+</wadl:doc>
1119+
1120+ </wadl:param>
1121+ <wadl:param style="plain" required="false"
1122+ path="$['id']" name="id">
1123+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1124+Account ID
1125+</wadl:doc>
1126+
1127+ </wadl:param>
1128+ <wadl:param style="plain" required="false"
1129+ path="$['verified_emails']"
1130+ name="verified_emails">
1131+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1132+List of verified emails
1133+</wadl:doc>
1134+
1135+ </wadl:param>
1136+ </wadl:representation>
1137+
1138+ <!--Collection page for this type of entry-->
1139+ <wadl:resource_type id="registration-page-resource">
1140+ <wadl:method name="GET"
1141+ id="registration-page-resource-get">
1142+ <wadl:response>
1143+ <wadl:representation href="#registration-page"/>
1144+ </wadl:response>
1145+ </wadl:method>
1146+ </wadl:resource_type>
1147+
1148+ <wadl:representation mediaType="application/json"
1149+ id="registration-page">
1150+
1151+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
1152+ <wadl:link/>
1153+ </wadl:param>
1154+
1155+ <wadl:param style="plain" name="total_size" path="$['total_size']" required="true"/>
1156+
1157+ <wadl:param style="plain" name="start" path="$['start']" required="true"/>
1158+
1159+ <wadl:param style="plain" name="next_collection_link" path="$['next_collection_link']">
1160+ <wadl:link resource_type="#registration-page-resource"/>
1161+ </wadl:param>
1162+
1163+ <wadl:param style="plain" name="prev_collection_link" path="$['prev_collection_link']">
1164+ <wadl:link resource_type="#registration-page-resource"/>
1165+ </wadl:param>
1166+
1167+ <wadl:param style="plain" name="entries" path="$['entries']" required="true"/>
1168+
1169+ <wadl:param style="plain" name="entry_links" path="$['entries'][*]['self_link']">
1170+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#registration"/>
1171+ </wadl:param>
1172+ </wadl:representation>
1173+
1174+
1175+
1176+ <wadl:resource_type id="validation">
1177+
1178+ <wadl:method name="GET" id="validation-get">
1179+ <wadl:response>
1180+ <wadl:representation
1181+ href="https://login.ubuntu.com/api/1.0/#validation-full"/>
1182+ <wadl:representation
1183+ mediaType="application/xhtml+xml" id="validation-xhtml"/>
1184+ <wadl:representation
1185+ mediaType="application/vnd.sun.wadl+xml"
1186+ id="validation-wadl"/>
1187+ </wadl:response>
1188+ </wadl:method>
1189+
1190+ <wadl:method name="PUT" id="validation-put">
1191+ <wadl:request>
1192+ <wadl:representation
1193+ href="https://login.ubuntu.com/api/1.0/#validation-full"/>
1194+ </wadl:request>
1195+ </wadl:method>
1196+
1197+ <wadl:method name="PATCH" id="validation-patch">
1198+ <wadl:request>
1199+ <wadl:representation
1200+ href="https://login.ubuntu.com/api/1.0/#validation-diff"/>
1201+ </wadl:request>
1202+ </wadl:method>
1203+
1204+
1205+
1206+ </wadl:resource_type>
1207+
1208+
1209+ <wadl:representation mediaType="application/json"
1210+ id="validation-full">
1211+ <wadl:param style="plain" name="self_link" path="$['self_link']">
1212+ <wadl:doc>The canonical link to this resource.</wadl:doc>
1213+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#validation"/>
1214+ </wadl:param>
1215+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
1216+ <wadl:doc>
1217+ The link to the WADL description of this resource.
1218+ </wadl:doc>
1219+ <wadl:link/>
1220+ </wadl:param>
1221+ <wadl:param style="plain" name="http_etag" path="$['http_etag']">
1222+ <wadl:doc>
1223+ The value of the HTTP ETag for this resource.
1224+ </wadl:doc>
1225+ </wadl:param>
1226+ <wadl:param style="plain" required="true"
1227+ path="$['preferred_email']"
1228+ name="preferred_email">
1229+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1230+Primary email address
1231+</wadl:doc>
1232+
1233+ </wadl:param>
1234+ <wadl:param style="plain" required="true"
1235+ path="$['unverified_emails']"
1236+ name="unverified_emails">
1237+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1238+List of unverified emails
1239+</wadl:doc>
1240+
1241+ </wadl:param>
1242+ <wadl:param style="plain" required="true"
1243+ path="$['id']" name="id">
1244+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1245+Account ID
1246+</wadl:doc>
1247+
1248+ </wadl:param>
1249+ <wadl:param style="plain" required="true"
1250+ path="$['verified_emails']"
1251+ name="verified_emails">
1252+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1253+List of verified emails
1254+</wadl:doc>
1255+
1256+ </wadl:param>
1257+ </wadl:representation>
1258+
1259+ <wadl:representation mediaType="application/json"
1260+ id="validation-diff">
1261+ <wadl:param style="plain" required="false"
1262+ path="$['preferred_email']"
1263+ name="preferred_email">
1264+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1265+Primary email address
1266+</wadl:doc>
1267+
1268+ </wadl:param>
1269+ <wadl:param style="plain" required="false"
1270+ path="$['unverified_emails']"
1271+ name="unverified_emails">
1272+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1273+List of unverified emails
1274+</wadl:doc>
1275+
1276+ </wadl:param>
1277+ <wadl:param style="plain" required="false"
1278+ path="$['id']" name="id">
1279+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1280+Account ID
1281+</wadl:doc>
1282+
1283+ </wadl:param>
1284+ <wadl:param style="plain" required="false"
1285+ path="$['verified_emails']"
1286+ name="verified_emails">
1287+ <wadl:doc xmlns="http://www.w3.org/1999/xhtml">
1288+List of verified emails
1289+</wadl:doc>
1290+
1291+ </wadl:param>
1292+ </wadl:representation>
1293+
1294+ <!--Collection page for this type of entry-->
1295+ <wadl:resource_type id="validation-page-resource">
1296+ <wadl:method name="GET"
1297+ id="validation-page-resource-get">
1298+ <wadl:response>
1299+ <wadl:representation href="#validation-page"/>
1300+ </wadl:response>
1301+ </wadl:method>
1302+ </wadl:resource_type>
1303+
1304+ <wadl:representation mediaType="application/json"
1305+ id="validation-page">
1306+
1307+ <wadl:param style="plain" name="resource_type_link" path="$['resource_type_link']">
1308+ <wadl:link/>
1309+ </wadl:param>
1310+
1311+ <wadl:param style="plain" name="total_size" path="$['total_size']" required="true"/>
1312+
1313+ <wadl:param style="plain" name="start" path="$['start']" required="true"/>
1314+
1315+ <wadl:param style="plain" name="next_collection_link" path="$['next_collection_link']">
1316+ <wadl:link resource_type="#validation-page-resource"/>
1317+ </wadl:param>
1318+
1319+ <wadl:param style="plain" name="prev_collection_link" path="$['prev_collection_link']">
1320+ <wadl:link resource_type="#validation-page-resource"/>
1321+ </wadl:param>
1322+
1323+ <wadl:param style="plain" name="entries" path="$['entries']" required="true"/>
1324+
1325+ <wadl:param style="plain" name="entry_links" path="$['entries'][*]['self_link']">
1326+ <wadl:link resource_type="https://login.ubuntu.com/api/1.0/#validation"/>
1327+ </wadl:param>
1328+ </wadl:representation>
1329+
1330+
1331+ <!--End representation and resource_type definitions for entry
1332+ resources. -->
1333+
1334+ <!--Finally, describe the 'hosted binary file' type.-->
1335+ <wadl:resource_type id="HostedFile">
1336+ <wadl:method name="GET" id="HostedFile-get">
1337+ <wadl:response>
1338+ <wadl:representation status="303">
1339+ <wadl:param style="header" name="Location"/>
1340+ </wadl:representation>
1341+ </wadl:response>
1342+ </wadl:method>
1343+ <wadl:method name="PUT" id="HostedFile-put"/>
1344+ <wadl:method name="DELETE" id="HostedFile-delete"/>
1345+ </wadl:resource_type>
1346+
1347+ <!--Define a data type for binary data.-->
1348+ <xsd:simpleType name="binary">
1349+ <xsd:list itemType="byte"/>
1350+ </xsd:simpleType>
1351+
1352+</wadl:application>
1353
1354=== added directory 'lib/Wadlsharp'
1355=== added file 'lib/Wadlsharp/LpNet.WadlSharp.Common.dll'
1356Binary files lib/Wadlsharp/LpNet.WadlSharp.Common.dll 1970-01-01 00:00:00 +0000 and lib/Wadlsharp/LpNet.WadlSharp.Common.dll 2010-09-20 11:26:08 +0000 differ
1357=== added file 'lib/Wadlsharp/NDesk.Options.dll'
1358Binary files lib/Wadlsharp/NDesk.Options.dll 1970-01-01 00:00:00 +0000 and lib/Wadlsharp/NDesk.Options.dll 2010-09-20 11:26:08 +0000 differ
1359=== added file 'lib/Wadlsharp/license.txt'
1360--- lib/Wadlsharp/license.txt 1970-01-01 00:00:00 +0000
1361+++ lib/Wadlsharp/license.txt 2010-09-20 11:26:08 +0000
1362@@ -0,0 +1,25 @@
1363+
1364+ The MIT License (MIT)
1365+
1366+ Copyright (c) 2010 Manish Sinha <mail@manishsinha.net>
1367+
1368+ Permission is hereby granted, free of charge, to any person
1369+ obtaining a copy of this software and associated documentation
1370+ files (the "Software"), to deal in the Software without
1371+ restriction, including without limitation the rights to use,
1372+ copy, modify, merge, publish, distribute, sublicense, and/or sell
1373+ copies of the Software, and to permit persons to whom the
1374+ Software is furnished to do so, subject to the following
1375+ conditions:
1376+
1377+ The above copyright notice and this permission notice shall be
1378+ included in all copies or substantial portions of the Software.
1379+
1380+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1381+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
1382+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
1383+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
1384+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
1385+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
1386+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
1387+ OTHER DEALINGS IN THE SOFTWARE.
1388\ No newline at end of file
1389
1390=== added file 'lib/Wadlsharp/wadl-sharp.exe'
1391Binary files lib/Wadlsharp/wadl-sharp.exe 1970-01-01 00:00:00 +0000 and lib/Wadlsharp/wadl-sharp.exe 2010-09-20 11:26:08 +0000 differ
1392=== modified file 'main.build'
1393--- main.build 2010-09-13 12:20:56 +0000
1394+++ main.build 2010-09-20 11:26:08 +0000
1395@@ -125,9 +125,21 @@
1396 <delete dir="lib/Protobuf-net/protocol" if="${directory::exists('lib/Protobuf-net/protocol')}" />
1397
1398 </target>
1399+
1400+ <target name="generate_wadl_login_code"
1401+ description="Generates the code that is required to use the ubuntu login service.">
1402+
1403+ <exec basedir="lib/Wadlsharp"
1404+ managed="true"
1405+ workingdir="lib/Wadlsharp"
1406+ program="wadl-sharp.exe"
1407+ commandline="-i ../../data/login.wadl -o ../../src/Canonical.Ubuntu.SSO/Login.cs -n Canonical.Ubuntu.SSO --fixCase"/>
1408+
1409+ </target>
1410+
1411 <target name="build"
1412 description="Compiles all the different projects that form part of the solution."
1413- depends="clean, generate_syncdaemon_proto, generate-versionnumber">
1414+ depends="clean, generate_syncdaemon_proto, generate_wadl_login_code, generate-versionnumber">
1415 <!-- use the msbuild action to compile the solution -->
1416 <msbuild project="src/UbuntuOne.sln">
1417 <property name="Configuration" value="${enviroment}" />
1418
1419=== modified file 'src/Canonical.Ubuntu.SSO/Canonical.Ubuntu.SSO.csproj'
1420--- src/Canonical.Ubuntu.SSO/Canonical.Ubuntu.SSO.csproj 2010-09-13 12:20:56 +0000
1421+++ src/Canonical.Ubuntu.SSO/Canonical.Ubuntu.SSO.csproj 2010-09-20 11:26:08 +0000
1422@@ -61,13 +61,16 @@
1423 <Compile Include="ILoginOrRegisterView.cs" />
1424 <Compile Include="ILoginView.cs" />
1425 <Compile Include="IRegistryKey.cs" />
1426+ <Compile Include="ISSOLoginProcessor.cs" />
1427 <Compile Include="Keyring.cs" />
1428+ <Compile Include="Login.cs" />
1429 <Compile Include="LoginCredentialsEventArgs.cs" />
1430 <Compile Include="RegistryKeyWrapper.cs" />
1431 <Compile Include="SSOCredentialsProvider.cs" />
1432 <Compile Include="IKeyring.cs" />
1433 <Compile Include="ISSOCredentialsProvider.cs" />
1434 <Compile Include="Properties\AssemblyInfo.cs" />
1435+ <Compile Include="SSOLoginProcessor.cs" />
1436 </ItemGroup>
1437 <ItemGroup>
1438 <ProjectReference Include="..\Canonical.UbuntuOne.Common\Canonical.UbuntuOne.Common.csproj">
1439
1440=== added file 'src/Canonical.Ubuntu.SSO/ISSOLoginProcessor.cs'
1441--- src/Canonical.Ubuntu.SSO/ISSOLoginProcessor.cs 1970-01-01 00:00:00 +0000
1442+++ src/Canonical.Ubuntu.SSO/ISSOLoginProcessor.cs 2010-09-20 11:26:08 +0000
1443@@ -0,0 +1,82 @@
1444+/*
1445+ * Copyright 2010 Canonical Ltd.
1446+ *
1447+ * This file is part of Ubuntu One on Windows.
1448+ *
1449+ * Ubuntu One on Windows is free software: you can redistribute it and/or modify
1450+ * it under the terms of the GNU Lesser General Public License version
1451+ * as published by the Free Software Foundation.
1452+ *
1453+ * Ubuntu One on Windows is distributed in the hope that it will be useful,
1454+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1455+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1456+ * GNU Lesser General Public License for more details.
1457+ *
1458+ * You should have received a copy of the GNU Lesser General Public License
1459+ * along with Ubuntu One for Windows. If not, see <http://www.gnu.org/licenses/>.
1460+ *
1461+ * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
1462+ */
1463+namespace Canonical.Ubuntu.SSO
1464+{
1465+ /// <summary>
1466+ /// Interface to be implemented by those objects that will provide
1467+ /// the login an register basic capabilities.
1468+ /// </summary>
1469+ public interface ISSOLoginProcessor
1470+ {
1471+ /// <summary>
1472+ /// Generates a new captha and stores it in the passed file path.
1473+ /// </summary>
1474+ /// <param name="filePath">The path in which the captcha should be stored.</param>
1475+ /// <returns></returns>
1476+ string GenerateCaptcha(string filePath);
1477+
1478+ /// <summary>
1479+ /// Registers a new user to the system.
1480+ /// </summary>
1481+ /// <param name="email">The email of the new user to register.</param>
1482+ /// <param name="password">The password that the new user will use to login.</param>
1483+ /// <param name="captchaId">The id of the captcha that the user used to register.</param>
1484+ /// <param name="captchaSolution">The solution given by the user for the given captcha</param>
1485+ /// <returns>The email of the new user if there were no login issues.</returns>
1486+ string RegisterUser(string email, string password, string captchaId, string captchaSolution);
1487+
1488+ /// <summary>
1489+ /// Allows a user to login using the ubuntu sso.
1490+ /// </summary>
1491+ /// <param name="email">The email of the user.</param>
1492+ /// <param name="password">The password to be used for login.</param>
1493+ /// <param name="tokenName">The token name used for login.</param>
1494+ /// <returns>A string with the sso credentials.</returns>
1495+ string Login(string email, string password, string tokenName);
1496+
1497+ /// <summary>
1498+ /// Validate an email token for a user.
1499+ /// </summary>
1500+ /// <param name="email">The email address of the user.</param>
1501+ /// <param name="password">The apssword of the user.</param>
1502+ /// <param name="emailToken">Teh email token to validate.</param>
1503+ /// <param name="tokenName">The name of the token to validate.</param>
1504+ /// <returns>The token returned by the server.</returns>
1505+ string ValidateEmail(string email, string password, string emailToken, string tokenName);
1506+
1507+ /// <summary>
1508+ /// Allwos to request a password reset.
1509+ /// </summary>
1510+ /// <param name="email">The email of the user requesting the password reset.</param>
1511+ void RequestPasswordResetToken(string email);
1512+
1513+ /// <summary>
1514+ /// Set a new password for the account.
1515+ /// <remarks>
1516+ /// The 'token' has to be the one resulting from a call to 'RequestPasswordResetToken'.
1517+ /// </remarks>
1518+ /// </summary>
1519+ /// <param name="email">The email of the user.</param>
1520+ /// <param name="token">The token received from requesting the password reset.</param>
1521+ /// <param name="newPassword">The new password to be used by the account.</param>
1522+ /// <returns>The email of the account if everyhing went ok.</returns>
1523+ string SetNewPassword(string email, string token, string newPassword);
1524+ }
1525+}
1526
1527=== added file 'src/Canonical.Ubuntu.SSO/Login.cs'
1528--- src/Canonical.Ubuntu.SSO/Login.cs 1970-01-01 00:00:00 +0000
1529+++ src/Canonical.Ubuntu.SSO/Login.cs 2010-09-20 11:26:08 +0000
1530@@ -0,0 +1,2267 @@
1531+namespace Canonical.Ubuntu.SSO
1532+{
1533+ using System.Collections.Generic;
1534+ using System.Reflection;
1535+ using System.ComponentModel;
1536+ using System;
1537+
1538+
1539+ /// <summary>
1540+ /// The root of the web service.
1541+ /// </summary>
1542+ public partial class ServiceRoot
1543+ {
1544+
1545+ private string _uri;
1546+
1547+ private Dictionary<string,string> _httpHeaders;
1548+
1549+ private ICustomize _customizeInterface;
1550+
1551+ public ServiceRoot(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
1552+ {
1553+ this._uri = uri;
1554+ this._httpHeaders = httpHeaders;
1555+ this._customizeInterface = customizeInterface;
1556+ }
1557+
1558+ public ServiceRootJson ServiceRootGet()
1559+ {
1560+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1561+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1562+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1563+ ServiceRootJson parsedData = _customizeInterface.Parse<ServiceRootJson>(fetchedData);
1564+ return parsedData;
1565+ }
1566+ }
1567+
1568+ public partial class ServiceRootJson
1569+ {
1570+
1571+ private string _registrationsCollectionLink;
1572+
1573+ private string _authenticationsCollectionLink;
1574+
1575+ private string _captchasCollectionLink;
1576+
1577+ private string _accountsCollectionLink;
1578+
1579+ private string _validationsCollectionLink;
1580+
1581+ private string _resourceTypeLink;
1582+
1583+ [Description("registrations")]
1584+ public string RegistrationsCollectionLink
1585+ {
1586+ get
1587+ {
1588+ return this._registrationsCollectionLink;
1589+ }
1590+ set
1591+ {
1592+ this._registrationsCollectionLink = value;
1593+ }
1594+ }
1595+
1596+ [Description("authentications")]
1597+ public string AuthenticationsCollectionLink
1598+ {
1599+ get
1600+ {
1601+ return this._authenticationsCollectionLink;
1602+ }
1603+ set
1604+ {
1605+ this._authenticationsCollectionLink = value;
1606+ }
1607+ }
1608+
1609+ [Description("captchas")]
1610+ public string CaptchasCollectionLink
1611+ {
1612+ get
1613+ {
1614+ return this._captchasCollectionLink;
1615+ }
1616+ set
1617+ {
1618+ this._captchasCollectionLink = value;
1619+ }
1620+ }
1621+
1622+ [Description("accounts")]
1623+ public string AccountsCollectionLink
1624+ {
1625+ get
1626+ {
1627+ return this._accountsCollectionLink;
1628+ }
1629+ set
1630+ {
1631+ this._accountsCollectionLink = value;
1632+ }
1633+ }
1634+
1635+ [Description("accounts")]
1636+ public string ValidationsCollectionLink
1637+ {
1638+ get
1639+ {
1640+ return this._validationsCollectionLink;
1641+ }
1642+ set
1643+ {
1644+ this._validationsCollectionLink = value;
1645+ }
1646+ }
1647+
1648+ /// <summary>
1649+ /// The link to the WADL description of this resource.
1650+ /// </summary>
1651+ public string ResourceTypeLink
1652+ {
1653+ get
1654+ {
1655+ return this._resourceTypeLink;
1656+ }
1657+ set
1658+ {
1659+ this._resourceTypeLink = value;
1660+ }
1661+ }
1662+ }
1663+
1664+ public partial class Accounts
1665+ {
1666+
1667+ private string _uri;
1668+
1669+ private Dictionary<string,string> _httpHeaders;
1670+
1671+ private ICustomize _customizeInterface;
1672+
1673+ public Accounts(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
1674+ {
1675+ this._uri = uri;
1676+ this._httpHeaders = httpHeaders;
1677+ this._customizeInterface = customizeInterface;
1678+ }
1679+
1680+ public AccountPage AccountsGet()
1681+ {
1682+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1683+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1684+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1685+ AccountPage parsedData = _customizeInterface.Parse<AccountPage>(fetchedData);
1686+ return parsedData;
1687+ }
1688+
1689+ public void AccountsMe()
1690+ {
1691+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1692+ keyValue.Add("ws.op", "me");
1693+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1694+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1695+ }
1696+
1697+ /// <param name="team_names">List of team names to check</param>
1698+ public void AccountsTeamMemberships(string team_names)
1699+ {
1700+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1701+ keyValue.Add("ws.op", "team_memberships");
1702+ keyValue.Add("team_names", team_names);
1703+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1704+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1705+ }
1706+
1707+ /// <param name="email_token">Email validation token.</param>
1708+ public void AccountsValidateEmail(string email_token)
1709+ {
1710+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1711+ keyValue.Add("ws.op", "validate_email");
1712+ keyValue.Add("email_token", email_token);
1713+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1714+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1715+ }
1716+ }
1717+
1718+ public partial class Authentications
1719+ {
1720+
1721+ private string _uri;
1722+
1723+ private Dictionary<string,string> _httpHeaders;
1724+
1725+ private ICustomize _customizeInterface;
1726+
1727+ public Authentications(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
1728+ {
1729+ this._uri = uri;
1730+ this._httpHeaders = httpHeaders;
1731+ this._customizeInterface = customizeInterface;
1732+ }
1733+
1734+ public AuthenticationPage AuthenticationsGet()
1735+ {
1736+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1737+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1738+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1739+ AuthenticationPage parsedData = _customizeInterface.Parse<AuthenticationPage>(fetchedData);
1740+ return parsedData;
1741+ }
1742+
1743+ public void AuthenticationsMe()
1744+ {
1745+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1746+ keyValue.Add("ws.op", "me");
1747+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1748+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1749+ }
1750+
1751+ /// <param name="token_name">Token name.</param>
1752+ public void AuthenticationsAuthenticate(string token_name)
1753+ {
1754+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1755+ keyValue.Add("ws.op", "authenticate");
1756+ keyValue.Add("token_name", token_name);
1757+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1758+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1759+ }
1760+
1761+ /// <param name="team_names">List of team names to check</param>
1762+ /// <param name="openid_identifier">OpenID Identifier used for asking forteam memberships on behalf of other user.</param>
1763+ public void AuthenticationsTeamMemberships(string team_names, string openid_identifier)
1764+ {
1765+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1766+ keyValue.Add("ws.op", "team_memberships");
1767+ keyValue.Add("team_names", team_names);
1768+ keyValue.Add("openid_identifier", openid_identifier);
1769+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1770+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1771+ }
1772+
1773+ /// <param name="email">Email address of the account</param>
1774+ public void AuthenticationsAccountByEmail(string email)
1775+ {
1776+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1777+ keyValue.Add("ws.op", "account_by_email");
1778+ keyValue.Add("email", email);
1779+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1780+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1781+ }
1782+
1783+ /// <param name="email_token">Email validation token.</param>
1784+ public void AuthenticationsValidateEmail(string email_token)
1785+ {
1786+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1787+ keyValue.Add("ws.op", "validate_email");
1788+ keyValue.Add("email_token", email_token);
1789+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1790+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1791+ }
1792+
1793+ /// <param name="token">The token you want to validate</param>
1794+ /// <param name="consumer_key">The consumer key (openid identifier)</param>
1795+ public void AuthenticationsValidateToken(string token, string consumer_key)
1796+ {
1797+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1798+ keyValue.Add("ws.op", "validate_token");
1799+ keyValue.Add("token", token);
1800+ keyValue.Add("consumer_key", consumer_key);
1801+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1802+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1803+ }
1804+
1805+ /// <param name="consumer_key">User's OpenID identifier</param>
1806+ public void AuthenticationsListTokens(string consumer_key)
1807+ {
1808+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1809+ keyValue.Add("ws.op", "list_tokens");
1810+ keyValue.Add("consumer_key", consumer_key);
1811+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1812+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1813+ }
1814+
1815+ /// <param name="token">The token you want to invalidate</param>
1816+ /// <param name="consumer_key">The consumer key (openid identifier)</param>
1817+ public void AuthenticationsInvalidateToken(string token, string consumer_key)
1818+ {
1819+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1820+ keyValue.Add("ws.op", "invalidate_token");
1821+ keyValue.Add("token", token);
1822+ keyValue.Add("consumer_key", consumer_key);
1823+ string serializedData = _customizeInterface.Serialize(HttpMethodType.POST, keyValue);
1824+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.POST, this._uri, this._httpHeaders, serializedData);
1825+ }
1826+ }
1827+
1828+ public partial class Captchas
1829+ {
1830+
1831+ private string _uri;
1832+
1833+ private Dictionary<string,string> _httpHeaders;
1834+
1835+ private ICustomize _customizeInterface;
1836+
1837+ public Captchas(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
1838+ {
1839+ this._uri = uri;
1840+ this._httpHeaders = httpHeaders;
1841+ this._customizeInterface = customizeInterface;
1842+ }
1843+
1844+ public CaptchaPage CaptchasGet()
1845+ {
1846+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1847+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1848+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1849+ CaptchaPage parsedData = _customizeInterface.Parse<CaptchaPage>(fetchedData);
1850+ return parsedData;
1851+ }
1852+
1853+ public void CaptchasNew()
1854+ {
1855+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1856+ keyValue.Add("ws.op", "new");
1857+ string serializedData = _customizeInterface.Serialize(HttpMethodType.POST, keyValue);
1858+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.POST, this._uri, this._httpHeaders, serializedData);
1859+ }
1860+ }
1861+
1862+ public partial class Registrations
1863+ {
1864+
1865+ private string _uri;
1866+
1867+ private Dictionary<string,string> _httpHeaders;
1868+
1869+ private ICustomize _customizeInterface;
1870+
1871+ public Registrations(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
1872+ {
1873+ this._uri = uri;
1874+ this._httpHeaders = httpHeaders;
1875+ this._customizeInterface = customizeInterface;
1876+ }
1877+
1878+ public RegistrationPage RegistrationsGet()
1879+ {
1880+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1881+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1882+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1883+ RegistrationPage parsedData = _customizeInterface.Parse<RegistrationPage>(fetchedData);
1884+ return parsedData;
1885+ }
1886+
1887+ public void RegistrationsMe()
1888+ {
1889+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1890+ keyValue.Add("ws.op", "me");
1891+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1892+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1893+ }
1894+
1895+ /// <param name="team_names">List of team names to check</param>
1896+ public void RegistrationsTeamMemberships(string team_names)
1897+ {
1898+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1899+ keyValue.Add("ws.op", "team_memberships");
1900+ keyValue.Add("team_names", team_names);
1901+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1902+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1903+ }
1904+
1905+ /// <param name="email_token">Email validation token.</param>
1906+ public void RegistrationsValidateEmail(string email_token)
1907+ {
1908+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1909+ keyValue.Add("ws.op", "validate_email");
1910+ keyValue.Add("email_token", email_token);
1911+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1912+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1913+ }
1914+
1915+ /// <param name="email">Email address.</param>
1916+ public void RegistrationsRequestPasswordResetToken(string email)
1917+ {
1918+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1919+ keyValue.Add("ws.op", "request_password_reset_token");
1920+ keyValue.Add("email", email);
1921+ string serializedData = _customizeInterface.Serialize(HttpMethodType.POST, keyValue);
1922+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.POST, this._uri, this._httpHeaders, serializedData);
1923+ }
1924+
1925+ /// <param name="new_password">New password</param>
1926+ /// <param name="token">Password reset token.</param>
1927+ /// <param name="email">Email address.</param>
1928+ public void RegistrationsSetNewPassword(string new_password, string token, string email)
1929+ {
1930+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1931+ keyValue.Add("ws.op", "set_new_password");
1932+ keyValue.Add("new_password", new_password);
1933+ keyValue.Add("token", token);
1934+ keyValue.Add("email", email);
1935+ string serializedData = _customizeInterface.Serialize(HttpMethodType.POST, keyValue);
1936+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.POST, this._uri, this._httpHeaders, serializedData);
1937+ }
1938+
1939+ /// <param name="captcha_solution">Solution for the generated captcha.</param>
1940+ /// <param name="password">Password should be at least 8 characters long and contain at least one uppercase letter and a number.</param>
1941+ /// <param name="captcha_id">ID for the generated captcha</param>
1942+ /// <param name="email">Email address.</param>
1943+ public void RegistrationsRegister(string captcha_solution, string password, string captcha_id, string email)
1944+ {
1945+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1946+ keyValue.Add("ws.op", "register");
1947+ keyValue.Add("captcha_solution", captcha_solution);
1948+ keyValue.Add("password", password);
1949+ keyValue.Add("captcha_id", captcha_id);
1950+ keyValue.Add("email", email);
1951+ string serializedData = _customizeInterface.Serialize(HttpMethodType.POST, keyValue);
1952+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.POST, this._uri, this._httpHeaders, serializedData);
1953+ }
1954+ }
1955+
1956+ public partial class Account
1957+ {
1958+
1959+ private string _uri;
1960+
1961+ private Dictionary<string,string> _httpHeaders;
1962+
1963+ private ICustomize _customizeInterface;
1964+
1965+ public Account(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
1966+ {
1967+ this._uri = uri;
1968+ this._httpHeaders = httpHeaders;
1969+ this._customizeInterface = customizeInterface;
1970+ }
1971+
1972+ public AccountFull AccountGet()
1973+ {
1974+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1975+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
1976+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
1977+ AccountFull parsedData = _customizeInterface.Parse<AccountFull>(fetchedData);
1978+ return parsedData;
1979+ }
1980+
1981+ public void AccountPut(AccountFull AccountFull_field)
1982+ {
1983+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1984+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PUT, keyValue);
1985+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PUT, this._uri, this._httpHeaders, serializedData);
1986+ }
1987+
1988+ public void AccountPatch(AccountDiff AccountDiff_field)
1989+ {
1990+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
1991+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PATCH, keyValue);
1992+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PATCH, this._uri, this._httpHeaders, serializedData);
1993+ }
1994+ }
1995+
1996+ public partial class AccountFull
1997+ {
1998+
1999+ private string _selfLink;
2000+
2001+ private string _resourceTypeLink;
2002+
2003+ private string _httpEtag;
2004+
2005+ private string _preferredEmail;
2006+
2007+ private string _unverifiedEmails;
2008+
2009+ private string _id;
2010+
2011+ private string _verifiedEmails;
2012+
2013+ /// <summary>
2014+ /// The canonical link to this resource.
2015+ /// </summary>
2016+ [Description("account")]
2017+ public string SelfLink
2018+ {
2019+ get
2020+ {
2021+ return this._selfLink;
2022+ }
2023+ set
2024+ {
2025+ this._selfLink = value;
2026+ }
2027+ }
2028+
2029+ /// <summary>
2030+ /// The link to the WADL description of this resource.
2031+ /// </summary>
2032+ public string ResourceTypeLink
2033+ {
2034+ get
2035+ {
2036+ return this._resourceTypeLink;
2037+ }
2038+ set
2039+ {
2040+ this._resourceTypeLink = value;
2041+ }
2042+ }
2043+
2044+ /// <summary>
2045+ /// The value of the HTTP ETag for this resource.
2046+ /// </summary>
2047+ public string HttpEtag
2048+ {
2049+ get
2050+ {
2051+ return this._httpEtag;
2052+ }
2053+ set
2054+ {
2055+ this._httpEtag = value;
2056+ }
2057+ }
2058+
2059+ /// <summary>
2060+ /// Primary email address
2061+ /// </summary>
2062+ public string PreferredEmail
2063+ {
2064+ get
2065+ {
2066+ return this._preferredEmail;
2067+ }
2068+ set
2069+ {
2070+ this._preferredEmail = value;
2071+ }
2072+ }
2073+
2074+ /// <summary>
2075+ /// List of unverified emails
2076+ /// </summary>
2077+ public string UnverifiedEmails
2078+ {
2079+ get
2080+ {
2081+ return this._unverifiedEmails;
2082+ }
2083+ set
2084+ {
2085+ this._unverifiedEmails = value;
2086+ }
2087+ }
2088+
2089+ /// <summary>
2090+ /// Account ID
2091+ /// </summary>
2092+ public string Id
2093+ {
2094+ get
2095+ {
2096+ return this._id;
2097+ }
2098+ set
2099+ {
2100+ this._id = value;
2101+ }
2102+ }
2103+
2104+ /// <summary>
2105+ /// List of verified emails
2106+ /// </summary>
2107+ public string VerifiedEmails
2108+ {
2109+ get
2110+ {
2111+ return this._verifiedEmails;
2112+ }
2113+ set
2114+ {
2115+ this._verifiedEmails = value;
2116+ }
2117+ }
2118+ }
2119+
2120+ public partial class AccountDiff
2121+ {
2122+
2123+ private string _preferredEmail;
2124+
2125+ private string _unverifiedEmails;
2126+
2127+ private string _id;
2128+
2129+ private string _verifiedEmails;
2130+
2131+ /// <summary>
2132+ /// Primary email address
2133+ /// </summary>
2134+ public string PreferredEmail
2135+ {
2136+ get
2137+ {
2138+ return this._preferredEmail;
2139+ }
2140+ set
2141+ {
2142+ this._preferredEmail = value;
2143+ }
2144+ }
2145+
2146+ /// <summary>
2147+ /// List of unverified emails
2148+ /// </summary>
2149+ public string UnverifiedEmails
2150+ {
2151+ get
2152+ {
2153+ return this._unverifiedEmails;
2154+ }
2155+ set
2156+ {
2157+ this._unverifiedEmails = value;
2158+ }
2159+ }
2160+
2161+ /// <summary>
2162+ /// Account ID
2163+ /// </summary>
2164+ public string Id
2165+ {
2166+ get
2167+ {
2168+ return this._id;
2169+ }
2170+ set
2171+ {
2172+ this._id = value;
2173+ }
2174+ }
2175+
2176+ /// <summary>
2177+ /// List of verified emails
2178+ /// </summary>
2179+ public string VerifiedEmails
2180+ {
2181+ get
2182+ {
2183+ return this._verifiedEmails;
2184+ }
2185+ set
2186+ {
2187+ this._verifiedEmails = value;
2188+ }
2189+ }
2190+ }
2191+
2192+ public partial class AccountPageResource
2193+ {
2194+
2195+ private string _uri;
2196+
2197+ private Dictionary<string,string> _httpHeaders;
2198+
2199+ private ICustomize _customizeInterface;
2200+
2201+ public AccountPageResource(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
2202+ {
2203+ this._uri = uri;
2204+ this._httpHeaders = httpHeaders;
2205+ this._customizeInterface = customizeInterface;
2206+ }
2207+
2208+ public AccountPage AccountPageResourceGet()
2209+ {
2210+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2211+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
2212+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
2213+ AccountPage parsedData = _customizeInterface.Parse<AccountPage>(fetchedData);
2214+ return parsedData;
2215+ }
2216+ }
2217+
2218+ public partial class AccountPage
2219+ {
2220+
2221+ private string _resourceTypeLink;
2222+
2223+ private string _totalSize;
2224+
2225+ private string _start;
2226+
2227+ private string _nextCollectionLink;
2228+
2229+ private string _prevCollectionLink;
2230+
2231+ private string _entries;
2232+
2233+ private string _entryLinks;
2234+
2235+ public string ResourceTypeLink
2236+ {
2237+ get
2238+ {
2239+ return this._resourceTypeLink;
2240+ }
2241+ set
2242+ {
2243+ this._resourceTypeLink = value;
2244+ }
2245+ }
2246+
2247+ public string TotalSize
2248+ {
2249+ get
2250+ {
2251+ return this._totalSize;
2252+ }
2253+ set
2254+ {
2255+ this._totalSize = value;
2256+ }
2257+ }
2258+
2259+ public string Start
2260+ {
2261+ get
2262+ {
2263+ return this._start;
2264+ }
2265+ set
2266+ {
2267+ this._start = value;
2268+ }
2269+ }
2270+
2271+ [Description("account-page-resource")]
2272+ public string NextCollectionLink
2273+ {
2274+ get
2275+ {
2276+ return this._nextCollectionLink;
2277+ }
2278+ set
2279+ {
2280+ this._nextCollectionLink = value;
2281+ }
2282+ }
2283+
2284+ [Description("account-page-resource")]
2285+ public string PrevCollectionLink
2286+ {
2287+ get
2288+ {
2289+ return this._prevCollectionLink;
2290+ }
2291+ set
2292+ {
2293+ this._prevCollectionLink = value;
2294+ }
2295+ }
2296+
2297+ public string Entries
2298+ {
2299+ get
2300+ {
2301+ return this._entries;
2302+ }
2303+ set
2304+ {
2305+ this._entries = value;
2306+ }
2307+ }
2308+
2309+ [Description("account")]
2310+ public string EntryLinks
2311+ {
2312+ get
2313+ {
2314+ return this._entryLinks;
2315+ }
2316+ set
2317+ {
2318+ this._entryLinks = value;
2319+ }
2320+ }
2321+ }
2322+
2323+ public partial class Authentication
2324+ {
2325+
2326+ private string _uri;
2327+
2328+ private Dictionary<string,string> _httpHeaders;
2329+
2330+ private ICustomize _customizeInterface;
2331+
2332+ public Authentication(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
2333+ {
2334+ this._uri = uri;
2335+ this._httpHeaders = httpHeaders;
2336+ this._customizeInterface = customizeInterface;
2337+ }
2338+
2339+ public AuthenticationFull AuthenticationGet()
2340+ {
2341+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2342+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
2343+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
2344+ AuthenticationFull parsedData = _customizeInterface.Parse<AuthenticationFull>(fetchedData);
2345+ return parsedData;
2346+ }
2347+
2348+ public void AuthenticationPut(AuthenticationFull AuthenticationFull_field)
2349+ {
2350+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2351+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PUT, keyValue);
2352+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PUT, this._uri, this._httpHeaders, serializedData);
2353+ }
2354+
2355+ public void AuthenticationPatch(AuthenticationDiff AuthenticationDiff_field)
2356+ {
2357+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2358+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PATCH, keyValue);
2359+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PATCH, this._uri, this._httpHeaders, serializedData);
2360+ }
2361+ }
2362+
2363+ public partial class AuthenticationFull
2364+ {
2365+
2366+ private string _selfLink;
2367+
2368+ private string _resourceTypeLink;
2369+
2370+ private string _httpEtag;
2371+
2372+ private string _preferredEmail;
2373+
2374+ private string _unverifiedEmails;
2375+
2376+ private string _id;
2377+
2378+ private string _verifiedEmails;
2379+
2380+ /// <summary>
2381+ /// The canonical link to this resource.
2382+ /// </summary>
2383+ [Description("authentication")]
2384+ public string SelfLink
2385+ {
2386+ get
2387+ {
2388+ return this._selfLink;
2389+ }
2390+ set
2391+ {
2392+ this._selfLink = value;
2393+ }
2394+ }
2395+
2396+ /// <summary>
2397+ /// The link to the WADL description of this resource.
2398+ /// </summary>
2399+ public string ResourceTypeLink
2400+ {
2401+ get
2402+ {
2403+ return this._resourceTypeLink;
2404+ }
2405+ set
2406+ {
2407+ this._resourceTypeLink = value;
2408+ }
2409+ }
2410+
2411+ /// <summary>
2412+ /// The value of the HTTP ETag for this resource.
2413+ /// </summary>
2414+ public string HttpEtag
2415+ {
2416+ get
2417+ {
2418+ return this._httpEtag;
2419+ }
2420+ set
2421+ {
2422+ this._httpEtag = value;
2423+ }
2424+ }
2425+
2426+ /// <summary>
2427+ /// Primary email address
2428+ /// </summary>
2429+ public string PreferredEmail
2430+ {
2431+ get
2432+ {
2433+ return this._preferredEmail;
2434+ }
2435+ set
2436+ {
2437+ this._preferredEmail = value;
2438+ }
2439+ }
2440+
2441+ /// <summary>
2442+ /// List of unverified emails
2443+ /// </summary>
2444+ public string UnverifiedEmails
2445+ {
2446+ get
2447+ {
2448+ return this._unverifiedEmails;
2449+ }
2450+ set
2451+ {
2452+ this._unverifiedEmails = value;
2453+ }
2454+ }
2455+
2456+ /// <summary>
2457+ /// Account ID
2458+ /// </summary>
2459+ public string Id
2460+ {
2461+ get
2462+ {
2463+ return this._id;
2464+ }
2465+ set
2466+ {
2467+ this._id = value;
2468+ }
2469+ }
2470+
2471+ /// <summary>
2472+ /// List of verified emails
2473+ /// </summary>
2474+ public string VerifiedEmails
2475+ {
2476+ get
2477+ {
2478+ return this._verifiedEmails;
2479+ }
2480+ set
2481+ {
2482+ this._verifiedEmails = value;
2483+ }
2484+ }
2485+ }
2486+
2487+ public partial class AuthenticationDiff
2488+ {
2489+
2490+ private string _preferredEmail;
2491+
2492+ private string _unverifiedEmails;
2493+
2494+ private string _id;
2495+
2496+ private string _verifiedEmails;
2497+
2498+ /// <summary>
2499+ /// Primary email address
2500+ /// </summary>
2501+ public string PreferredEmail
2502+ {
2503+ get
2504+ {
2505+ return this._preferredEmail;
2506+ }
2507+ set
2508+ {
2509+ this._preferredEmail = value;
2510+ }
2511+ }
2512+
2513+ /// <summary>
2514+ /// List of unverified emails
2515+ /// </summary>
2516+ public string UnverifiedEmails
2517+ {
2518+ get
2519+ {
2520+ return this._unverifiedEmails;
2521+ }
2522+ set
2523+ {
2524+ this._unverifiedEmails = value;
2525+ }
2526+ }
2527+
2528+ /// <summary>
2529+ /// Account ID
2530+ /// </summary>
2531+ public string Id
2532+ {
2533+ get
2534+ {
2535+ return this._id;
2536+ }
2537+ set
2538+ {
2539+ this._id = value;
2540+ }
2541+ }
2542+
2543+ /// <summary>
2544+ /// List of verified emails
2545+ /// </summary>
2546+ public string VerifiedEmails
2547+ {
2548+ get
2549+ {
2550+ return this._verifiedEmails;
2551+ }
2552+ set
2553+ {
2554+ this._verifiedEmails = value;
2555+ }
2556+ }
2557+ }
2558+
2559+ public partial class AuthenticationPageResource
2560+ {
2561+
2562+ private string _uri;
2563+
2564+ private Dictionary<string,string> _httpHeaders;
2565+
2566+ private ICustomize _customizeInterface;
2567+
2568+ public AuthenticationPageResource(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
2569+ {
2570+ this._uri = uri;
2571+ this._httpHeaders = httpHeaders;
2572+ this._customizeInterface = customizeInterface;
2573+ }
2574+
2575+ public AuthenticationPage AuthenticationPageResourceGet()
2576+ {
2577+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2578+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
2579+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
2580+ AuthenticationPage parsedData = _customizeInterface.Parse<AuthenticationPage>(fetchedData);
2581+ return parsedData;
2582+ }
2583+ }
2584+
2585+ public partial class AuthenticationPage
2586+ {
2587+
2588+ private string _resourceTypeLink;
2589+
2590+ private string _totalSize;
2591+
2592+ private string _start;
2593+
2594+ private string _nextCollectionLink;
2595+
2596+ private string _prevCollectionLink;
2597+
2598+ private string _entries;
2599+
2600+ private string _entryLinks;
2601+
2602+ public string ResourceTypeLink
2603+ {
2604+ get
2605+ {
2606+ return this._resourceTypeLink;
2607+ }
2608+ set
2609+ {
2610+ this._resourceTypeLink = value;
2611+ }
2612+ }
2613+
2614+ public string TotalSize
2615+ {
2616+ get
2617+ {
2618+ return this._totalSize;
2619+ }
2620+ set
2621+ {
2622+ this._totalSize = value;
2623+ }
2624+ }
2625+
2626+ public string Start
2627+ {
2628+ get
2629+ {
2630+ return this._start;
2631+ }
2632+ set
2633+ {
2634+ this._start = value;
2635+ }
2636+ }
2637+
2638+ [Description("authentication-page-resource")]
2639+ public string NextCollectionLink
2640+ {
2641+ get
2642+ {
2643+ return this._nextCollectionLink;
2644+ }
2645+ set
2646+ {
2647+ this._nextCollectionLink = value;
2648+ }
2649+ }
2650+
2651+ [Description("authentication-page-resource")]
2652+ public string PrevCollectionLink
2653+ {
2654+ get
2655+ {
2656+ return this._prevCollectionLink;
2657+ }
2658+ set
2659+ {
2660+ this._prevCollectionLink = value;
2661+ }
2662+ }
2663+
2664+ public string Entries
2665+ {
2666+ get
2667+ {
2668+ return this._entries;
2669+ }
2670+ set
2671+ {
2672+ this._entries = value;
2673+ }
2674+ }
2675+
2676+ [Description("authentication")]
2677+ public string EntryLinks
2678+ {
2679+ get
2680+ {
2681+ return this._entryLinks;
2682+ }
2683+ set
2684+ {
2685+ this._entryLinks = value;
2686+ }
2687+ }
2688+ }
2689+
2690+ public partial class Captcha
2691+ {
2692+
2693+ private string _uri;
2694+
2695+ private Dictionary<string,string> _httpHeaders;
2696+
2697+ private ICustomize _customizeInterface;
2698+
2699+ public Captcha(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
2700+ {
2701+ this._uri = uri;
2702+ this._httpHeaders = httpHeaders;
2703+ this._customizeInterface = customizeInterface;
2704+ }
2705+
2706+ public CaptchaFull CaptchaGet()
2707+ {
2708+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2709+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
2710+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
2711+ CaptchaFull parsedData = _customizeInterface.Parse<CaptchaFull>(fetchedData);
2712+ return parsedData;
2713+ }
2714+
2715+ public void CaptchaPut(CaptchaFull CaptchaFull_field)
2716+ {
2717+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2718+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PUT, keyValue);
2719+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PUT, this._uri, this._httpHeaders, serializedData);
2720+ }
2721+
2722+ public void CaptchaPatch(CaptchaDiff CaptchaDiff_field)
2723+ {
2724+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2725+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PATCH, keyValue);
2726+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PATCH, this._uri, this._httpHeaders, serializedData);
2727+ }
2728+ }
2729+
2730+ public partial class CaptchaFull
2731+ {
2732+
2733+ private string _selfLink;
2734+
2735+ private string _resourceTypeLink;
2736+
2737+ private string _httpEtag;
2738+
2739+ private string _content;
2740+
2741+ private string _id;
2742+
2743+ /// <summary>
2744+ /// The canonical link to this resource.
2745+ /// </summary>
2746+ [Description("captcha")]
2747+ public string SelfLink
2748+ {
2749+ get
2750+ {
2751+ return this._selfLink;
2752+ }
2753+ set
2754+ {
2755+ this._selfLink = value;
2756+ }
2757+ }
2758+
2759+ /// <summary>
2760+ /// The link to the WADL description of this resource.
2761+ /// </summary>
2762+ public string ResourceTypeLink
2763+ {
2764+ get
2765+ {
2766+ return this._resourceTypeLink;
2767+ }
2768+ set
2769+ {
2770+ this._resourceTypeLink = value;
2771+ }
2772+ }
2773+
2774+ /// <summary>
2775+ /// The value of the HTTP ETag for this resource.
2776+ /// </summary>
2777+ public string HttpEtag
2778+ {
2779+ get
2780+ {
2781+ return this._httpEtag;
2782+ }
2783+ set
2784+ {
2785+ this._httpEtag = value;
2786+ }
2787+ }
2788+
2789+ /// <summary>
2790+ /// Captcha content
2791+ /// </summary>
2792+ public string Content
2793+ {
2794+ get
2795+ {
2796+ return this._content;
2797+ }
2798+ set
2799+ {
2800+ this._content = value;
2801+ }
2802+ }
2803+
2804+ /// <summary>
2805+ /// Captcha ID
2806+ /// </summary>
2807+ public string Id
2808+ {
2809+ get
2810+ {
2811+ return this._id;
2812+ }
2813+ set
2814+ {
2815+ this._id = value;
2816+ }
2817+ }
2818+ }
2819+
2820+ public partial class CaptchaDiff
2821+ {
2822+
2823+ private string _content;
2824+
2825+ private string _id;
2826+
2827+ /// <summary>
2828+ /// Captcha content
2829+ /// </summary>
2830+ public string Content
2831+ {
2832+ get
2833+ {
2834+ return this._content;
2835+ }
2836+ set
2837+ {
2838+ this._content = value;
2839+ }
2840+ }
2841+
2842+ /// <summary>
2843+ /// Captcha ID
2844+ /// </summary>
2845+ public string Id
2846+ {
2847+ get
2848+ {
2849+ return this._id;
2850+ }
2851+ set
2852+ {
2853+ this._id = value;
2854+ }
2855+ }
2856+ }
2857+
2858+ public partial class CaptchaPageResource
2859+ {
2860+
2861+ private string _uri;
2862+
2863+ private Dictionary<string,string> _httpHeaders;
2864+
2865+ private ICustomize _customizeInterface;
2866+
2867+ public CaptchaPageResource(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
2868+ {
2869+ this._uri = uri;
2870+ this._httpHeaders = httpHeaders;
2871+ this._customizeInterface = customizeInterface;
2872+ }
2873+
2874+ public CaptchaPage CaptchaPageResourceGet()
2875+ {
2876+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
2877+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
2878+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
2879+ CaptchaPage parsedData = _customizeInterface.Parse<CaptchaPage>(fetchedData);
2880+ return parsedData;
2881+ }
2882+ }
2883+
2884+ public partial class CaptchaPage
2885+ {
2886+
2887+ private string _resourceTypeLink;
2888+
2889+ private string _totalSize;
2890+
2891+ private string _start;
2892+
2893+ private string _nextCollectionLink;
2894+
2895+ private string _prevCollectionLink;
2896+
2897+ private string _entries;
2898+
2899+ private string _entryLinks;
2900+
2901+ public string ResourceTypeLink
2902+ {
2903+ get
2904+ {
2905+ return this._resourceTypeLink;
2906+ }
2907+ set
2908+ {
2909+ this._resourceTypeLink = value;
2910+ }
2911+ }
2912+
2913+ public string TotalSize
2914+ {
2915+ get
2916+ {
2917+ return this._totalSize;
2918+ }
2919+ set
2920+ {
2921+ this._totalSize = value;
2922+ }
2923+ }
2924+
2925+ public string Start
2926+ {
2927+ get
2928+ {
2929+ return this._start;
2930+ }
2931+ set
2932+ {
2933+ this._start = value;
2934+ }
2935+ }
2936+
2937+ [Description("captcha-page-resource")]
2938+ public string NextCollectionLink
2939+ {
2940+ get
2941+ {
2942+ return this._nextCollectionLink;
2943+ }
2944+ set
2945+ {
2946+ this._nextCollectionLink = value;
2947+ }
2948+ }
2949+
2950+ [Description("captcha-page-resource")]
2951+ public string PrevCollectionLink
2952+ {
2953+ get
2954+ {
2955+ return this._prevCollectionLink;
2956+ }
2957+ set
2958+ {
2959+ this._prevCollectionLink = value;
2960+ }
2961+ }
2962+
2963+ public string Entries
2964+ {
2965+ get
2966+ {
2967+ return this._entries;
2968+ }
2969+ set
2970+ {
2971+ this._entries = value;
2972+ }
2973+ }
2974+
2975+ [Description("captcha")]
2976+ public string EntryLinks
2977+ {
2978+ get
2979+ {
2980+ return this._entryLinks;
2981+ }
2982+ set
2983+ {
2984+ this._entryLinks = value;
2985+ }
2986+ }
2987+ }
2988+
2989+ public partial class Registration
2990+ {
2991+
2992+ private string _uri;
2993+
2994+ private Dictionary<string,string> _httpHeaders;
2995+
2996+ private ICustomize _customizeInterface;
2997+
2998+ public Registration(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
2999+ {
3000+ this._uri = uri;
3001+ this._httpHeaders = httpHeaders;
3002+ this._customizeInterface = customizeInterface;
3003+ }
3004+
3005+ public RegistrationFull RegistrationGet()
3006+ {
3007+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3008+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
3009+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
3010+ RegistrationFull parsedData = _customizeInterface.Parse<RegistrationFull>(fetchedData);
3011+ return parsedData;
3012+ }
3013+
3014+ public void RegistrationPut(RegistrationFull RegistrationFull_field)
3015+ {
3016+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3017+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PUT, keyValue);
3018+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PUT, this._uri, this._httpHeaders, serializedData);
3019+ }
3020+
3021+ public void RegistrationPatch(RegistrationDiff RegistrationDiff_field)
3022+ {
3023+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3024+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PATCH, keyValue);
3025+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PATCH, this._uri, this._httpHeaders, serializedData);
3026+ }
3027+ }
3028+
3029+ public partial class RegistrationFull
3030+ {
3031+
3032+ private string _selfLink;
3033+
3034+ private string _resourceTypeLink;
3035+
3036+ private string _httpEtag;
3037+
3038+ private string _preferredEmail;
3039+
3040+ private string _unverifiedEmails;
3041+
3042+ private string _id;
3043+
3044+ private string _verifiedEmails;
3045+
3046+ /// <summary>
3047+ /// The canonical link to this resource.
3048+ /// </summary>
3049+ [Description("registration")]
3050+ public string SelfLink
3051+ {
3052+ get
3053+ {
3054+ return this._selfLink;
3055+ }
3056+ set
3057+ {
3058+ this._selfLink = value;
3059+ }
3060+ }
3061+
3062+ /// <summary>
3063+ /// The link to the WADL description of this resource.
3064+ /// </summary>
3065+ public string ResourceTypeLink
3066+ {
3067+ get
3068+ {
3069+ return this._resourceTypeLink;
3070+ }
3071+ set
3072+ {
3073+ this._resourceTypeLink = value;
3074+ }
3075+ }
3076+
3077+ /// <summary>
3078+ /// The value of the HTTP ETag for this resource.
3079+ /// </summary>
3080+ public string HttpEtag
3081+ {
3082+ get
3083+ {
3084+ return this._httpEtag;
3085+ }
3086+ set
3087+ {
3088+ this._httpEtag = value;
3089+ }
3090+ }
3091+
3092+ /// <summary>
3093+ /// Primary email address
3094+ /// </summary>
3095+ public string PreferredEmail
3096+ {
3097+ get
3098+ {
3099+ return this._preferredEmail;
3100+ }
3101+ set
3102+ {
3103+ this._preferredEmail = value;
3104+ }
3105+ }
3106+
3107+ /// <summary>
3108+ /// List of unverified emails
3109+ /// </summary>
3110+ public string UnverifiedEmails
3111+ {
3112+ get
3113+ {
3114+ return this._unverifiedEmails;
3115+ }
3116+ set
3117+ {
3118+ this._unverifiedEmails = value;
3119+ }
3120+ }
3121+
3122+ /// <summary>
3123+ /// Account ID
3124+ /// </summary>
3125+ public string Id
3126+ {
3127+ get
3128+ {
3129+ return this._id;
3130+ }
3131+ set
3132+ {
3133+ this._id = value;
3134+ }
3135+ }
3136+
3137+ /// <summary>
3138+ /// List of verified emails
3139+ /// </summary>
3140+ public string VerifiedEmails
3141+ {
3142+ get
3143+ {
3144+ return this._verifiedEmails;
3145+ }
3146+ set
3147+ {
3148+ this._verifiedEmails = value;
3149+ }
3150+ }
3151+ }
3152+
3153+ public partial class RegistrationDiff
3154+ {
3155+
3156+ private string _preferredEmail;
3157+
3158+ private string _unverifiedEmails;
3159+
3160+ private string _id;
3161+
3162+ private string _verifiedEmails;
3163+
3164+ /// <summary>
3165+ /// Primary email address
3166+ /// </summary>
3167+ public string PreferredEmail
3168+ {
3169+ get
3170+ {
3171+ return this._preferredEmail;
3172+ }
3173+ set
3174+ {
3175+ this._preferredEmail = value;
3176+ }
3177+ }
3178+
3179+ /// <summary>
3180+ /// List of unverified emails
3181+ /// </summary>
3182+ public string UnverifiedEmails
3183+ {
3184+ get
3185+ {
3186+ return this._unverifiedEmails;
3187+ }
3188+ set
3189+ {
3190+ this._unverifiedEmails = value;
3191+ }
3192+ }
3193+
3194+ /// <summary>
3195+ /// Account ID
3196+ /// </summary>
3197+ public string Id
3198+ {
3199+ get
3200+ {
3201+ return this._id;
3202+ }
3203+ set
3204+ {
3205+ this._id = value;
3206+ }
3207+ }
3208+
3209+ /// <summary>
3210+ /// List of verified emails
3211+ /// </summary>
3212+ public string VerifiedEmails
3213+ {
3214+ get
3215+ {
3216+ return this._verifiedEmails;
3217+ }
3218+ set
3219+ {
3220+ this._verifiedEmails = value;
3221+ }
3222+ }
3223+ }
3224+
3225+ public partial class RegistrationPageResource
3226+ {
3227+
3228+ private string _uri;
3229+
3230+ private Dictionary<string,string> _httpHeaders;
3231+
3232+ private ICustomize _customizeInterface;
3233+
3234+ public RegistrationPageResource(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
3235+ {
3236+ this._uri = uri;
3237+ this._httpHeaders = httpHeaders;
3238+ this._customizeInterface = customizeInterface;
3239+ }
3240+
3241+ public RegistrationPage RegistrationPageResourceGet()
3242+ {
3243+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3244+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
3245+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
3246+ RegistrationPage parsedData = _customizeInterface.Parse<RegistrationPage>(fetchedData);
3247+ return parsedData;
3248+ }
3249+ }
3250+
3251+ public partial class RegistrationPage
3252+ {
3253+
3254+ private string _resourceTypeLink;
3255+
3256+ private string _totalSize;
3257+
3258+ private string _start;
3259+
3260+ private string _nextCollectionLink;
3261+
3262+ private string _prevCollectionLink;
3263+
3264+ private string _entries;
3265+
3266+ private string _entryLinks;
3267+
3268+ public string ResourceTypeLink
3269+ {
3270+ get
3271+ {
3272+ return this._resourceTypeLink;
3273+ }
3274+ set
3275+ {
3276+ this._resourceTypeLink = value;
3277+ }
3278+ }
3279+
3280+ public string TotalSize
3281+ {
3282+ get
3283+ {
3284+ return this._totalSize;
3285+ }
3286+ set
3287+ {
3288+ this._totalSize = value;
3289+ }
3290+ }
3291+
3292+ public string Start
3293+ {
3294+ get
3295+ {
3296+ return this._start;
3297+ }
3298+ set
3299+ {
3300+ this._start = value;
3301+ }
3302+ }
3303+
3304+ [Description("registration-page-resource")]
3305+ public string NextCollectionLink
3306+ {
3307+ get
3308+ {
3309+ return this._nextCollectionLink;
3310+ }
3311+ set
3312+ {
3313+ this._nextCollectionLink = value;
3314+ }
3315+ }
3316+
3317+ [Description("registration-page-resource")]
3318+ public string PrevCollectionLink
3319+ {
3320+ get
3321+ {
3322+ return this._prevCollectionLink;
3323+ }
3324+ set
3325+ {
3326+ this._prevCollectionLink = value;
3327+ }
3328+ }
3329+
3330+ public string Entries
3331+ {
3332+ get
3333+ {
3334+ return this._entries;
3335+ }
3336+ set
3337+ {
3338+ this._entries = value;
3339+ }
3340+ }
3341+
3342+ [Description("registration")]
3343+ public string EntryLinks
3344+ {
3345+ get
3346+ {
3347+ return this._entryLinks;
3348+ }
3349+ set
3350+ {
3351+ this._entryLinks = value;
3352+ }
3353+ }
3354+ }
3355+
3356+ public partial class Validation
3357+ {
3358+
3359+ private string _uri;
3360+
3361+ private Dictionary<string,string> _httpHeaders;
3362+
3363+ private ICustomize _customizeInterface;
3364+
3365+ public Validation(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
3366+ {
3367+ this._uri = uri;
3368+ this._httpHeaders = httpHeaders;
3369+ this._customizeInterface = customizeInterface;
3370+ }
3371+
3372+ public ValidationFull ValidationGet()
3373+ {
3374+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3375+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
3376+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
3377+ ValidationFull parsedData = _customizeInterface.Parse<ValidationFull>(fetchedData);
3378+ return parsedData;
3379+ }
3380+
3381+ public void ValidationPut(ValidationFull ValidationFull_field)
3382+ {
3383+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3384+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PUT, keyValue);
3385+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PUT, this._uri, this._httpHeaders, serializedData);
3386+ }
3387+
3388+ public void ValidationPatch(ValidationDiff ValidationDiff_field)
3389+ {
3390+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3391+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PATCH, keyValue);
3392+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PATCH, this._uri, this._httpHeaders, serializedData);
3393+ }
3394+ }
3395+
3396+ public partial class ValidationFull
3397+ {
3398+
3399+ private string _selfLink;
3400+
3401+ private string _resourceTypeLink;
3402+
3403+ private string _httpEtag;
3404+
3405+ private string _preferredEmail;
3406+
3407+ private string _unverifiedEmails;
3408+
3409+ private string _id;
3410+
3411+ private string _verifiedEmails;
3412+
3413+ /// <summary>
3414+ /// The canonical link to this resource.
3415+ /// </summary>
3416+ [Description("validation")]
3417+ public string SelfLink
3418+ {
3419+ get
3420+ {
3421+ return this._selfLink;
3422+ }
3423+ set
3424+ {
3425+ this._selfLink = value;
3426+ }
3427+ }
3428+
3429+ /// <summary>
3430+ /// The link to the WADL description of this resource.
3431+ /// </summary>
3432+ public string ResourceTypeLink
3433+ {
3434+ get
3435+ {
3436+ return this._resourceTypeLink;
3437+ }
3438+ set
3439+ {
3440+ this._resourceTypeLink = value;
3441+ }
3442+ }
3443+
3444+ /// <summary>
3445+ /// The value of the HTTP ETag for this resource.
3446+ /// </summary>
3447+ public string HttpEtag
3448+ {
3449+ get
3450+ {
3451+ return this._httpEtag;
3452+ }
3453+ set
3454+ {
3455+ this._httpEtag = value;
3456+ }
3457+ }
3458+
3459+ /// <summary>
3460+ /// Primary email address
3461+ /// </summary>
3462+ public string PreferredEmail
3463+ {
3464+ get
3465+ {
3466+ return this._preferredEmail;
3467+ }
3468+ set
3469+ {
3470+ this._preferredEmail = value;
3471+ }
3472+ }
3473+
3474+ /// <summary>
3475+ /// List of unverified emails
3476+ /// </summary>
3477+ public string UnverifiedEmails
3478+ {
3479+ get
3480+ {
3481+ return this._unverifiedEmails;
3482+ }
3483+ set
3484+ {
3485+ this._unverifiedEmails = value;
3486+ }
3487+ }
3488+
3489+ /// <summary>
3490+ /// Account ID
3491+ /// </summary>
3492+ public string Id
3493+ {
3494+ get
3495+ {
3496+ return this._id;
3497+ }
3498+ set
3499+ {
3500+ this._id = value;
3501+ }
3502+ }
3503+
3504+ /// <summary>
3505+ /// List of verified emails
3506+ /// </summary>
3507+ public string VerifiedEmails
3508+ {
3509+ get
3510+ {
3511+ return this._verifiedEmails;
3512+ }
3513+ set
3514+ {
3515+ this._verifiedEmails = value;
3516+ }
3517+ }
3518+ }
3519+
3520+ public partial class ValidationDiff
3521+ {
3522+
3523+ private string _preferredEmail;
3524+
3525+ private string _unverifiedEmails;
3526+
3527+ private string _id;
3528+
3529+ private string _verifiedEmails;
3530+
3531+ /// <summary>
3532+ /// Primary email address
3533+ /// </summary>
3534+ public string PreferredEmail
3535+ {
3536+ get
3537+ {
3538+ return this._preferredEmail;
3539+ }
3540+ set
3541+ {
3542+ this._preferredEmail = value;
3543+ }
3544+ }
3545+
3546+ /// <summary>
3547+ /// List of unverified emails
3548+ /// </summary>
3549+ public string UnverifiedEmails
3550+ {
3551+ get
3552+ {
3553+ return this._unverifiedEmails;
3554+ }
3555+ set
3556+ {
3557+ this._unverifiedEmails = value;
3558+ }
3559+ }
3560+
3561+ /// <summary>
3562+ /// Account ID
3563+ /// </summary>
3564+ public string Id
3565+ {
3566+ get
3567+ {
3568+ return this._id;
3569+ }
3570+ set
3571+ {
3572+ this._id = value;
3573+ }
3574+ }
3575+
3576+ /// <summary>
3577+ /// List of verified emails
3578+ /// </summary>
3579+ public string VerifiedEmails
3580+ {
3581+ get
3582+ {
3583+ return this._verifiedEmails;
3584+ }
3585+ set
3586+ {
3587+ this._verifiedEmails = value;
3588+ }
3589+ }
3590+ }
3591+
3592+ public partial class ValidationPageResource
3593+ {
3594+
3595+ private string _uri;
3596+
3597+ private Dictionary<string,string> _httpHeaders;
3598+
3599+ private ICustomize _customizeInterface;
3600+
3601+ public ValidationPageResource(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
3602+ {
3603+ this._uri = uri;
3604+ this._httpHeaders = httpHeaders;
3605+ this._customizeInterface = customizeInterface;
3606+ }
3607+
3608+ public ValidationPage ValidationPageResourceGet()
3609+ {
3610+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3611+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
3612+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
3613+ ValidationPage parsedData = _customizeInterface.Parse<ValidationPage>(fetchedData);
3614+ return parsedData;
3615+ }
3616+ }
3617+
3618+ public partial class ValidationPage
3619+ {
3620+
3621+ private string _resourceTypeLink;
3622+
3623+ private string _totalSize;
3624+
3625+ private string _start;
3626+
3627+ private string _nextCollectionLink;
3628+
3629+ private string _prevCollectionLink;
3630+
3631+ private string _entries;
3632+
3633+ private string _entryLinks;
3634+
3635+ public string ResourceTypeLink
3636+ {
3637+ get
3638+ {
3639+ return this._resourceTypeLink;
3640+ }
3641+ set
3642+ {
3643+ this._resourceTypeLink = value;
3644+ }
3645+ }
3646+
3647+ public string TotalSize
3648+ {
3649+ get
3650+ {
3651+ return this._totalSize;
3652+ }
3653+ set
3654+ {
3655+ this._totalSize = value;
3656+ }
3657+ }
3658+
3659+ public string Start
3660+ {
3661+ get
3662+ {
3663+ return this._start;
3664+ }
3665+ set
3666+ {
3667+ this._start = value;
3668+ }
3669+ }
3670+
3671+ [Description("validation-page-resource")]
3672+ public string NextCollectionLink
3673+ {
3674+ get
3675+ {
3676+ return this._nextCollectionLink;
3677+ }
3678+ set
3679+ {
3680+ this._nextCollectionLink = value;
3681+ }
3682+ }
3683+
3684+ [Description("validation-page-resource")]
3685+ public string PrevCollectionLink
3686+ {
3687+ get
3688+ {
3689+ return this._prevCollectionLink;
3690+ }
3691+ set
3692+ {
3693+ this._prevCollectionLink = value;
3694+ }
3695+ }
3696+
3697+ public string Entries
3698+ {
3699+ get
3700+ {
3701+ return this._entries;
3702+ }
3703+ set
3704+ {
3705+ this._entries = value;
3706+ }
3707+ }
3708+
3709+ [Description("validation")]
3710+ public string EntryLinks
3711+ {
3712+ get
3713+ {
3714+ return this._entryLinks;
3715+ }
3716+ set
3717+ {
3718+ this._entryLinks = value;
3719+ }
3720+ }
3721+ }
3722+
3723+ public partial class HostedFile
3724+ {
3725+
3726+ private string _uri;
3727+
3728+ private Dictionary<string,string> _httpHeaders;
3729+
3730+ private ICustomize _customizeInterface;
3731+
3732+ public HostedFile(string uri, Dictionary<string,string> httpHeaders, ICustomize customizeInterface)
3733+ {
3734+ this._uri = uri;
3735+ this._httpHeaders = httpHeaders;
3736+ this._customizeInterface = customizeInterface;
3737+ }
3738+
3739+ public void HostedFileGet()
3740+ {
3741+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3742+ string serializedData = _customizeInterface.Serialize(HttpMethodType.GET, keyValue);
3743+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.GET, this._uri, this._httpHeaders, serializedData);
3744+ }
3745+
3746+ public void HostedFilePut()
3747+ {
3748+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3749+ string serializedData = _customizeInterface.Serialize(HttpMethodType.PUT, keyValue);
3750+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.PUT, this._uri, this._httpHeaders, serializedData);
3751+ }
3752+
3753+ public void HostedFileDelete()
3754+ {
3755+ Dictionary<string,string> keyValue = new Dictionary<string, string>();
3756+ string serializedData = _customizeInterface.Serialize(HttpMethodType.DELETE, keyValue);
3757+ string fetchedData = _customizeInterface.Fetch(HttpMethodType.DELETE, this._uri, this._httpHeaders, serializedData);
3758+ }
3759+ }
3760+
3761+ public interface ICustomize
3762+ {
3763+
3764+ T Parse<T>(string rawString)
3765+ ;
3766+
3767+ string Fetch(HttpMethodType methodType, string uri, System.Collections.Generic.Dictionary<string, string> httpHeadersParam, string dataParam);
3768+
3769+ string Serialize(HttpMethodType methodType, Dictionary<string, string> keyvalues);
3770+ }
3771+
3772+ public enum HttpMethodType
3773+ {
3774+
3775+ GET,
3776+
3777+ POST,
3778+
3779+ PUT,
3780+
3781+ PATCH,
3782+
3783+ DELETE,
3784+ }
3785+
3786+ public class EnumDescription
3787+ {
3788+
3789+ public static string CreateString<T>(T currentEnum)
3790+
3791+ {
3792+ FieldInfo fi = currentEnum.GetType().GetField(currentEnum.ToString());
3793+ DescriptionAttribute da = ((DescriptionAttribute)(Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute))));
3794+ return (da != null) ? da.Description : currentEnum.ToString();
3795+ }
3796+ }
3797+}
3798
3799=== added file 'src/Canonical.Ubuntu.SSO/SSOLoginProcessor.cs'
3800--- src/Canonical.Ubuntu.SSO/SSOLoginProcessor.cs 1970-01-01 00:00:00 +0000
3801+++ src/Canonical.Ubuntu.SSO/SSOLoginProcessor.cs 2010-09-20 11:26:08 +0000
3802@@ -0,0 +1,106 @@
3803+/*
3804+ * Copyright 2010 Canonical Ltd.
3805+ *
3806+ * This file is part of Ubuntu One on Windows.
3807+ *
3808+ * Ubuntu One on Windows is free software: you can redistribute it and/or modify
3809+ * it under the terms of the GNU Lesser General Public License version
3810+ * as published by the Free Software Foundation.
3811+ *
3812+ * Ubuntu One on Windows is distributed in the hope that it will be useful,
3813+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3814+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3815+ * GNU Lesser General Public License for more details.
3816+ *
3817+ * You should have received a copy of the GNU Lesser General Public License
3818+ * along with Ubuntu One for Windows. If not, see <http://www.gnu.org/licenses/>.
3819+ *
3820+ * Authors: Manuel de la Peña <manuel.delapena@canonical.com>
3821+ */
3822+using System;
3823+
3824+namespace Canonical.Ubuntu.SSO
3825+{
3826+ /// <summary>
3827+ /// Implementation of the ISSOLoginProcessor that uses the Ubuntu SSO services to perform
3828+ /// the operations.
3829+ /// </summary>
3830+ public class SSOLoginProcessor : ISSOLoginProcessor
3831+ {
3832+ #region Implementation of ISSOLoginProcessor
3833+
3834+ /// <summary>
3835+ /// Generates a new captha and stores it in the passed file path.
3836+ /// </summary>
3837+ /// <param name="filePath">The path in which the captcha should be stored.</param>
3838+ /// <returns></returns>
3839+ public string GenerateCaptcha(string filePath)
3840+ {
3841+ throw new NotImplementedException();
3842+ }
3843+
3844+ /// <summary>
3845+ /// Registers a new user to the system.
3846+ /// </summary>
3847+ /// <param name="email">The email of the new user to register.</param>
3848+ /// <param name="password">The password that the new user will use to login.</param>
3849+ /// <param name="captchaId">The id of the captcha that the user used to register.</param>
3850+ /// <param name="captchaSolution">The solution given by the user for the given captcha</param>
3851+ /// <returns>The email of the new user if there were no login issues.</returns>
3852+ public string RegisterUser(string email, string password, string captchaId, string captchaSolution)
3853+ {
3854+ throw new NotImplementedException();
3855+ }
3856+
3857+ /// <summary>
3858+ /// Allows a user to login using the ubuntu sso.
3859+ /// </summary>
3860+ /// <param name="email">The email of the user.</param>
3861+ /// <param name="password">The password to be used for login.</param>
3862+ /// <param name="tokenName">The token name used for login.</param>
3863+ /// <returns>A string with the sso credentials.</returns>
3864+ public string Login(string email, string password, string tokenName)
3865+ {
3866+ throw new NotImplementedException();
3867+ }
3868+
3869+ /// <summary>
3870+ /// Validate an email token for a user.
3871+ /// </summary>
3872+ /// <param name="email">The email address of the user.</param>
3873+ /// <param name="password">The apssword of the user.</param>
3874+ /// <param name="emailToken">Teh email token to validate.</param>
3875+ /// <param name="tokenName">The name of the token to validate.</param>
3876+ /// <returns>The token returned by the server.</returns>
3877+ public string ValidateEmail(string email, string password, string emailToken, string tokenName)
3878+ {
3879+ throw new NotImplementedException();
3880+ }
3881+
3882+ /// <summary>
3883+ /// Allwos to request a password reset.
3884+ /// </summary>
3885+ /// <param name="email">The email of the user requesting the password reset.</param>
3886+ public void RequestPasswordResetToken(string email)
3887+ {
3888+ throw new NotImplementedException();
3889+ }
3890+
3891+ /// <summary>
3892+ /// Set a new password for the account.
3893+ /// <remarks>
3894+ /// The 'token' has to be the one resulting from a call to 'RequestPasswordResetToken'.
3895+ /// </remarks>
3896+ /// </summary>
3897+ /// <param name="email">The email of the user.</param>
3898+ /// <param name="token">The token received from requesting the password reset.</param>
3899+ /// <param name="newPassword">The new password to be used by the account.</param>
3900+ /// <returns>The email of the account if everyhing went ok.</returns>
3901+ public string SetNewPassword(string email, string token, string newPassword)
3902+ {
3903+ throw new NotImplementedException();
3904+ }
3905+
3906+ #endregion
3907+ }
3908+}

Subscribers

People subscribed via source and target branches

to all changes: