}
ActiveRecord::Base.descendants.reject(&:abstract_class?).each do |k|
+ next if k == ApiClientAuthorization
+ next if k == ApiClient
object_properties = {}
k.columns.
select { |col| col.name != 'id' }.
},
items: {
type: "array",
- description: "The list of #{k.to_s.pluralize}."
+ description: "The list of #{k.to_s.pluralize}.",
+ items: {
+ "$ref" => k.to_s
+ }
},
next_link: {
type: "string",
id: "orvos.#{k.to_s.underscore.pluralize}.get",
path: "#{k.to_s.underscore.pluralize}/{uuid}",
httpMethod: "GET",
- description: "Gets a #{k.to_s}'s metadata by ID.",
+ description: "Gets a #{k.to_s}'s metadata by UUID.",
parameters: {
uuid: {
type: "string",
- description: "The ID for the #{k.to_s} in question.",
+ description: "The UUID of the #{k.to_s} in question.",
required: true,
location: "path"
}
}
},
response: {
- "$ref" => "#{k.to_s.pluralize}List"
+ "$ref" => "#{k.to_s}List"
},
scopes: [
"https://api.clinicalfuture.com/auth/orvos",
"https://api.clinicalfuture.com/auth/orvos.readonly"
]
+ },
+ create: {
+ id: "orvos.#{k.to_s.underscore.pluralize}.create",
+ path: "#{k.to_s.underscore.pluralize}",
+ httpMethod: "POST",
+ description: "Create a new #{k.to_s}.",
+ parameters: {
+ k.to_s.underscore => {
+ type: "object",
+ required: true,
+ location: "query",
+ properties: object_properties
+ }
+ },
+ request: {
+ "$ref" => k.to_s
+ },
+ response: {
+ "$ref" => k.to_s
+ },
+ scopes: [
+ "https://api.clinicalfuture.com/auth/orvos"
+ ]
+ },
+ update: {
+ id: "orvos.#{k.to_s.underscore.pluralize}.update",
+ path: "#{k.to_s.underscore.pluralize}/{uuid}",
+ httpMethod: "PUT",
+ description: "Update attributes of an existing #{k.to_s}.",
+ parameters: {
+ uuid: {
+ type: "string",
+ description: "The UUID of the #{k.to_s} in question.",
+ required: true,
+ location: "path"
+ },
+ k.to_s.underscore => {
+ type: "object",
+ required: true,
+ location: "query",
+ properties: object_properties
+ }
+ },
+ request: {
+ "$ref" => k.to_s
+ },
+ response: {
+ "$ref" => k.to_s
+ },
+ scopes: [
+ "https://api.clinicalfuture.com/auth/orvos"
+ ]
+ },
+ delete: {
+ id: "orvos.#{k.to_s.underscore.pluralize}.delete",
+ path: "#{k.to_s.underscore.pluralize}/{uuid}",
+ httpMethod: "DELETE",
+ description: "Delete an existing #{k.to_s}.",
+ parameters: {
+ uuid: {
+ type: "string",
+ description: "The UUID of the #{k.to_s} in question.",
+ required: true,
+ location: "path"
+ }
+ },
+ response: {
+ "$ref" => k.to_s
+ },
+ scopes: [
+ "https://api.clinicalfuture.com/auth/orvos"
+ ]
}
}
}