design

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2020 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FilterPayload = Type("FilterPayload", func() {
	Attribute("page", Integer, "Page number (1-based).")
	Attribute("pageSize", Integer, "Items per page.")
	Attribute("filter", ArrayOf(FilterProperty), "Organizations filter.")
	Attribute("sort", OrderSpec, "Sort specification.")
	Required("page", "pageSize")
})

FilterPayload Organizations filter request payload.

View Source
var FilterProperty = Type("FilterProperty", func() {
	Attribute("property", String, "Property name")
	Attribute("value", String, "Property value to match")
	Required("property", "value")
})

FilterProperty Single property filter. Holds the property name and the value to be matched for that property.

View Source
var OrderSpec = Type("OrderSpec", func() {
	Attribute("property", String, "Sort by property")
	Attribute("direction", String, "Sort order. Can be 'asc' or 'desc'.")
	Required("property", "direction")
})

OrderSpec specifies the sorting - by which property and the direction, either 'asc' (ascending) or 'desc' (descending).

View Source
var UserProfileMedia = MediaType("application/microkubes.user-profile+json", func() {
	TypeName("userProfile")
	Reference(UserProfilePayload)

	Attributes(func() {
		Attribute("userId", String, "Unique user ID")
		Attribute("fullName")
		Attribute("email")
		Attribute("company")
		Attribute("companyRegistrationNumber")
		Attribute("taxNumber")
		Attribute("createdOn", Integer, "User profile created timestamp")
		Required("userId", "createdOn")
	})

	View("default", func() {
		Attribute("userId")
		Attribute("fullName")
		Attribute("email")
		Attribute("company")
		Attribute("companyRegistrationNumber")
		Attribute("taxNumber")
		Attribute("createdOn")
	})
})

UserProfileMedia is the default media type for user-profile service

View Source
var UserProfilePageMedia = MediaType("application/microkubes.user-profile-page+json", func() {
	TypeName("UserProfilePage")
	Attributes(func() {
		Attribute("page", Integer, "Page number (1-based).")
		Attribute("pageSize", Integer, "Items per page.")
		Attribute("items", ArrayOf(UserProfileMedia), "User profile list")
	})
	View("default", func() {
		Attribute("page")
		Attribute("pageSize")
		Attribute("items")
	})
})

UserProfilePageMedia result of filter-by. One result page along with items (array of UserProfiles).

View Source
var UserProfilePayload = Type("UserProfilePayload", func() {
	Description("UserProfile data")

	Attribute("fullName", String, "Full name of the user")
	Attribute("email", String, "Email of user", func() {
		Format("email")
	})
	Attribute("company", String, "Company name")
	Attribute("companyRegistrationNumber", String, "Company registration number")
	Attribute("taxNumber", String, "Tax number")

	Required("fullName", "email")
})

UserProfilePayload is the payload specification

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL