diff --git a/src/main/java/org/ntlab/amaryllis/server/entities/AccountJson.java b/src/main/java/org/ntlab/amaryllis/server/entities/AccountJson.java new file mode 100644 index 0000000..7edacb7 --- /dev/null +++ b/src/main/java/org/ntlab/amaryllis/server/entities/AccountJson.java @@ -0,0 +1,40 @@ +package org.ntlab.amaryllis.server.entities; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "uid", + "token" +}) +public class AccountJson { + + @JsonProperty("uid") + private String uid; + + @JsonProperty("token") + private String token; + + @JsonProperty("uid") + public String getUid() { + return uid; + } + + @JsonProperty("uid") + public void setUid(String uid) { + this.uid = uid; + } + + @JsonProperty("token") + public String getToken() { + return token; + } + + @JsonProperty("token") + public void setToken(String token) { + this.token = token; + } + +} diff --git a/src/main/java/org/ntlab/amaryllis/server/models/Accounts.java b/src/main/java/org/ntlab/amaryllis/server/models/Accounts.java index 6a21d4c..8ec0fb3 100644 --- a/src/main/java/org/ntlab/amaryllis/server/models/Accounts.java +++ b/src/main/java/org/ntlab/amaryllis/server/models/Accounts.java @@ -22,19 +22,26 @@ } public Account getAccount(String uid){ + for(Account a: accounts) { + if(a.getUid().equals(uid))return a; + } return null; } public ArrayList getList(){ return accounts; } + public void addAccount(Account account){ accounts.add(account); } - public void createAccount(String name,String password){ + + public Account createAccount(String name,String password){ Account newAccount = new Account(name, password); addAccount(newAccount); + return newAccount; } + public void removeAccount(String uid){ } diff --git a/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java b/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java index 9d0352b..396f28a 100644 --- a/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java +++ b/src/main/java/org/ntlab/amaryllis/server/resources/AccountsRest.java @@ -3,22 +3,22 @@ import com.fasterxml.jackson.annotation.*; import org.ntlab.amaryllis.server.entities.Account; +import org.ntlab.amaryllis.server.entities.AccountJson; import org.ntlab.amaryllis.server.models.Accounts; import org.ntlab.amaryllis.server.tests.Message; import org.springframework.stereotype.Component; import com.fasterxml.jackson.databind.ObjectMapper; +import java.awt.*; import java.io.IOException; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; +import javax.ws.rs.*; +import javax.ws.rs.core.MediaType; @Component @Path("/accounts") @@ -77,12 +77,14 @@ } @POST - public String createAccount(@FormParam("name") String name, @FormParam("password") String password) { - Account newAccount = new Account(name, password); - accounts.addAccount(newAccount); + @Produces(MediaType.APPLICATION_JSON) + public AccountJson createAccount(@FormParam("name") String name, @FormParam("password") String password) { + Account newAccount = accounts.createAccount(name,password); + AccountJson accountJson=new AccountJson(); ObjectMapper mapper = new ObjectMapper(); String json = ""; try { + /* @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "uid", @@ -130,13 +132,20 @@ Message message = new Message(); message.setUid(newAccount.getUid()); message.setToken(newAccount.getToken()); - json = mapper.writeValueAsString(message); + */ + + //accountJson.setToken(); + accountJson.setToken(newAccount.getToken()); + accountJson.setUid(newAccount.getUid()); + json = mapper.writeValueAsString(accountJson); + + } catch (IOException e) { e.printStackTrace(); System.out.println("failed"); } System.out.println(json); - return json; + return accountJson; } } \ No newline at end of file