<commit_before># pixnfit
PixnFit project made with Grails

2 parts in this document :
 * [API Documentation](#API) : Documentation made for API users.
 * [Contributor Documentation](#Contrib) : Documentation made for developpers aiming to edit and commit code for this project.

<a name="API"></a>
# API Documentation

 **All calls must be made using HTTP BASIC Authentication.**


## Dynamic Datas

| Method | URL | Description |
|---|---|---|
| | **Authentication**  |  |
| POST | [/api/v1/auth](doc/api/auth.md#login) | Test a login/password |
| | **Image**  | |
| GET | [/api/v1/images/:id](doc/api/images.md#show) | Gets an image by its Id |
| POST | [/api/v1/images](doc/api/images.md#save) | Creates a new image |
| PUT | [/api/v1/images/:id](doc/api/images.md#update) | Updates an image |
| DELETE | [/api/v1/images/:id](doc/api/images.md#delete) | Deletes an image |
| GET | [/api/v1/images/:id/data](doc/api/images.md#data) | Gets an image data by its Id|
| | **Message**  | |
| GET | [/api/v1/messages/:id](doc/api/messages#show) | Gets a message by its Id |
| POST | [/api/v1/messages](doc/api/messages#save) | Creates a new message |
| | **Post**  | |
| POST | [/api/v1/posts](doc/api/posts.md#save) | Creates a new post |
| GET | [/api/v1/posts/:id](doc/api/posts.md#show) | Gets a post by its Id |
| PUT | [/api/v1/posts/:id](doc/api/posts.md#update) | Updates a post |
| DELETE | [/api/v1/posts/:id](doc/api/posts.md#delete) | Deletes a post |
| GET | [/api/v1/posts/:id/me](doc/api/posts.md#me) | Gets user-related information about a post |
| POST | [/api/v1/posts/:id/favorite](doc/api/posts.md#addToFavorite) | Adds a post to favorite list |
| DELETE | [/api/v1/posts/:id/favorite](doc/api/posts.md#removeFromFavorite) | Removes a post from favorite list |
| POST | [/api/v1/posts/:id/images](doc/api/posts.md#addImage) | Adds an existing image to a post |
| GET | [/api/v1/posts/:id/comments](doc/api/posts.md#comments) | Gets comments on a post |
| POST | [/api/v1/posts/:id/comments](doc/api/posts.md#addComment) | Creates a new comment on a post |
| GET | [/api/v1/posts/:id/votes](doc/api/posts.md#votes) | Gets votes on a post |
| POST | [/api/v1/posts/:id/votes](doc/api/posts.md#addVote) | Creates a vote on a post |
| GET | [/api/v1/posts/help](doc/api/posts.md#help) | Gets posts needing help and votes |
| GET | [/api/v1/posts/featured](doc/api/posts.md#featured) | Gets featured posts |
| | **PostComment**  | |
| GET | [/api/v1/postComments/:id](doc/api/postComments.md#show) | Gets a comment by its Id |
| GET | [/api/v1/postComments/:id/votes](doc/api/postComments.md#votes) | Gets votes on a comment |
| POST | [/api/v1/postComments/:id/votes](doc/api/postComments.md#addVote) | Creates a vote on a comment |
| | **User**  | **Creation process** |
| POST | [/api/v1/user](doc/api/users.md#save) | Creates a new user (step 1) |
| POST | [/api/v1/user/:id/initImage](doc/api/users.md#initImage) | Upload User Image (step 2) |
| POST | [/api/v1/user/:id/initProfile](doc/api/users.md#initProfile) | Creates a user profile (step 3) |
| | **User** | **Other methods** |
| GET | [/api/v1/user/:id](doc/api/users.md#show) | Gets a user by its Id |
| PUT | [/api/v1/user/:id](doc/api/users.md#update) | Updates a user |
| GET | [/api/v1/user/:id/incomingMessages](doc/api/users.md#incomingMessages) | Gets incoming messages for a user |
| GET | [/api/v1/user/:id/outgoingMessages](doc/api/users.md#outgoingMessages) | Gets outgoing messages for a user |
| GET | [/api/v1/user/:id/posts](doc/api/users.md#posts) | Gets all posts created by this user |
| GET | [/api/v1/user/:id/postComments](doc/api/users.md#comments) | Gets all comments created by this user |
| GET | [/api/v1/user/:id/postVotes](doc/api/users.md#votes) | Gets all votes created by this user |
| GET | [/api/v1/user/:id/followers](doc/api/users.md#followers) | Gets all user's followers |
| POST | [/api/v1/user/:id/follow](doc/api/users.md#follow) | Follow this user |
| DELETE | [/api/v1/user/:id/follow](doc/api/users.md#unfollow) | Unfollow this user |
| GET | [/api/v1/user/:id/followedUsers](doc/api/users.md#followedUsers) | Gets users followed by this user |
| GET | [/api/v1/user/:id/blacklistedUsers](doc/api/users.md#blacklistedUsers) | Gets users blaclisted by this user |
| GET | [/api/v1/user/:id/blacklistedBy](doc/api/users.md#blacklistedBy) | Gets users that blacklisted this user |
| POST | [/api/v1/user/:id/blacklist](doc/api/users.md#blacklist) | Blacklist this user |
| DELETE | [/api/v1/user/:id/blacklist](doc/api/users.md#unblacklist) | Un-blacklist this user |
| POST | [/api/v1/user/:id/image](doc/api/users.md#image) | Updates User image |


## Static Datas

| Method | URL | Description |
|---|---|---|
| |  **BodyType**  | |
| GET | [/api/v1/bodyTypes](doc/api/bodyTypes.md#index) | Gets all body types |
| GET | [/api/v1/bodyTypes/:id](doc/api/bodyTypes.md#show) | Gets a body type by ts Id|
| |  **Country**  | |
| GET | [/api/v1/countries](doc/api/countries.md#index) | Gets all countries |
| GET | [/api/v1/countries/:id](doc/api/countries.md#show) | Gets a country by ts Id |
| |  **FashionStyle**  | |
| GET | [/api/v1/fashionStyles](doc/api/fashionStyles.md#index) | Gets all fashion styles |
| GET | [/api/v1/fashionStyles/:id](doc/api/fashionStyles.md#show) | Gets a fashion style by its Id|
| |  **Gender**  | |<commit_msg>Ajout de users/me dans l'API<commit_after># pixnfit
PixnFit project made with Grails

2 parts in this document :
 * [API Documentation](#API) : Documentation made for API users.
 * [Contributor Documentation](#Contrib) : Documentation made for developpers aiming to edit and commit code for this project.

<a name="API"></a>
# API Documentation

 **All calls must be made using HTTP BASIC Authentication.**


## Dynamic Datas

| Method | URL | Description |
|---|---|---|
| | **Authentication**  |  |
| POST | [/api/v1/auth](doc/api/auth.md#login) | Test a login/password |
| | **Image**  | |
| GET | [/api/v1/images/:id](doc/api/images.md#show) | Gets an image by its Id |
| POST | [/api/v1/images](doc/api/images.md#save) | Creates a new image |
| PUT | [/api/v1/images/:id](doc/api/images.md#update) | Updates an image |
| DELETE | [/api/v1/images/:id](doc/api/images.md#delete) | Deletes an image |
| GET | [/api/v1/images/:id/data](doc/api/images.md#data) | Gets an image data by its Id|
| | **Message**  | |
| GET | [/api/v1/messages/:id](doc/api/messages#show) | Gets a message by its Id |
| POST | [/api/v1/messages](doc/api/messages#save) | Creates a new message |
| | **Post**  | |
| POST | [/api/v1/posts](doc/api/posts.md#save) | Creates a new post |
| GET | [/api/v1/posts/:id](doc/api/posts.md#show) | Gets a post by its Id |
| PUT | [/api/v1/posts/:id](doc/api/posts.md#update) | Updates a post |
| DELETE | [/api/v1/posts/:id](doc/api/posts.md#delete) | Deletes a post |
| GET | [/api/v1/posts/:id/me](doc/api/posts.md#me) | Gets user-related information about a post |
| POST | [/api/v1/posts/:id/favorite](doc/api/posts.md#addToFavorite) | Adds a post to favorite list |
| DELETE | [/api/v1/posts/:id/favorite](doc/api/posts.md#removeFromFavorite) | Removes a post from favorite list |
| POST | [/api/v1/posts/:id/images](doc/api/posts.md#addImage) | Adds an existing image to a post |
| GET | [/api/v1/posts/:id/comments](doc/api/posts.md#comments) | Gets comments on a post |
| POST | [/api/v1/posts/:id/comments](doc/api/posts.md#addComment) | Creates a new comment on a post |
| GET | [/api/v1/posts/:id/votes](doc/api/posts.md#votes) | Gets votes on a post |
| POST | [/api/v1/posts/:id/votes](doc/api/posts.md#addVote) | Creates a vote on a post |
| GET | [/api/v1/posts/help](doc/api/posts.md#help) | Gets posts needing help and votes |
| GET | [/api/v1/posts/featured](doc/api/posts.md#featured) | Gets featured posts |
| | **PostComment**  | |
| GET | [/api/v1/postComments/:id](doc/api/postComments.md#show) | Gets a comment by its Id |
| GET | [/api/v1/postComments/:id/votes](doc/api/postComments.md#votes) | Gets votes on a comment |
| POST | [/api/v1/postComments/:id/votes](doc/api/postComments.md#addVote) | Creates a vote on a comment |
| | **User**  | **Creation process** |
| POST | [/api/v1/users](doc/api/users.md#save) | Creates a new user (step 1) |
| POST | [/api/v1/users/:id/initImage](doc/api/users.md#initImage) | Upload User Image (step 2) |
| POST | [/api/v1/users/:id/initProfile](doc/api/users.md#initProfile) | Creates a user profile (step 3) |
| | **User** | **Other methods** |
| GET | [/api/v1/users/me](doc/api/users.md#me) | Gets authenticated user informations |
| GET | [/api/v1/users/:id](doc/api/users.md#show) | Gets a user by its Id |
| PUT | [/api/v1/users/:id](doc/api/users.md#update) | Updates a user |
| GET | [/api/v1/users/:id/incomingMessages](doc/api/users.md#incomingMessages) | Gets incoming messages for a user |
| GET | [/api/v1/users/:id/outgoingMessages](doc/api/users.md#outgoingMessages) | Gets outgoing messages for a user |
| GET | [/api/v1/users/:id/posts](doc/api/users.md#posts) | Gets all posts created by this user |
| GET | [/api/v1/users/:id/postComments](doc/api/users.md#comments) | Gets all comments created by this user |
| GET | [/api/v1/users/:id/postVotes](doc/api/users.md#votes) | Gets all votes created by this user |
| GET | [/api/v1/users/:id/followers](doc/api/users.md#followers) | Gets all user's followers |
| POST | [/api/v1/users/:id/follow](doc/api/users.md#follow) | Follow this user |
| DELETE | [/api/v1/users/:id/follow](doc/api/users.md#unfollow) | Unfollow this user |
| GET | [/api/v1/users/:id/followedUsers](doc/api/users.md#followedUsers) | Gets users followed by this user |
| GET | [/api/v1/users/:id/blacklistedUsers](doc/api/users.md#blacklistedUsers) | Gets users blaclisted by this user |
| GET | [/api/v1/users/:id/blacklistedBy](doc/api/users.md#blacklistedBy) | Gets users that blacklisted this user |
| POST | [/api/v1/users/:id/blacklist](doc/api/users.md#blacklist) | Blacklist this user |
| DELETE | [/api/v1/users/:id/blacklist](doc/api/users.md#unblacklist) | Un-blacklist this user |
| POST | [/api/v1/users/:id/image](doc/api/users.md#image) | Updates User image |


## Static Datas

| Method | URL | Description |
|---|---|---|
| |  **BodyType**  | |
| GET | [/api/v1/bodyTypes](doc/api/bodyTypes.md#index) | Gets all body types |
| GET | [/api/v1/bodyTypes/:id](doc/api/bodyTypes.md#show) | Gets a body type by ts Id|
| |  **Country**  | |
| GET | [/api/v1/countries](doc/api/countries.md#index) | Gets all countries |
| GET | [/api/v1/countries/:id](doc/api/countries.md#show) | Gets a country by ts Id |
| |  **FashionStyle**  | |
| GET | [/api/v1/fashionStyles](doc/api/fashionStyles.md#index) | Gets all fashion styles |
| GET | [/api/v1/fashionStyles/:id](doc/api/fashionStyles.md#show) | Gets a fashion style by its Id|
| |  **Gender**  | |
{'fraction_non_alphanumeric': 0.1927866432985887, 'fraction_numerical': 0.0100544230237063, 'mean_word_length': 3.8684328693309387, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '695744', 'n_tokens_mistral': 4153, 'n_tokens_neox': 4151, 'n_words': 860}