<commit_before>package api

import org.springframework.http.HttpStatus
import org.springframework.security.access.annotation.Secured
import pixnfit.DynamicDataRestfulController
import pixnfit.User

/**
 * On n'a que le droit que de voir la fiche pour un utilisateur donné,
 * ou de mettre à jour la fiche d'un utilisateur,
 * à condition d'être loggué en tant que cet utilisateur
 */
@Secured("hasRole('ROLE_USER')")
class UserRestController extends DynamicDataRestfulController {

    UserRestController() {
        super(User)
    }

    def index(Integer max) {
        // Interdit de lister les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def save() {
        // Interdit de créer les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def update() {
        // Interdit de mettre à jour les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def delete() {
        // Interdit de supprimer les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def incomingMessages() {
        User user = queryForResource()
    }
}<commit_msg>Implémentation des méthodes de l'API pour User<commit_after>package api

import grails.plugin.springsecurity.SpringSecurityService
import org.springframework.http.HttpStatus
import org.springframework.security.access.annotation.Secured
import pixnfit.DynamicDataRestfulController
import pixnfit.User

/**
 * On n'a que le droit que de voir la fiche pour un utilisateur donné,
 * ou de mettre à jour la fiche d'un utilisateur,
 * à condition d'être loggué en tant que cet utilisateur
 */
@Secured("hasRole('ROLE_USER')")
class UserRestController extends DynamicDataRestfulController {

    SpringSecurityService springSecurityService

    UserRestController() {
        super(User)
    }

    def index(Integer max) {
        // Interdit de lister les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def save() {
        // Interdit de créer les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def update() {
        // Interdit de mettre à jour les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def delete() {
        // Interdit de supprimer les utilisateurs depuis le webservice
        render status: HttpStatus.FORBIDDEN
    }

    def incomingMessages() {
        User user = User.get(params.userRestId)
        respond user.incomingMessages.toArray()
    }

    def outgoingMessages() {
        User user = User.get(params.userRestId)
        respond user.outgoingMessages.toArray()
    }

    def posts() {
        User user = User.get(params.userRestId)
        respond user.posts.toArray()
    }

    def postComments() {
        User user = User.get(params.userRestId)
        respond user.postComments.toArray()
    }

    def postVotes() {
        User user = User.get(params.userRestId)
        respond user.postVotes.toArray()
    }

    def followers() {
        User user = User.get(params.userRestId)
        respond user.getFollowersAsUserSet().toArray()
    }

    def follow() {
        User user = User.get(params.userRestId)
        user.addToFollowers(springSecurityService.currentUser as User)
        user.save()
        respond user.getFollowersAsUserSet().toArray()
    }

    def unfollow() {
        User user = User.get(params.userRestId)
        user.removeFromFollowers(springSecurityService.currentUser as User)
        user.save()
        respond user.getFollowersAsUserSet().toArray()
    }

    def followedUsers() {
        User user = User.get(params.userRestId)
        respond user.getFollowedUsersAsUserSet().toArray()
    }

    def blacklistedUsers() {
        User user = User.get(params.userRestId)
        respond user.getBlacklistedUsersAsUserSet().toArray()
    }

    def blacklistedBy() {
        User user = User.get(params.userRestId)
        respond user.getBlacklistingUsersAsUserSet().toArray()
    }

    def blacklist() {
        User user = (User) springSecurityService.currentUser
        User userToBlacklist = User.get(params.userRestId)
        user.addToBlacklistedUsers(userToBlacklist)
        user.save()
        respond user.getBlacklistedUsersAsUserSet().toArray()
    }

    def unblacklist() {
        User user = (User) springSecurityService.currentUser
        User userToUnblacklist = User.get(params.userRestId)
        user.removeFromBlacklistedUsers(userToUnblacklist)
        user.save()
        respond user.getBlacklistedUsersAsUserSet().toArray()
    }
}
{'fraction_non_alphanumeric': 0.081702859600086, 'fraction_numerical': 0.0, 'mean_word_length': 2.8541839270919636, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3828852', 'n_tokens_mistral': 1346, 'n_tokens_neox': 1317, 'n_words': 334}