Collections Controller

@RestController
@RequestMapping(value = "BASE_EQUINOX_ENDPOINT + USERS_KEY + "/{" + USER_IDENTIFIER_KEY + "}/" + COLLECTIONS_KEY" )
open class CollectionsController : DefaultRefyController<I>

The CollectionsController class is useful to manage all the LinksCollection operations

Author

N7ghtm4r3 - Tecknobit

See also

EquinoxController

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard
protected open var jsonHelper: JsonHelper
Link copied to clipboard
@Autowired
protected open var linksCollectionsService: LinksCollectionsService
linksCollectionsService helper to manage the LinksCollection database operations
Link copied to clipboard
@Autowired
protected open var linksService: LinksService
linksService helper to manage the RefyLink database operations
Link copied to clipboard
protected val mantis: Mantis
Link copied to clipboard
protected open var me: T
Link copied to clipboard
Link copied to clipboard
open var resourcesProvider: ResourcesProvider
Link copied to clipboard
val RESPONSE_SUCCESSFUL_MESSAGE: String = "operation_executed_successfully_key"
Link copied to clipboard
protected open var serverProtector: ServerProtector
Link copied to clipboard
@Autowired
protected open var teamsService: TeamsService
teamsService helper to manage the Team database operations
Link copied to clipboard
protected open var userItem: I
userItem the current item requested by the user
Link copied to clipboard
protected open var usersRepository: R
Link copied to clipboard
val WRONG_PROCEDURE_MESSAGE: String = "wrong_procedure_key"

Functions

Link copied to clipboard
@PutMapping(headers = "token", path = ""/{" + COLLECTION_IDENTIFIER_KEY + "}/" + LINKS_KEY" )
open fun attachLinksToCollection(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @RequestBody payload: Map<String, Any>): String
Method to manage the links shared with the collection
Link copied to clipboard
@PostMapping(headers = "token" )
open fun create(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @RequestBody payload: Map<String, Any>): String
Method to create a new collection
Link copied to clipboard
@DeleteMapping(headers = "token", path = "/{" + COLLECTION_IDENTIFIER_KEY + "}" )
open fun delete(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String): String
Method to delete a collection
Link copied to clipboard
@PatchMapping(headers = "token", path = "/{" + COLLECTION_IDENTIFIER_KEY + "}" )
open fun edit(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @RequestBody payload: Map<String, Any>): String
Method to edit a collection
Link copied to clipboard
protected open fun failedResponse(error: String): String
Link copied to clipboard
Link copied to clipboard
@GetMapping(headers = "token", path = ""/{" + COLLECTION_IDENTIFIER_KEY + "}/" + LINKS_KEY" )
open fun <T> getCollectionLinks(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @RequestParam(name = "page", defaultValue = "0", required = false) page: Int,     @RequestParam(name = "pageSize", defaultValue = "10", required = false) pageSize: Int,     @RequestParam(name = "keywords", defaultValue = "", required = false) keywords: Set<String>): T
Method to get the list of the links shared with the collection
Link copied to clipboard
@GetMapping(headers = "token", path = ""/{" + COLLECTION_IDENTIFIER_KEY + "}/" + TEAMS_KEY" )
open fun <T> getCollectionTeams(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @RequestParam(name = "page", defaultValue = "0", required = false) page: Int,     @RequestParam(name = "pageSize", defaultValue = "10", required = false) pageSize: Int): T
Method to get the list of the teams where the collection is shared
Link copied to clipboard
@GetMapping(headers = "token", path = "/{" + COLLECTION_IDENTIFIER_KEY + "}" )
open fun <T> getItem(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String): T
Method to get a collection
Link copied to clipboard
open fun initEquinoxEnvironment(    storagePath: String,     saveMessage: String,     context: Class<out Any>,     args: Array<String>,     customSubDirectories: Array<String>)
Link copied to clipboard
protected open fun isMe(id: String, token: String): Boolean
Link copied to clipboard
protected open fun isUserNotAuthorized(userId: String, token: String, collectionId: String): Boolean
Method to get whether the user is or not authorized to operate with the collection requested
Link copied to clipboard
@GetMapping(headers = "token" )
open fun <T> list(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @RequestParam(name = "owned_only") ownedOnly: Boolean,     @RequestParam(name = "page", defaultValue = "0", required = false) page: Int,     @RequestParam(name = "pageSize", defaultValue = "10", required = false) pageSize: Int,     @RequestParam(name = "keywords", defaultValue = "", required = false) keywords: Set<String>): T
Method to get a list of collections
Link copied to clipboard
protected open fun <V> loadJsonHelper(payload: Map<String, V>)
Link copied to clipboard
@DeleteMapping(headers = "token", path = "/{" + COLLECTION_IDENTIFIER_KEY + "}/" + LINKS_KEY + "/{" + LINK_IDENTIFIER_KEY + "}" )
open fun removeLinkFromCollection(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @PathVariable(value = "link_id") linkId: String): String
Method to remove a link from a collection
Link copied to clipboard
@DeleteMapping(headers = "token", path = "/{" + COLLECTION_IDENTIFIER_KEY + "}/" + TEAMS_KEY + "/{" + TEAM_IDENTIFIER_KEY + "}" )
open fun removeTeamFromCollection(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @PathVariable(value = "team_id") teamId: String): String
Method to remove a team from a collection
Link copied to clipboard
@PutMapping(headers = "token", path = ""/{" + COLLECTION_IDENTIFIER_KEY + "}/" + TEAMS_KEY" )
open fun shareCollectionWithTeams(    @RequestHeader(value = "token") token: String,     @PathVariable(value = "user_id") userId: String,     @PathVariable(value = "collection_id") collectionId: String,     @RequestBody payload: Map<String, Any>): String
Method to manage the teams where the collection is shared
Link copied to clipboard
protected open fun successResponse(): String
protected open fun <V> successResponse(value: V): HashMap<String, V>
Link copied to clipboard
protected open fun userIsNotTheItemOwner(userId: String, token: String, itemId: String): Boolean
Method to get whether the user is or not the owner of the item requested