Browse Source

Merge branch 'master' of ssh://git.yannweb.net:2222/cli/Chronobriq-API into fix_membership

Lou 2 years ago
parent
commit
5f4bbe3305
1 changed files with 96 additions and 1 deletions
  1. 96
    1
      README.md

+ 96
- 1
README.md View File

@@ -6,11 +6,106 @@ Ruby 3.0.1 // Rails 6.1.3.1
6 6
 Voir [cet article](https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-ubuntu-18-04) pour installer Ruby avec Rbenv, un gestionnaire de version pour Ruby.  
7 7
 Installer rails : `gem install rails -v 6.1.3.1`
8 8
 
9
+### 0. Pré-requis
10
+
11
+PostgreSQL 11 minimum et la gem associée (`pg`).
12
+
9 13
 ### 1. Installation
10 14
 1. `bundle install`
11 15
 2. `rails db:migrate` (et `rails db:seed` pour peupler la db avec des données factices, si nécessaire)
12
-3. `rails server` pour lancer un serveur local sur le port 3000
16
+3. `rails server` pour lancer un serveur local de développement sur le port 3000
13 17
 
14 18
 ### 2. Endpoints
15 19
 La commande `rails routes` fournie l'ensemble des endpoints et requêtes HTTP disponibles. L'ensemble des requêtes se font sur la base : localhost:3000/api/v1.
16 20
 
