-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathrest_model.mustache
More file actions
94 lines (90 loc) · 3.75 KB
/
rest_model.mustache
File metadata and controls
94 lines (90 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
%%%--------------------------------------------------------------------
%%% This file has been automatically generated from Swagger
%%% specification - DO NOT EDIT!
%%%
%%% @author Krzysztof Trzepla
%%% @copyright (C) 2016 ACK CYFRONET AGH
%%% This software is released under the MIT license
%%% cited in 'LICENSE.txt'.
%%% @end
%%%--------------------------------------------------------------------
%%% @doc This module contains REST models definitions.
%%% @end
%%%--------------------------------------------------------------------
-module(rest_model).
-author("Krzysztof Trzepla").
-export([
{{#models}}
{{#model}}
{{classname}}_model/0,
{{/model}}
{{/models}}
]).
{{#models}}
{{#model}}
{{#description}}
%%--------------------------------------------------------------------
%% @doc {{description}}
%% @end
%%--------------------------------------------------------------------
{{/description}}
{{#vendorExtensions}}
{{#x-onedata-oneof}}
-spec {{classname}}_model() -> {oneof, Oneof :: list()}.
{{/x-onedata-oneof}}
{{^x-onedata-oneof}}
-spec {{classname}}_model() -> #{}.
{{/x-onedata-oneof}}
{{/vendorExtensions}}
{{classname}}_model() ->
{{#vendorExtensions}}
{{#x-onedata-oneof}}
{oneof, [{{#x-onedata-subclasses}}{{.}}_model(),{{/x-onedata-subclasses}}]}.
{{/x-onedata-oneof}}
{{^x-onedata-oneof}}
{{#x-onedata-dictionary-value-type}}
#{ '_' => {{x-onedata-dictionary-value-type}}_model() }.
{{/x-onedata-dictionary-value-type}}
{{^x-onedata-dictionary-value-type}}
#{
{{#vars}}
{{#description}}
%% {{description}}
{{/description}}
{{#vendorExtensions}}
{{#x-discriminator}}
{{name}} => {equal, <<"{{classname}}">>}{{#hasMore}},{{/hasMore}}
{{/x-discriminator}}
{{^x-discriminator}}
{{#required}}
{{#x-onedata-datatype}}
{{name}} => {{x-onedata-datatype}}{{#hasMore}},{{/hasMore}}
{{/x-onedata-datatype}}
{{^x-onedata-datatype}}
{{name}} => {{datatype}}{{#hasMore}},{{/hasMore}}
{{/x-onedata-datatype}}
{{/required}}
{{^required}}
{{#vendorExtensions}}
{{#x-onedata-default-value}}
{{name}} => { {{datatype}}, {optional, {{x-onedata-default-value}} } }{{#hasMore}},{{/hasMore}}
{{/x-onedata-default-value}}
{{^x-onedata-default-value}}
{{#x-onedata-datatype}}
{{name}} => { {{x-onedata-datatype}}, optional }{{#hasMore}},{{/hasMore}}
{{/x-onedata-datatype}}
{{^x-onedata-datatype}}
{{name}} => { {{datatype}}, optional }{{#hasMore}},{{/hasMore}}
{{/x-onedata-datatype}}
{{/x-onedata-default-value}}
{{/vendorExtensions}}
{{/required}}
{{/x-discriminator}}
{{/vendorExtensions}}
{{/vars}}
}.
{{/x-onedata-dictionary-value-type}}
{{/x-onedata-oneof}}
{{/vendorExtensions}}
{{/model}}
{{/models}}