kvs.hrl 1.1 KB

1234567891011121314151617181920212223242526272829
  1. -ifndef(KVS_HRL).
  2. -define(KVS_HRL, true).
  3. -define(USR_FEED, users).
  4. -define(PRD_FEED, products).
  5. -define(GRP_FEED, groups).
  6. -define(ENT_FEED, entries).
  7. -define(CMT_FEED, comments).
  8. -define(FEED(Type), case Type of user -> ?USR_FEED; product -> ?PRD_FEED; group -> ?GRP_FEED; entry-> ?ENT_FEED; comment-> ?CMT_FEED;_-> undefined end).
  9. -record(id_seq, {thing, id}).
  10. -define(CONTAINER, id, top, entries_count=0).
  11. -define(ITERATOR(Container, Guard), id, container=Container, feed_id, prev, next, feeds=[], guard=Guard).
  12. -define(ITERATOR(Container), ?ITERATOR(Container, false)).
  13. -define(CONTAINERS, [
  14. {feed, record_info(fields, feed)},
  15. {acl, record_info(fields, acl)},
  16. {entry_views, record_info(fields, entry_views)},
  17. {user_transaction, record_info(fields, user_transaction)},
  18. {user_payment, record_info(fields, user_payment)} ]).
  19. -record(container, {?CONTAINER}).
  20. -record(iterator, {?ITERATOR(undefined)}).
  21. -define(CREATE_TAB(T), store_mnesia:create_table(T, record_info(fields, T), [{storage, permanent}]) ).
  22. -endif.