21
+## Tests
22
+
23
+Les scripts de test sont situés dans le répertoire `test`, y compris les test distants (`test/remote`).
24
+
25
+## Appel de l'API
26
+
27
+### Créer un compte utilisatrice
28
+                      
29
+`POST   /api/v1/users(.:format)      api/v1/users#create {:format=>:json}`
30
+
31
+```bash
32
+curl --header "Content-Type: application/json" -d "{\"user\" : { \"username\" : \"test\", \"password\" : \"lepwd\", \"email\" : \"iel@cli.su\" }}" -XPOST https://chronobriq-api.URL/api/v1/users 
33
+```
34
+
35
+### Obtenir un token
36
+
37
+`POST   /api/v1/tokens(.:format)  api/v1/tokens#create {:format=>:json}`
38
+
39
+```bash
40
+curl --header "Content-Type: application/json" -d "{\"user\":{\"email\":\"iel@cli.su\", \"password\":\"lepwd\"}}" -XPOST https://chronobriq-api.URL/api/v1/tokens
41
+```
42
+
43
+Un obtient une réponse du type :
44
+
45
+```
46
+{"token":"Kgt2p1ITAjfbLK4xtS8YPi44gIMWrwtagOGwK0ROEOUgrn6Jj34sqprnX2d7t7RI","email":"jules@cli.coop","username":"test"}
47
+```
48
+
49
+#### Usage
50
+
51
+Grâce au to.ken obtenu précédemment, nous pouvons récupérer des informations en le fournissant dans l'entête
52
+
53
+##### GET
54
+
55
+- Users
56
+
57
+```
58
+curl --header "Content-Type: application/json" -H "Authorization : Kgt2p1ITAjfbLK4xtS8YPi44gIMWrwtagOGwK0ROEOUgrn6Jj34sqprnX2d7t7RI" -XGET https://chronobriq-api.canaille.netlib.re/api/v1/users
59
+```
60
+
61
+- Teams
62
+
63
+```
64
+curl --header "Content-Type: application/json" -H "Authorization:  Kgt2p1ITAjfbLK4xtS8YPi44gIMWrwtagOGwK0ROEOUgrn6Jj34sqprnX2d7t7RI" -XGET https://chronobriq-api.canaille.netlib.re/api/v1/teams
65
+```
66
+
67
+## Notes
68
+
69
+Patch et delete permettent de modifier ou supprimer une donnée qui a été crée depuis cette utilisatrice, après avoir spécifié l'id du jeu de données dans l'URL
70
+
71
+### Routes
72
+
73
+|               Prefix | Verb   | URI Pattern                                                | Controller#Action                           |
74
+| -------------------- | ------ | ---------------------------------------------------------- | ------------------------------------------- |
75
+|          api_v1_users| GET    | /api/v1/users(.:format)                                    | api/v1/users#index {:format=>:json}         |
76
+|                      | POST   | /api/v1/users(.:format)                                    | api/v1/users#create {:format=>:json}        |
77
+|           api_v1_user| GET    | /api/v1/users/:id(.:format)                                | api/v1/users#show {:format=>:json}          |
78
+|                      | PATCH  | /api/v1/users/:id(.:format)                                | api/v1/users#update {:format=>:json}        |
79
+|                      | PUT    | /api/v1/users/:id(.:format)                                | api/v1/users#update {:format=>:json}        |
80
+|                      | DELETE | /api/v1/users/:id(.:format)                                | api/v1/users#destroy {:format=>:json}       |
81
+|         api_v1_tokens| POST   | /api/v1/tokens(.:format)                                   | api/v1/tokens#create {:format=>:json}       |
82
+|          api_v1_teams| GET    | /api/v1/teams(.:format)                                    | api/v1/teams#index {:format=>:json}         |
83
+|                      | POST   | /api/v1/teams(.:format)                                    | api/v1/teams#create {:format=>:json}        |
84
+|           api_v1_team| GET    | /api/v1/teams/:id(.:format)                                | api/v1/teams#show {:format=>:json}          |
85
+|                      | PATCH  | /api/v1/teams/:id(.:format)                                | api/v1/teams#update {:format=>:json}        |
86
+|                      | PUT    | /api/v1/teams/:id(.:format)                                | api/v1/teams#update {:format=>:json}        |
87
+|                      | DELETE | /api/v1/teams/:id(.:format)                                | api/v1/teams#destroy {:format=>:json}       |
88
+|    api_v1_memberships| GET    | /api/v1/memberships(.:format)                              | api/v1/memberships#index {:format=>:json}   |
89
+|                      | POST   | /api/v1/memberships(.:format)                              | api/v1/memberships#create {:format=>:json}  |
90
+|     api_v1_membership| GET    | /api/v1/memberships/:id(.:format)                          | api/v1/memberships#show {:format=>:json}    |
91
+|                      | PATCH  | /api/v1/memberships/:id(.:format)                          | api/v1/memberships#update {:format=>:json}  |
92
+|                      | PUT    | /api/v1/memberships/:id(.:format)                          | api/v1/memberships#update {:format=>:json}  |
93
+|                      | DELETE | /api/v1/memberships/:id(.:format)                          | api/v1/memberships#destroy {:format=>:json} |
94
+| api_v1_activity_tasks| GET    | /api/v1/activities/:activity_id/tasks(.:format)            | api/v1/tasks#index {:format=>:json}         |
95
+|                      | POST   | /api/v1/activities/:activity_id/tasks(.:format)            | api/v1/tasks#create {:format=>:json}       |
96
+|  api_v1_activity_task| GET    | /api/v1/activities/:activity_id/tasks/:id(.:format)        | api/v1/tasks#show {:format=>:json}         |
97
+|                      | PATCH  | /api/v1/activities/:activity_id/tasks/:id(.:format)        | api/v1/tasks#update {:format=>:json}       |
98
+|                      | PUT    | /api/v1/activities/:activity_id/tasks/:id(.:format)        | api/v1/tasks#update {:format=>:json}       |
99
+|                      | DELETE | /api/v1/activities/:activity_id/tasks/:id(.:format)        | api/v1/tasks#destroy {:format=>:json}      |
100
+|     api_v1_activities| GET    | /api/v1/activities(.:format)                               | api/v1/activities#index {:format=>:json}   |
101
+|                      | POST   | /api/v1/activities(.:format)                               | api/v1/activities#create {:format=>:json}  |
102
+|       api_v1_activity| GET    | /api/v1/activities/:id(.:format)                           | api/v1/activities#show {:format=>:json}    |
103
+|                      | PATCH  | /api/v1/activities/:id(.:format)                           | api/v1/activities#update {:format=>:json}  |
104
+|                      | PUT    | /api/v1/activities/:id(.:format)                           | api/v1/activities#update {:format=>:json}  |
105
+|                      | DELETE | /api/v1/activities/:id(.:format)                           | api/v1/activities#destroy {:format=>:json} |
106
+|          api_v1_tasks| GET    | /api/v1/tasks(.:format)                                    | api/v1/tasks#index {:format=>:json}        |
107
+|                      | POST   | /api/v1/tasks(.:format)                                    | api/v1/tasks#create {:format=>:json}       |
108
+|           api_v1_task| GET    | /api/v1/tasks/:id(.:format)                                | api/v1/tasks#show {:format=>:json}         |
109
+|                      | PATCH  | /api/v1/tasks/:id(.:format)                                | api/v1/tasks#update {:format=>:json}       |
110
+|                      | PUT    | /api/v1/tasks/:id(.:format)                                | api/v1/tasks#update {:format=>:json}       |
111
+|                      | DELETE | /api/v1/tasks/:id(.:format)                                | api/v1/tasks#destroy {:format=>:json}      |

Loading…
Cancel
Save