users.erl 682 B

123456789101112131415
  1. -module(users).
  2. -compile({parse_transform, rest}).
  3. -record(user, {id,cn,name,type}).
  4. -export([init/0, populate/1, exists/1, get/0, get/1, post/1, delete/1]).
  5. -rest_record(user).
  6. new() -> #user{}.
  7. init() -> ets:new(users, [public, named_table, {keypos, #user.id}]).
  8. populate(Users) -> ets:insert(users, Users).
  9. exists(Id) -> X = ets:member(users, binary_to_list(Id)), io:format("Member: ~p~n",[X]), X.
  10. get() -> ets:tab2list(users).
  11. get(Id) -> #user{id=Id}.
  12. delete(Id) -> ets:delete(users, binary_to_list(Id)).
  13. post(#user{} = User) -> ets:insert(users, User);
  14. post(Data) -> post(from_json(Data, #user{})).