Jim Schubert 25036e48d5
[scala] Support for Set when array has uniqueItems=true (#4926)
* [scala] Set support for unique arrays

This includes and builds upon community contribution for better Set support in Scala.
It makes property + model work as expected with Set and default values
across all Scala generators. Included tests to account for new changes.

This also reverts the community contribution to remove ListBuffer
imports and change the default for array to ListBuffer. Users should use
the instantiation types map to modify the desired array instantiation
type. Any new default should target a new minor release after community
discussion, as it affects all existing SDKs generated with
openapi-generator.

* [scala] Improve default handling of monadic collection type

* [scala] Regenerate samples

* Update ScalaPlayFrameworkServerCodegen.java

Scala Play defaulted to List and should continue to do so.

Co-authored-by: František Kocun <frantisek.kocun@gmail.com>
2020-01-05 09:20:56 -05:00

59 lines
1.5 KiB
Scala

package api
import model.User
@javax.annotation.Generated(value = Array("org.openapitools.codegen.languages.ScalaPlayFrameworkServerCodegen"), date = "2020-01-04T23:10:22.106-05:00[America/New_York]")
trait UserApi {
/**
* Create user
* This can only be done by the logged in user.
* @param body Created user object
*/
def createUser(body: User): Unit
/**
* Creates list of users with given input array
* @param body List of user object
*/
def createUsersWithArrayInput(body: List[User]): Unit
/**
* Creates list of users with given input array
* @param body List of user object
*/
def createUsersWithListInput(body: List[User]): Unit
/**
* Delete user
* This can only be done by the logged in user.
* @param username The name that needs to be deleted
*/
def deleteUser(username: String): Unit
/**
* Get user by user name
* @param username The name that needs to be fetched. Use user1 for testing.
*/
def getUserByName(username: String): User
/**
* Logs user into the system
* @param username The user name for login
* @param password The password for login in clear text
*/
def loginUser(username: String, password: String): String
/**
* Logs out current logged in user session
*/
def logoutUser(): Unit
/**
* Updated user
* This can only be done by the logged in user.
* @param username name that need to be deleted
* @param body Updated user object
*/
def updateUser(username: String, body: User): Unit
}