diff --git a/apps/roster/priv/macbert/Model/FakeNumbers.swift b/apps/roster/priv/macbert/Model/FakeNumbers.swift new file mode 100644 index 0000000000000000000000000000000000000000..4d959be0d16da1f12891833260ba63850f7110d8 --- /dev/null +++ b/apps/roster/priv/macbert/Model/FakeNumbers.swift @@ -0,0 +1,5 @@ + +class FakeNumbers { + var phone: String? + var created: Int64? +} \ No newline at end of file diff --git a/apps/roster/priv/macbert/Model/Presence.swift b/apps/roster/priv/macbert/Model/Presence.swift new file mode 100644 index 0000000000000000000000000000000000000000..a23bb051f5dc7e908b1542e5f9e7dc43d7b18f0a --- /dev/null +++ b/apps/roster/priv/macbert/Model/Presence.swift @@ -0,0 +1,5 @@ + +class Presence { + var uid: String? + var status: AnyObject? +} \ No newline at end of file diff --git a/apps/roster/priv/macbert/Model/cx.swift b/apps/roster/priv/macbert/Model/cx.swift new file mode 100644 index 0000000000000000000000000000000000000000..d9a47de8b8b8c0d75f6814830a5009c0bba2dc00 --- /dev/null +++ b/apps/roster/priv/macbert/Model/cx.swift @@ -0,0 +1,17 @@ + +class cx { + var handlers: [handler]? + var actions: [AnyObject]? + var req: AnyObject? + var module: StringAtom? + var lang: StringAtom? + var path: String? + var session: String? + var formatter: AnyObject? + var params: [AnyObject]? + var node: StringAtom? + var client_pid: AnyObject? + var state: AnyObject? + var from: String? + var vsn: String? +} \ No newline at end of file diff --git a/apps/roster/priv/macbert/Model/load.swift b/apps/roster/priv/macbert/Model/load.swift new file mode 100644 index 0000000000000000000000000000000000000000..a9edca680ca54b24b517189cb4a67a1b50416dd2 --- /dev/null +++ b/apps/roster/priv/macbert/Model/load.swift @@ -0,0 +1,4 @@ + +class load { + var id: Int64? +} \ No newline at end of file diff --git a/apps/roster/priv/macbert/Spec/FakeNumbers_Spec.swift b/apps/roster/priv/macbert/Spec/FakeNumbers_Spec.swift new file mode 100644 index 0000000000000000000000000000000000000000..14e4134afd6b5da9fa6be7dc5776e598cbe9aeaa --- /dev/null +++ b/apps/roster/priv/macbert/Spec/FakeNumbers_Spec.swift @@ -0,0 +1,8 @@ +func get_FakeNumbers() -> Model { + return Model(value:Tuple(name:"FakeNumbers",body:[ + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Binary())])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Number())]))]))} diff --git a/apps/roster/priv/macbert/Spec/Presence_Spec.swift b/apps/roster/priv/macbert/Spec/Presence_Spec.swift new file mode 100644 index 0000000000000000000000000000000000000000..e058eefe1b8e2f2eb187d2e779e1f35f9f3afb97 --- /dev/null +++ b/apps/roster/priv/macbert/Spec/Presence_Spec.swift @@ -0,0 +1,8 @@ +func get_Presence() -> Model { + return Model(value:Tuple(name:"Presence",body:[ + Model(value:Binary()), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Atom(constant:"offline")), + Model(value:Atom(constant:"online")), + Model(value:Binary())]))]))} diff --git a/apps/roster/priv/macbert/Spec/cx_Spec.swift b/apps/roster/priv/macbert/Spec/cx_Spec.swift new file mode 100644 index 0000000000000000000000000000000000000000..20354a853771f1384f0197ad0ea7219a8b25e931 --- /dev/null +++ b/apps/roster/priv/macbert/Spec/cx_Spec.swift @@ -0,0 +1,40 @@ +func get_cx() -> Model { + return Model(value:Tuple(name:"cx",body:[ + Model(value:List(constant:nil,model:get_handler())), + Model(value:List(constant:nil, model:Model(value:Tuple()))), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Chain(types:[Model(value:Tuple()),Model(value:Atom()),Model(value:Binary()),Model(value:Number()),Model(value:List(constant:""))]))])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Atom())])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Atom())])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Binary())])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Binary())])), + Model(value:Chain(types:[ + Model(value:Atom(constant:"bert")), + Model(value:Atom(constant:"json"))])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:List(constant:nil, model:Model(value:Tuple())))])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Atom())])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Chain(types:[Model(value:Tuple()),Model(value:Atom()),Model(value:Binary()),Model(value:Number()),Model(value:List(constant:""))]))])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Chain(types:[Model(value:Tuple()),Model(value:Atom()),Model(value:Binary()),Model(value:Number()),Model(value:List(constant:""))]))])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Binary())])), + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Binary())]))]))} diff --git a/apps/roster/priv/macbert/Spec/load_Spec.swift b/apps/roster/priv/macbert/Spec/load_Spec.swift new file mode 100644 index 0000000000000000000000000000000000000000..9fc939a4d12b53b6e4489193ba24da8ae4fc39e3 --- /dev/null +++ b/apps/roster/priv/macbert/Spec/load_Spec.swift @@ -0,0 +1,5 @@ +func get_load() -> Model { + return Model(value:Tuple(name:"load",body:[ + Model(value:Chain(types:[ + Model(value:List(constant:"")), + Model(value:Number())]))]))} diff --git a/apps/roster/src/protocol/roster_link.erl b/apps/roster/src/protocol/roster_link.erl index 74be0db6f81a1f65ddfe76acb742ad56bdd4cb5c..615c8defb5563bcc6d85c5572be554caf535b442 100644 --- a/apps/roster/src/protocol/roster_link.erl +++ b/apps/roster/src/protocol/roster_link.erl @@ -4,38 +4,30 @@ -include_lib("roster/include/static/roster_var.hrl"). -include_lib("roster/include/static/main_text.hrl"). -include_lib("n2o/include/n2o.hrl"). + +-import(lists, [map/2, member/2, keydelete/3, keymember/3, keystore/4, keyreplace/4]). + -compile(export_all). +% ====================================== +% API +% ====================================== info(#'Link'{id = LinkId, type = group, status = join = LStatus} = RequestData, Req, #cx{params = ClientId} = State) when LinkId /= [] -> roster:info(?MODULE, "~p:Link/~p:~p", [ClientId, LStatus, RequestData]), -Res = case get_room_by_link_Id(LinkId) of - #ok{code = #'Room'{id = RoomId} = Room}-> - #'Member'{id = MemberId, reader = MemberReader} = - Member = case roster:muc_member(ClientId, RoomId) of - #'Member'{} = M -> M; - _ -> - PhoneID = roster:phone_id(ClientId), - Member0 = #'Member'{ - feed_id = #muc{name = RoomId}, - phone_id = PhoneID, - reader = 0, update = 0, - presence = roster:is_online(PhoneID), - status = member}, - #ok{code = Member1} = roster:to_member(PhoneID), - roster:patch_member(Member0, Member1) - end, - Messages = case roster:member_lastmsg(Member) of - {error, _} -> []; - {_, LM} -> LM - end, + Res = case get_room_by_link_id(LinkId) of + #ok{code = #'Room'{id = RoomId} = Room} -> + #'Member'{id = MemberId, reader = MemberReader} = + Member = build_membership_card(ClientId, RoomId), + Messages = member_last_messages(Member), {UnreadMsg, LastMsg, _} = roster:unread_msg({'Message', Messages}, MemberReader, MemberId), {#'Member'{}, [], #'Room'{} = Room1} = roster:add_member(Room, Member, {no_muc_message, Room#'Room'.readers}), {As, Ms} = roster:split_members(roster:members(#muc{name = Room1#'Room'.id}, presence)), - roster:reader_cache(Room1#'Room'{status = join, last_msg = LastMsg, unread = UnreadMsg, members = Ms, admins = As}); - #error{code = not_found} = Err -> Err - end, + #'Room'{} = Room2 = roster:reader_cache(Room1#'Room'{status = join, last_msg = LastMsg, unread = UnreadMsg, members = Ms, admins = As}), + ok_code(Room2); + #error{code = not_found} = Err -> Err + end, roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; @@ -43,12 +35,13 @@ info(#'Link'{id = LinkId, name = RoomId, type = group, status = update = LStatus Req, #cx{params = ClientId} = State) when RoomId /= [], LinkId /= [] -> roster:info(?MODULE, "~p:Link/~p:~p", [ClientId, LStatus, RequestData]), Res = case roster:muc_member(ClientId, RoomId) of - #'Member'{status = admin} = M-> - update_link(RoomId, RequestData); - #'Member'{status = member} -> - error_code(permission_denied); - _-> - error_code(invalide_data) + #'Member'{status = Status} when + Status == owner; Status == admin -> + update_link(RoomId, RequestData); + #'Member'{status = member} -> + error_code(permission_denied); + _ -> + error_code(invalid_data) end, roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; @@ -56,71 +49,129 @@ info(#'Link'{id = LinkId, name = RoomId, type = group, status = update = LStatus info(#'Link'{id = LinkId, type = group, status = get = LStatus} = RequestData, Req, #cx{params = ClientId} = State) when LinkId /= [] -> roster:info(?MODULE, "~p:Link/~p:~p", [ClientId, LStatus, RequestData]), - Res = case get_room_by_link_Id(LinkId) of - #ok{code = #'Room'{id = RoomId} = Room } -> #ok{code = Room#'Room'{status = info}}; - #error{code = not_found} = Err -> Err - end, + Res = case get_room_by_link_id(LinkId) of + #ok{code = #'Room'{} = Room} -> + #ok{code = Room#'Room'{status = info}}; + #error{code = not_found} = Err -> Err + end, roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; -info(#'Link'{status = delete = LStatus} = RequestData, Req, #cx{params = ClientId} = State) -> +info(#'Link'{type = group, status = delete = LStatus} = RequestData, + Req, #cx{params = ClientId} = State) -> roster:info(?MODULE, "~p:Link/~p:~p", [ClientId, LStatus, RequestData]), + % Res = delete_link(ClientId, RequestData), Res = error_code(permission_denied), roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; info(#'Link'{} = RequestData, Req, #cx{params = ClientId} = State) -> roster:info(?MODULE, "~p:Link/unknown:~p", [ClientId, RequestData]), - {reply, {bert, io_error_code(invalid_data)}, Req, State}. + {reply, {bert, io_error(invalid_data)}, Req, State}. +% ====================================== +% Helper functions +% ====================================== -gen_link(RoomId)-> +gen_link(RoomId) -> TmpLinkId = hash(RoomId), LinkId = case kvs:get('Link', TmpLinkId) of - #ok{code = #'Link'{id = TmpLinkId}}-> gen_link(RoomId); - #error{code = not_found} -> TmpLinkId - end, - -#'Link'{ + #ok{code = #'Link'{id = TmpLinkId}} -> gen_link(RoomId); + #error{code = not_found} -> TmpLinkId + end, + + #'Link'{ % id = <>, id = LinkId, name = RoomId, - type = group + type = group, + status = get }. -update_link(RoomId, #'Link'{id = LinkId} = Link) -> - Res = case kvs:get('Room', RoomId) of +update_link(#'Link'{name = RoomId} = Link) -> + update_link(RoomId, Link). +update_link(RoomId, #'Link'{id = LinkId}) -> + case kvs:get('Room', RoomId) of #ok{code = #'Room'{links = Links0} = Room} -> - NewLink = gen_link(RoomId), - % Links1 = lists:keyreplace(LinkId, #'Link'.id, Links0, NewLink), - ok = kvs:put(Room#'Room'{links = [NewLink]}), - ok = kvs:delete('Link', LinkId), - ok = kvs:put(NewLink), - NewLink; - #error{code = not_found} = Err -> Err - end, - Res. + case keymember(LinkId, #'Link'.id, Links0) of + true -> + NewLink = gen_link(RoomId), + Links1 = keystore(LinkId, #'Link'.id, Links0, NewLink), + ok = kvs:put(Room#'Room'{links = Links1}), + ok = kvs:delete('Link', LinkId), + ok = kvs:put(NewLink), + ok_code(NewLink); + false -> #error{code = invalid_data} + end; + #error{code = not_found} = Err -> Err + end. + +delete_link(ClientId, #'Link'{id = LinkId, name = RoomId}) -> + map( + fun(#'Member'{status = member}) -> + error_code(permission_denied); + (#'Member'{status = Status}) when + Status == owner; Status == admin -> + case kvs:get('Room', RoomId) of + #ok{code = #'Room'{id = RoomId, links = Links} = Room} -> + ok = kvs:put(Room#'Room'{links = keydelete(LinkId, #'Link'.id, Links)}), + ok = kvs:delete('Link', LinkId); + #error{code = not_found} = Err -> Err + end; + (_) -> error_code(invalid_data) + end, roster:muc_member(ClientId, RoomId)). -purge_link(RoomId)-> - [kvs:delete('Link', Lid) || #'Link'{id = Lid,name = RoomId}<- kvs:all('Link')], +purge_room_links(RoomId) -> + %% TODO: Improve error handling + case kvs:get('Room', RoomId) of + #ok{code = #'Room'{links = Links}} when + is_list(Links), Links /= [] -> + [kvs:delete('Link', Lid) || #'Link'{id = Lid, name = RoomId} <- Links]; + _ -> [] + end, ok. hash(Data) -> {_, <>} = roster:gen_token([], Data), Hash. -get_room_by_link_Id(<>)-> - get_room_by_link_Id(LinkId); -get_room_by_link_Id(Id) -> - case kvs:get('Link',Id) of - #ok{code = #'Link'{name = RoomId}}-> - case kvs:get('Room',RoomId) of + +get_room_by_link_id(<>) -> + get_room_by_link_id(LinkId); +get_room_by_link_id(Id) -> + case kvs:get('Link', Id) of + #ok{code = #'Link'{name = RoomId}} -> + case kvs:get('Room', RoomId) of #ok{code = #'Room'{}} = Ok -> Ok; #error{code = not_found} = Err -> Err end; #error{code = not_found} = Err -> Err - end. -io_error_code(Payload) -> io_code(error_code(Payload)). -io_ok_code(Payload) -> io_code(ok_code(Payload)). + end. + +build_membership_card(ClientId, RoomId) -> + case roster:muc_member(ClientId, RoomId) of + #'Member'{} = M -> M; + _ -> + PhoneID = roster:phone_id(ClientId), + Member0 = #'Member'{ + feed_id = #muc{name = RoomId}, + phone_id = PhoneID, + reader = 0, update = 0, + presence = roster:is_online(PhoneID), + status = member}, + #ok{code = Member1} = roster:to_member(PhoneID), + roster:patch_member(Member0, Member1) + end. + +member_last_messages(Member) -> + case roster:member_lastmsg(Member) of + {error, _} -> []; + {_, LM} -> LM + end. + +ok_code(Payload) -> #ok{code = Payload}. +error_code(Payload) -> #error{code = Payload}. + +io_ok(Payload) -> io_code(ok_code(Payload)). +io_error(Payload) -> io_code(error_code(Payload)). + io_code(Payload) -> #io{code = Payload}. -error_code(Payload) -> #error{code = Payload}. -ok_code(Payload) -> #ok{code =Payload}. diff --git a/apps/roster/src/roster.erl b/apps/roster/src/roster.erl index 8efcefd88d27c9a2ef80da24988b140d81875471..46f60f057c3be55cc6d4a2030a9aaac841ace937 100644 --- a/apps/roster/src/roster.erl +++ b/apps/roster/src/roster.erl @@ -779,7 +779,7 @@ validate(Payload, ClientId) -> %% MUC API purge_room(false) -> []; purge_room(Room) -> - roster_link:purge_link(Room), + roster_link:purge_room_links(Room), [begin kvs:remove('Member', Id), kvs:delete(reader, R), unsubscribe_room(M), remove_rooms(PhoneId, [Room]) end || #'Member'{id = Id, phone_id = PhoneId, reader = R} = M <- members(#muc{name = Room})], kvs:delete(writer, {muc, Room}), delete_msg(#muc{name = Room}), diff --git a/apps/roster/src/test/room_test.erl b/apps/roster/src/test/room_test.erl index 0b5a3d8dbf2d6df6ea6fdd35d9f3f601125dffbb..bc6615d30b06c29d20432e8bd47e3becb8ef70bc 100644 --- a/apps/roster/src/test/room_test.erl +++ b/apps/roster/src/test/room_test.erl @@ -125,15 +125,12 @@ link() -> roster_client:send_receive(AClientId, Counter + 1, #'Room'{status = add, id = RoomID, admins = [EM]}), true = is_integer(U), %% Get the room link by RoomId - #ok{code = #'Room'{links = [#'Link'{id = LinkId}]}} = kvs:get('Room', Room), + #ok{code = #'Room'{links = [#'Link'{id = LinkId}]}} = kvs:get('Room', Room), %% Assert linkId by Link get request - #ok{code = #'Room'{links = [#'Link'{id = LinkId}], readers = [_ | _]}} = -roster_client:send_receive(AClientId, 1, #'Link'{type = group, status = get, id = LinkId}), + #ok{code = #'Room'{links = [#'Link'{id = LinkId}], readers = [_ | _]}} = + roster_client:send_receive(AClientId, 1, #'Link'{id = LinkId, type = group, status = get}), %% Update the link from the administrator and compare it with the old one. - % #'Room'{links = LinkId} =/= - X = roster_client:send_receive(AClientId, 1, #'Link'{id = LinkId, name = Room, type = group, status = update}), -io:format("~nXXXXXXXXXXXXXXXXXXXXX~p~n",[X]), - + #ok{code = #'Link'{id = LinkId}} /= roster_client:send_receive(AClientId, 1, #'Link'{id = LinkId, name = Room, type = group, status = update}), %%add member with message size roster:purge_user(FPhone = <<"6789000">>), {FClientId, FToken} = roster_client:reg_fake_user(FPhone), @@ -171,59 +168,100 @@ reg_by_phone(Phones, #'muc'{} = Feed) -> test_joinlink() -> +%%% Initializing test state. RoomName = RoomId = <<"test_room_joinlink">>, roster:purge_room(RoomId), Feed = #muc{name = RoomId}, - GroupAMembers = [{_APhone = <<"9000000001">>, admin}, - {_BPhone = <<"9000000002">>, member}], - GroupACounter = length(GroupAMembers), - [{APhoneId, AClientId, _, _}, {BPhoneId, BClientId, _, _}] = - GroupAPCs = reg_by_phone(GroupAMembers, Feed), - GroupAClientIds = [ClientId || {_, ClientId, _, _} <- GroupAPCs], - roster_client:set_filer(GroupAClientIds, filter), - {[Owner | _], Members} = roster:split_members([M || {_, _, M, _} <- GroupAPCs]), - RoomInit = #'Room'{status = create, type = group, id = RoomId, name = RoomName, - admins = [Owner#'Member'{alias = <<"Radostin">>}], members = [hd(Members)]}, - #'Room'{id = RoomId, links = [#'Link'{id = LinkId}], - admins = [_RoomOwner = #'Member'{phone_id = APhoneId}], - members = [#'Member'{phone_id = BPhoneId}]} = - roster_client:send_receive(AClientId, GroupACounter, RoomInit), - -%% Test: get room info with fake room link - roster_link:io_error_code(room_not_found) == roster_client:send_receive(BClientId, 1, #'Link'{id = ?BLANK_LINK, type = group, status = get}), -%% Test: get room info with correct room link - kvs:get('Room', RoomId) == #ok{code = roster_client:send_receive(BClientId, 1, #'Link'{id = LinkId, type = group, status = get})}, - GroupBMembers = [{<<"9000000003">>, member}, {<<"9000000004">>, member}], -% GroupBCounter = length(GroupBMembers), - [{CPhoneId, CClientId, _, _}, {_, DClientId, _, _}] = - _GroupBPCs = reg_by_phone(GroupBMembers, Feed), - -%% Test: join room - #'Room'{members = Room2Members} = roster_client:send_receive(CClientId, 1, #'Link'{id = LinkId, type = group, status = join}), - true == lists:keymember(CPhoneId, #'Member'.phone_id, Room2Members), -%% Test: update old link and try to join with new one - % #'Link'{name = LinkId1} = -roster_client:send_receive(AClientId, 1, #'Link'{id = LinkId, name = RoomId, type = group, status = update}). -% , -% roster_client:send_receive(DClientId, 1, #'Link'{id = LinkId1, type = group, status = join}), -% %%% Test: Delete joinlink -% %% Non admin user -% roster_link:io_error_code(invalid_data) == roster_client:send_receive(DClientId, 1, #'Link'{id = LinkId, name = RoomId, type = group, status = delete}), -% %% Admin user, unavailable link (old) -% roster_link:io_error_code(invalid_data) == -% roster_client:send_receive(AClientId, 1, #'Link'{id = LinkId, name = RoomId, type = group, status = delete}), -% %% Test join: unexisting link -% [{_, EClientId, _, _}] = reg_by_phone([{<<"9000000005">>, member}], #muc{}), -% roster_link:io_error_code(room_not_found) == roster_client:send_receive(EClientId, 1, #'Link'{id = LinkId1, type = group, status = join}), -% %% Disconnect users -% [roster_client:stop_client(CId) || CId <- GroupAClientIds ++ [CClientId, DClientId, EClientId]], -% ok. + Phones = [ + {_APhone = <<"9000000001">>, admin}, + {_BPhone = <<"9000000002">>, admin}, + {_CPhone = <<"9000000003">>, member}, + {_DPhone = <<"9000000004">>, member}, + {_EPhone = <<"9000000005">>, member} + ], + + PCMT = [ + {_APhoneId, AClientId, _AMember, _AToken}, + {_BPhoneId, BClientId, _BMember, _BToken}, + {CPhoneId, _CClientId, _CMember, _CToken}, + {DPhoneId, DClientId, _DMember, _DToken}, + {EPhoneId, EClientId, _EMember, _EToken} + ] = reg_by_phone(Phones, Feed), + + { + _PhoneIds, + ClientIds, + MembersList, + _Tokens + } = lists:foldr(fun({P, C, M, T}, {Ps, Cs, Ms, Ts}) -> + {[P | Ps], [C | Cs], [M | Ms], [T | Ts]} end, {[], [], [], []}, PCMT), + roster_client:set_filer(ClientIds, filter), + + {[Owner, Admin] = RoomAdmins, RoomMembers} = roster:split_members(MembersList), + +%%% Initializing Room state. + RoomInit = #'Room'{id = RoomId, name = RoomName, + members = [hd(RoomMembers)], + admins = [ + Owner#'Member'{alias = <<"Radostin">>, status = admin}, + Admin#'Member'{alias = <<"Admin">>, status = admin} + ], + type = group, + status = create}, + +%%% Create and join first three clients to the 'Room'. + #'Room'{id = RoomId, links = [#'Link'{id = LinkId} = Link], + admins = RoomAdmins0, + members = [#'Member'{phone_id = CPhoneId}] = RoomMembers1} = + roster_client:send_receive(AClientId, 3, RoomInit), + +%%% Start tests: +%% Test: try to get room info; fake room link; admin + {error, not_found} = roster_client:send_receive(BClientId, 1, Link#'Link'{id = ?BLANK_LINK, status = get}), + +%% Test: try to get room info; correct room link; admin + {ok, #'Room'{id = RoomId, links = [#'Link'{id = LinkId}], status = info}} = + roster_client:send_receive(BClientId, 1, Link#'Link'{status = get}), + +%% Test: try to get room info; correct room link; not room member + {ok, #'Room'{id = RoomId, links = [#'Link'{id = LinkId}], status = info}} = + roster_client:send_receive(DClientId, 1, Link#'Link'{status = get}), + +%% Test: join room + {ok, #'Room'{id = RoomId, status = join} = Room1} = + roster_client:send_receive(DClientId, 1, Link#'Link'{status = join}), +% Check if new member is added + true = lists:keymember(DPhoneId, #'Member'.phone_id, Room1#'Room'.members), +%% Test: try to update room link; room member, non admin + {error, permission_denied} = roster_client:send_receive(DClientId, 1, Link#'Link'{status = update}), +%% Test: try to update room link; non room member, non admin, fake link + {error, invalid_data} = roster_client:send_receive(EClientId, 1, Link#'Link'{id = ?BLANK_LINK, status = update}), +%% Test: try to update room link; non room member + {error, invalid_data} = roster_client:send_receive(EClientId, 1, Link#'Link'{status = update}), +%% Test: try to update room link; room member, admin + {ok, #'Link'{name = RoomId} = Link1} = roster_client:send_receive(BClientId, 1, Link#'Link'{status = update}), +%% Test: try to get room info; correct room link; + {ok, #'Room'{id = RoomId, links = [Link1], status = info}} = + roster_client:send_receive(EClientId, 1, Link1#'Link'{status = get}), +%% Test: try to update room link; non-existent link, room member, admin + {error, invalid_data} = roster_client:send_receive(BClientId, 1, Link#'Link'{status = update}), +%% Test: join room; non-existent link, non room member + {error, not_found} = roster_client:send_receive(EClientId, 1, Link#'Link'{status = join}), +%% Test: join room; non room member + {ok, #'Room'{id = RoomId, links = [Link1], status = join} = Room2} = + roster_client:send_receive(EClientId, 1, Link1#'Link'{status = join}), +% Check if new member is added + true = lists:keymember(EPhoneId, #'Member'.phone_id, Room2#'Room'.members), + %%% Disconnect Clients. + [roster_client:stop_client(CId) || CId <- ClientIds], + ok. suite() -> [ check_alias_increment(), - add_many_members() + add_many_members(), + test_joinlink() ]. check() -> roster:check(?MODULE). \ No newline at end of file diff --git a/apps/service/priv/service_auth/1compile.sh b/apps/service/priv/service_auth/1compile.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ad626dee21b25f4fa0b9b918f9631377fd75f88 --- /dev/null +++ b/apps/service/priv/service_auth/1compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +protoc *.proto --java_out=java diff --git a/apps/service/priv/service_auth/Auth.proto b/apps/service/priv/service_auth/Auth.proto new file mode 100644 index 0000000000000000000000000000000000000000..f5c0b18ecc1ce9a535bbccc356df41f8165da1e0 --- /dev/null +++ b/apps/service/priv/service_auth/Auth.proto @@ -0,0 +1,30 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Auth.grpc"; +option java_outer_classname = "AuthCls"; +import public "authOs.proto"; +import public "Feature.proto"; +import public "authType.proto"; +import public "Service.proto"; + +message Auth { + string client_id = 1; + string dev_key = 2; + string user_id = 3; + string token = 4; + string data = 5; + authType type = 6; + int64 attempts = 7; + repeated Feature settings = 8; + repeated Service services = 9; + string push = 10; + authOs os = 11; + int64 created = 12; + int64 last_online = 13; +} diff --git a/apps/service/priv/service_auth/AuthError.proto b/apps/service/priv/service_auth/AuthError.proto new file mode 100644 index 0000000000000000000000000000000000000000..c75a62ed642c9674ff611ca1eb5e0887e805a646 --- /dev/null +++ b/apps/service/priv/service_auth/AuthError.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "AuthError.grpc"; +option java_outer_classname = "AuthErrorCls"; +import public "Auth.proto"; +import public "authStatus.proto"; + +message AuthError { + repeated authStatus codes = 1; + Auth data = 2; +} diff --git a/apps/service/priv/service_auth/Desc.proto b/apps/service/priv/service_auth/Desc.proto new file mode 100644 index 0000000000000000000000000000000000000000..a1bdff122639882de16d2365361829b1f23827dc --- /dev/null +++ b/apps/service/priv/service_auth/Desc.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Desc.grpc"; +option java_outer_classname = "DescCls"; +import public "Feature.proto"; + +message Desc { + string id = 1; + string mime = 2; + string payload = 3; + string parentid = 4; + repeated Feature data = 5; +} diff --git a/apps/service/priv/service_auth/Feature.proto b/apps/service/priv/service_auth/Feature.proto new file mode 100644 index 0000000000000000000000000000000000000000..44e5d5a25170e7dd0f9c778227de975185b59a61 --- /dev/null +++ b/apps/service/priv/service_auth/Feature.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Feature.grpc"; +option java_outer_classname = "FeatureCls"; + +message Feature { + string id = 1; + string key = 2; + string value = 3; + string group = 4; +} diff --git a/apps/service/priv/service_auth/Service.proto b/apps/service/priv/service_auth/Service.proto new file mode 100644 index 0000000000000000000000000000000000000000..5255c11383fad0751fad42cd288351aea27fd6ba --- /dev/null +++ b/apps/service/priv/service_auth/Service.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Service.grpc"; +option java_outer_classname = "ServiceCls"; +import public "Feature.proto"; +import public "serverType.proto"; +import public "serverStatus.proto"; + +message Service { + string id = 1; + string data = 2; + serverType type = 3; + repeated Feature setting = 4; + int64 expiration = 5; + serverStatus service_status = 6; +} diff --git a/apps/service/priv/service_auth/Tag.proto b/apps/service/priv/service_auth/Tag.proto new file mode 100644 index 0000000000000000000000000000000000000000..fb29d81cb4aea95a05444d71d1cd7e9419de1629 --- /dev/null +++ b/apps/service/priv/service_auth/Tag.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Tag.grpc"; +option java_outer_classname = "TagCls"; +import public "tagType.proto"; + +message Tag { + int64 roster_id = 1; + string name = 2; + string color = 3; + tagType tag_status = 4; +} diff --git a/apps/service/priv/service_auth/authOs.proto b/apps/service/priv/service_auth/authOs.proto new file mode 100644 index 0000000000000000000000000000000000000000..4308091b1208cd3bf560d0cf6e99d940110c4fad --- /dev/null +++ b/apps/service/priv/service_auth/authOs.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "authOs.grpc"; +option java_outer_classname = "authOsCls"; + +enum authOs { + ios = 0; + android = 1; + web = 2; +} + diff --git a/apps/service/priv/service_auth/authStatus.proto b/apps/service/priv/service_auth/authStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..241324b6bfe8c83a39916370f4ae5aa6e6ec79b5 --- /dev/null +++ b/apps/service/priv/service_auth/authStatus.proto @@ -0,0 +1,23 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "authStatus.grpc"; +option java_outer_classname = "authStatusCls"; + +enum authStatus { + invalid_version = 0; + mismatch_user_data = 1; + number_not_allowed = 2; + session_not_found = 3; + attempts_expired = 4; + invalid_sms_code = 5; + invalid_jwt_code = 6; + permission_denied = 7; + invalid_data = 8; +} + diff --git a/apps/service/priv/service_auth/authType.proto b/apps/service/priv/service_auth/authType.proto new file mode 100644 index 0000000000000000000000000000000000000000..0dbed28f069f7bd7c5bf9fbee8e348af63cca828 --- /dev/null +++ b/apps/service/priv/service_auth/authType.proto @@ -0,0 +1,26 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "authType.grpc"; +option java_outer_classname = "authTypeCls"; + +enum authType { + google_auth = 0; + facebook_auth = 1; + mobile_auth = 2; + email_auth = 3; + voice = 4; + resend = 5; + verify = 6; + push = 7; + logout = 8; + get = 9; + delete = 10; + clear = 11; +} + diff --git a/apps/service/priv/service_auth/presence.proto b/apps/service/priv/service_auth/presence.proto new file mode 100644 index 0000000000000000000000000000000000000000..00f79c3f14b24783674e06115917a035e3410fe9 --- /dev/null +++ b/apps/service/priv/service_auth/presence.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "presence.grpc"; +option java_outer_classname = "presenceCls"; + +enum presence { + online = 0; + offline = 1; +} + diff --git a/apps/service/priv/service_auth/serverStatus.proto b/apps/service/priv/service_auth/serverStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..97d7dd002854abc3904040d78c3a5bc9e9c58a00 --- /dev/null +++ b/apps/service/priv/service_auth/serverStatus.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverStatus.grpc"; +option java_outer_classname = "serverStatusCls"; + +enum serverStatus { + servie_verified = 0; + service_not_verified = 1; +} + diff --git a/apps/service/priv/service_auth/serverType.proto b/apps/service/priv/service_auth/serverType.proto new file mode 100644 index 0000000000000000000000000000000000000000..56279a32238e9ae7b34a68269defae2d99553080 --- /dev/null +++ b/apps/service/priv/service_auth/serverType.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverType.grpc"; +option java_outer_classname = "serverTypeCls"; + +enum serverType { + email = 0; + wallet = 1; + google_type = 2; + fb = 3; + phone = 4; +} + diff --git a/apps/service/priv/service_auth/tagType.proto b/apps/service/priv/service_auth/tagType.proto new file mode 100644 index 0000000000000000000000000000000000000000..18503cdcac81525aa4dd9345f0f0bec4ee577e8e --- /dev/null +++ b/apps/service/priv/service_auth/tagType.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_auth; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "tagType.grpc"; +option java_outer_classname = "tagTypeCls"; + +enum tagType { + tag_create = 0; + tag_remove = 1; + tag_edit = 2; +} + diff --git a/apps/service/priv/service_friend/1compile.sh b/apps/service/priv/service_friend/1compile.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ad626dee21b25f4fa0b9b918f9631377fd75f88 --- /dev/null +++ b/apps/service/priv/service_friend/1compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +protoc *.proto --java_out=java diff --git a/apps/service/priv/service_friend/Contact.proto b/apps/service/priv/service_friend/Contact.proto new file mode 100644 index 0000000000000000000000000000000000000000..5f06968ea34c7ae8a317583ff7154e8e18642d38 --- /dev/null +++ b/apps/service/priv/service_friend/Contact.proto @@ -0,0 +1,32 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +import "google/protobuf/Any.proto"; +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Contact.grpc"; +option java_outer_classname = "ContactCls"; +import public "Feature.proto"; +import public "contactStatus.proto"; +import public "presence.proto"; +import public "Service.proto"; + +message Contact { + string user_id = 1; + repeated int64 avatar = 2; + string names = 3; + string surnames = 4; + string nick = 5; + repeated google.protobuf.Any reader = 6; + int64 unread = 7; + int64 last_msg = 8; + int64 update = 9; + int64 created = 10; + repeated Feature settings = 11; + repeated Service services = 12; + presence presence = 13; + contactStatus status = 14; +} diff --git a/apps/service/priv/service_friend/Desc.proto b/apps/service/priv/service_friend/Desc.proto new file mode 100644 index 0000000000000000000000000000000000000000..cfc8b92b45579fc7ec7572b847c4cc8eb984ef3e --- /dev/null +++ b/apps/service/priv/service_friend/Desc.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Desc.grpc"; +option java_outer_classname = "DescCls"; +import public "Feature.proto"; + +message Desc { + string id = 1; + string mime = 2; + string payload = 3; + string parentid = 4; + repeated Feature data = 5; +} diff --git a/apps/service/priv/service_friend/Feature.proto b/apps/service/priv/service_friend/Feature.proto new file mode 100644 index 0000000000000000000000000000000000000000..21240771b56a93cd866c61e8229d5eaf0c5febc4 --- /dev/null +++ b/apps/service/priv/service_friend/Feature.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Feature.grpc"; +option java_outer_classname = "FeatureCls"; + +message Feature { + string id = 1; + string key = 2; + string value = 3; + string group = 4; +} diff --git a/apps/service/priv/service_friend/Friend.proto b/apps/service/priv/service_friend/Friend.proto new file mode 100644 index 0000000000000000000000000000000000000000..cc1791dc0b4082aacca0a8ba502d57f899ed6a2e --- /dev/null +++ b/apps/service/priv/service_friend/Friend.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Friend.grpc"; +option java_outer_classname = "FriendCls"; +import public "Feature.proto"; +import public "friendStatus.proto"; + +message Friend { + string phone_id = 1; + string friend_id = 2; + repeated Feature settings = 3; + friendStatus status = 4; +} diff --git a/apps/service/priv/service_friend/Roster.proto b/apps/service/priv/service_friend/Roster.proto new file mode 100644 index 0000000000000000000000000000000000000000..87568b68df4e77d78adc0b738969ecd68b811d4c --- /dev/null +++ b/apps/service/priv/service_friend/Roster.proto @@ -0,0 +1,28 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Roster.grpc"; +option java_outer_classname = "RosterCls"; +import public "Contact.proto"; +import public "rosterStatus.proto"; + +message Roster { + int64 id = 1; + string names = 2; + string surnames = 3; + string email = 4; + string nick = 5; + repeated Contact userlist = 6; + repeated int64 roomlist = 7; + repeated int64 favorite = 8; + repeated int64 tags = 9; + string phone = 10; + string avatar = 11; + int64 update = 12; + rosterStatus rosterStatus = 13; +} diff --git a/apps/service/priv/service_friend/Service.proto b/apps/service/priv/service_friend/Service.proto new file mode 100644 index 0000000000000000000000000000000000000000..fa6c1583279207312a127499c6a9ab9a14896fc7 --- /dev/null +++ b/apps/service/priv/service_friend/Service.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Service.grpc"; +option java_outer_classname = "ServiceCls"; +import public "Feature.proto"; +import public "serverType.proto"; +import public "serverStatus.proto"; + +message Service { + string id = 1; + string data = 2; + serverType type = 3; + repeated Feature setting = 4; + int64 expiration = 5; + serverStatus service_status = 6; +} diff --git a/apps/service/priv/service_friend/Tag.proto b/apps/service/priv/service_friend/Tag.proto new file mode 100644 index 0000000000000000000000000000000000000000..0bf0dea199c090e36023ba8dd3eaeae432bff754 --- /dev/null +++ b/apps/service/priv/service_friend/Tag.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Tag.grpc"; +option java_outer_classname = "TagCls"; +import public "tagType.proto"; + +message Tag { + int64 roster_id = 1; + string name = 2; + string color = 3; + tagType tag_status = 4; +} diff --git a/apps/service/priv/service_friend/contactStatus.proto b/apps/service/priv/service_friend/contactStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..0b6883cf2e71d941e9fa9ffb2b683fbbe67d0b5e --- /dev/null +++ b/apps/service/priv/service_friend/contactStatus.proto @@ -0,0 +1,23 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "contactStatus.grpc"; +option java_outer_classname = "contactStatusCls"; + +enum contactStatus { + conact_request = 0; + authorization = 1; + contact_ignore = 2; + conatct_internal = 3; + friend = 4; + contact_last_msg = 5; + contact_ban = 6; + conact_banned = 7; + contact_deleted = 8; +} + diff --git a/apps/service/priv/service_friend/friendStatus.proto b/apps/service/priv/service_friend/friendStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..1bd1c1468dba230cd97806c8ad3926dc42f74f99 --- /dev/null +++ b/apps/service/priv/service_friend/friendStatus.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "friendStatus.grpc"; +option java_outer_classname = "friendStatusCls"; + +enum friendStatus { + ban = 0; + unban = 1; + request = 2; + confirm = 3; + update = 4; + ignore = 5; +} + diff --git a/apps/service/priv/service_friend/muc.proto b/apps/service/priv/service_friend/muc.proto new file mode 100644 index 0000000000000000000000000000000000000000..0354b28366db8074bb88ffe6a9ada0b87b064f8d --- /dev/null +++ b/apps/service/priv/service_friend/muc.proto @@ -0,0 +1,14 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "muc.grpc"; +option java_outer_classname = "mucCls"; + +message muc { + string name = 1; +} diff --git a/apps/service/priv/service_friend/p2p.proto b/apps/service/priv/service_friend/p2p.proto new file mode 100644 index 0000000000000000000000000000000000000000..ef47f993e01291beb6bc4d934ed3ee6480fe7ac9 --- /dev/null +++ b/apps/service/priv/service_friend/p2p.proto @@ -0,0 +1,15 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "p2p.grpc"; +option java_outer_classname = "p2pCls"; + +message p2p { + string from = 1; + string to = 2; +} diff --git a/apps/service/priv/service_friend/presence.proto b/apps/service/priv/service_friend/presence.proto new file mode 100644 index 0000000000000000000000000000000000000000..a340e10d6a903ab1b8212b4b99d777c61c697029 --- /dev/null +++ b/apps/service/priv/service_friend/presence.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "presence.grpc"; +option java_outer_classname = "presenceCls"; + +enum presence { + online = 0; + offline = 1; +} + diff --git a/apps/service/priv/service_friend/rosterStatus.proto b/apps/service/priv/service_friend/rosterStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..10b7aee0a1cd7f2bf592fd1bdcbce6b6dbdde6d9 --- /dev/null +++ b/apps/service/priv/service_friend/rosterStatus.proto @@ -0,0 +1,24 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "rosterStatus.grpc"; +option java_outer_classname = "rosterStatusCls"; + +enum rosterStatus { + get_roster = 0; + create_roster = 1; + del_roster = 2; + remove_roster = 3; + nick = 4; + add_roster = 5; + update_roster = 6; + list_loster = 7; + patch_roster = 8; + roster_last_msg = 9; +} + diff --git a/apps/service/priv/service_friend/serverStatus.proto b/apps/service/priv/service_friend/serverStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..837e7ce36722e7f4d149d9151de6cc2e7c0b5219 --- /dev/null +++ b/apps/service/priv/service_friend/serverStatus.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverStatus.grpc"; +option java_outer_classname = "serverStatusCls"; + +enum serverStatus { + servie_verified = 0; + service_not_verified = 1; +} + diff --git a/apps/service/priv/service_friend/serverType.proto b/apps/service/priv/service_friend/serverType.proto new file mode 100644 index 0000000000000000000000000000000000000000..eccfaae8a537cd46934708252dc7152a7b6349f9 --- /dev/null +++ b/apps/service/priv/service_friend/serverType.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverType.grpc"; +option java_outer_classname = "serverTypeCls"; + +enum serverType { + email = 0; + wallet = 1; + google_type = 2; + fb = 3; + phone = 4; +} + diff --git a/apps/service/priv/service_friend/tagType.proto b/apps/service/priv/service_friend/tagType.proto new file mode 100644 index 0000000000000000000000000000000000000000..05a0f94a92505082f9284fb0dfc54891fd2205b6 --- /dev/null +++ b/apps/service/priv/service_friend/tagType.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_friend; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "tagType.grpc"; +option java_outer_classname = "tagTypeCls"; + +enum tagType { + tag_create = 0; + tag_remove = 1; + tag_edit = 2; +} + diff --git a/apps/service/priv/service_message/1compile.sh b/apps/service/priv/service_message/1compile.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ad626dee21b25f4fa0b9b918f9631377fd75f88 --- /dev/null +++ b/apps/service/priv/service_message/1compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +protoc *.proto --java_out=java diff --git a/apps/service/priv/service_message/Desc.proto b/apps/service/priv/service_message/Desc.proto new file mode 100644 index 0000000000000000000000000000000000000000..08869717e1da6dc410f2c897ef46978c0a6cf8e6 --- /dev/null +++ b/apps/service/priv/service_message/Desc.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Desc.grpc"; +option java_outer_classname = "DescCls"; +import public "Feature.proto"; + +message Desc { + string id = 1; + string mime = 2; + string payload = 3; + string parentid = 4; + repeated Feature data = 5; +} diff --git a/apps/service/priv/service_message/Feature.proto b/apps/service/priv/service_message/Feature.proto new file mode 100644 index 0000000000000000000000000000000000000000..c525cc9148869e2e972e7383845d2f915f531222 --- /dev/null +++ b/apps/service/priv/service_message/Feature.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Feature.grpc"; +option java_outer_classname = "FeatureCls"; + +message Feature { + string id = 1; + string key = 2; + string value = 3; + string group = 4; +} diff --git a/apps/service/priv/service_message/History.proto b/apps/service/priv/service_message/History.proto new file mode 100644 index 0000000000000000000000000000000000000000..9ec7743622212e77f87beff198fedfc2e48e2387 --- /dev/null +++ b/apps/service/priv/service_message/History.proto @@ -0,0 +1,25 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "History.grpc"; +option java_outer_classname = "HistoryCls"; +import public "muc.proto"; +import public "p2p.proto"; +import public "historyType.proto"; + +message History { + string roster_id = 1; + oneof feed { + p2p feed20 = 20; + muc feed21 = 21; + } + int64 size = 3; + int64 entity_id = 4; + int64 data = 5; + historyType status = 6; +} diff --git a/apps/service/priv/service_message/Job.proto b/apps/service/priv/service_message/Job.proto new file mode 100644 index 0000000000000000000000000000000000000000..0b9faf28ad69b5eac4a34ec4b869d51efbd234c0 --- /dev/null +++ b/apps/service/priv/service_message/Job.proto @@ -0,0 +1,34 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Job.grpc"; +option java_outer_classname = "JobCls"; +import public "act.proto"; +import public "jobType.proto"; +import public "Feature.proto"; +import public "Message.proto"; +import public "messageEvent.proto"; +import public "container.proto"; + +message Job { + int64 id = 1; + container container = 2; + act feed_id = 3; + int64 prev = 4; + int64 next = 5; + oneof context { + int64 context60 = 60; + string context61 = 61; + } + int64 proc = 7; + int64 time = 8; + repeated Message data = 9; + repeated messageEvent events = 10; + repeated Feature settings = 11; + jobType status = 12; +} diff --git a/apps/service/priv/service_message/Message.proto b/apps/service/priv/service_message/Message.proto new file mode 100644 index 0000000000000000000000000000000000000000..838663d199308c44a6966bd3daf582877143e87f --- /dev/null +++ b/apps/service/priv/service_message/Message.proto @@ -0,0 +1,42 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +import "google/protobuf/Any.proto"; +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Message.grpc"; +option java_outer_classname = "MessageCls"; +import public "messageType.proto"; +import public "messageStatus.proto"; +import public "muc.proto"; +import public "p2p.proto"; +import public "Desc.proto"; +import public "container.proto"; + +message Message { + int64 id = 1; + container container = 2; + oneof feed_id { + muc feed_id30 = 30; + p2p feed_id31 = 31; + } + int64 prev = 4; + int64 next = 5; + string msg_id = 6; + string from = 7; + string to = 8; + int64 created = 9; + repeated Desc files = 10; + messageType type = 11; + oneof link { + int64 link120 = 120; + Message link121 = 121; + } + repeated google.protobuf.Any seenby = 13; + repeated int64 repliedby = 14; + repeated int64 mentioned = 15; + messageStatus mstatus = 16; +} diff --git a/apps/service/priv/service_message/Service.proto b/apps/service/priv/service_message/Service.proto new file mode 100644 index 0000000000000000000000000000000000000000..fd98188cc7be5d125995a0b2e392b519a4d3b882 --- /dev/null +++ b/apps/service/priv/service_message/Service.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Service.grpc"; +option java_outer_classname = "ServiceCls"; +import public "Feature.proto"; +import public "serverType.proto"; +import public "serverStatus.proto"; + +message Service { + string id = 1; + string data = 2; + serverType type = 3; + repeated Feature setting = 4; + int64 expiration = 5; + serverStatus service_status = 6; +} diff --git a/apps/service/priv/service_message/Tag.proto b/apps/service/priv/service_message/Tag.proto new file mode 100644 index 0000000000000000000000000000000000000000..9a1632c0de26e45ecd7114e468b20d90054a0aea --- /dev/null +++ b/apps/service/priv/service_message/Tag.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Tag.grpc"; +option java_outer_classname = "TagCls"; +import public "tagType.proto"; + +message Tag { + int64 roster_id = 1; + string name = 2; + string color = 3; + tagType tag_status = 4; +} diff --git a/apps/service/priv/service_message/act.proto b/apps/service/priv/service_message/act.proto new file mode 100644 index 0000000000000000000000000000000000000000..bbeec857a6062d34b966211d79f9bf6cc7f45ce5 --- /dev/null +++ b/apps/service/priv/service_message/act.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "act.grpc"; +option java_outer_classname = "actCls"; + +message act { + string name = 1; + oneof data { + string data20 = 20; + int64 data21 = 21; + } +} diff --git a/apps/service/priv/service_message/container.proto b/apps/service/priv/service_message/container.proto new file mode 100644 index 0000000000000000000000000000000000000000..3012039d1edb6c9ce5098fc83143936696900912 --- /dev/null +++ b/apps/service/priv/service_message/container.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "container.grpc"; +option java_outer_classname = "containerCls"; + +enum container { + chain = 0; + cur = 1; +} + diff --git a/apps/service/priv/service_message/historyType.proto b/apps/service/priv/service_message/historyType.proto new file mode 100644 index 0000000000000000000000000000000000000000..e9a7eebdbf952e7a17d7d1aac53aa29bbfaac378 --- /dev/null +++ b/apps/service/priv/service_message/historyType.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "historyType.grpc"; +option java_outer_classname = "historyTypeCls"; + +enum historyType { + hupdated = 0; + hget = 1; + hupdate = 2; + hlast_loaded = 3; + hlast_msg = 4; + hget_reply = 5; +} + diff --git a/apps/service/priv/service_message/jobType.proto b/apps/service/priv/service_message/jobType.proto new file mode 100644 index 0000000000000000000000000000000000000000..c64277dc63f1f63d2ad892fc9a3e1378595a1170 --- /dev/null +++ b/apps/service/priv/service_message/jobType.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "jobType.grpc"; +option java_outer_classname = "jobTypeCls"; + +enum jobType { + jinit = 0; + jupdate = 1; + jdelete = 2; + jpending = 3; + jstop = 4; + jcomplete = 5; +} + diff --git a/apps/service/priv/service_message/messageEvent.proto b/apps/service/priv/service_message/messageEvent.proto new file mode 100644 index 0000000000000000000000000000000000000000..72715dd79e30d0e2ca85dd30115592c0c77bf63b --- /dev/null +++ b/apps/service/priv/service_message/messageEvent.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "messageEvent.grpc"; +option java_outer_classname = "messageEventCls"; + +message messageEvent { + string name = 1; + string payload = 2; + int64 timeout = 3; + string module = 4; +} diff --git a/apps/service/priv/service_message/messageStatus.proto b/apps/service/priv/service_message/messageStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..b514a8a72708b351b1aa00604f15bdee1ca8c475 --- /dev/null +++ b/apps/service/priv/service_message/messageStatus.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "messageStatus.grpc"; +option java_outer_classname = "messageStatusCls"; + +enum messageStatus { + masync = 0; + mdelete = 1; + mclear = 2; + mupdate = 3; + medit = 4; +} + diff --git a/apps/service/priv/service_message/messageType.proto b/apps/service/priv/service_message/messageType.proto new file mode 100644 index 0000000000000000000000000000000000000000..5f38169131c0ff79eb9d795399262ad1c61291d9 --- /dev/null +++ b/apps/service/priv/service_message/messageType.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "messageType.grpc"; +option java_outer_classname = "messageTypeCls"; + +enum messageType { + sys = 0; + reply = 1; + forward = 2; + read = 3; + edited = 4; + cursor = 5; +} + diff --git a/apps/service/priv/service_message/muc.proto b/apps/service/priv/service_message/muc.proto new file mode 100644 index 0000000000000000000000000000000000000000..8eb84eb4f0b68c7a58c269f215f2368d7c954896 --- /dev/null +++ b/apps/service/priv/service_message/muc.proto @@ -0,0 +1,14 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "muc.grpc"; +option java_outer_classname = "mucCls"; + +message muc { + string name = 1; +} diff --git a/apps/service/priv/service_message/p2p.proto b/apps/service/priv/service_message/p2p.proto new file mode 100644 index 0000000000000000000000000000000000000000..3290d952615c1f2286bb6053b11172fa81b5943f --- /dev/null +++ b/apps/service/priv/service_message/p2p.proto @@ -0,0 +1,15 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "p2p.grpc"; +option java_outer_classname = "p2pCls"; + +message p2p { + string from = 1; + string to = 2; +} diff --git a/apps/service/priv/service_message/presence.proto b/apps/service/priv/service_message/presence.proto new file mode 100644 index 0000000000000000000000000000000000000000..0b33ae3cc4fa1ae3b83aac2d041653e2f4d83306 --- /dev/null +++ b/apps/service/priv/service_message/presence.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "presence.grpc"; +option java_outer_classname = "presenceCls"; + +enum presence { + online = 0; + offline = 1; +} + diff --git a/apps/service/priv/service_message/serverStatus.proto b/apps/service/priv/service_message/serverStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..41e3eeac5f149c3de2e8d3adfb543d0b2b75894e --- /dev/null +++ b/apps/service/priv/service_message/serverStatus.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverStatus.grpc"; +option java_outer_classname = "serverStatusCls"; + +enum serverStatus { + servie_verified = 0; + service_not_verified = 1; +} + diff --git a/apps/service/priv/service_message/serverType.proto b/apps/service/priv/service_message/serverType.proto new file mode 100644 index 0000000000000000000000000000000000000000..afa4a3716aaf865eaf24b1241f35a945d7eadaca --- /dev/null +++ b/apps/service/priv/service_message/serverType.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverType.grpc"; +option java_outer_classname = "serverTypeCls"; + +enum serverType { + email = 0; + wallet = 1; + google_type = 2; + fb = 3; + phone = 4; +} + diff --git a/apps/service/priv/service_message/tagType.proto b/apps/service/priv/service_message/tagType.proto new file mode 100644 index 0000000000000000000000000000000000000000..f21e09717a572d79caee5933d6731fcfbc5f43e8 --- /dev/null +++ b/apps/service/priv/service_message/tagType.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_message; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "tagType.grpc"; +option java_outer_classname = "tagTypeCls"; + +enum tagType { + tag_create = 0; + tag_remove = 1; + tag_edit = 2; +} + diff --git a/apps/service/priv/service_profile/1compile.sh b/apps/service/priv/service_profile/1compile.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ad626dee21b25f4fa0b9b918f9631377fd75f88 --- /dev/null +++ b/apps/service/priv/service_profile/1compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +protoc *.proto --java_out=java diff --git a/apps/service/priv/service_profile/Desc.proto b/apps/service/priv/service_profile/Desc.proto new file mode 100644 index 0000000000000000000000000000000000000000..9a5a2dd166166bd8cc75b78d3b673fc6b454fd92 --- /dev/null +++ b/apps/service/priv/service_profile/Desc.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Desc.grpc"; +option java_outer_classname = "DescCls"; +import public "Feature.proto"; + +message Desc { + string id = 1; + string mime = 2; + string payload = 3; + string parentid = 4; + repeated Feature data = 5; +} diff --git a/apps/service/priv/service_profile/Feature.proto b/apps/service/priv/service_profile/Feature.proto new file mode 100644 index 0000000000000000000000000000000000000000..64e1725871b5a1ad01018c1343521fbc56f1d608 --- /dev/null +++ b/apps/service/priv/service_profile/Feature.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Feature.grpc"; +option java_outer_classname = "FeatureCls"; + +message Feature { + string id = 1; + string key = 2; + string value = 3; + string group = 4; +} diff --git a/apps/service/priv/service_profile/Profile.proto b/apps/service/priv/service_profile/Profile.proto new file mode 100644 index 0000000000000000000000000000000000000000..db8e1b3d233548f4adb1942ad1131edce8d6793b --- /dev/null +++ b/apps/service/priv/service_profile/Profile.proto @@ -0,0 +1,25 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Profile.grpc"; +option java_outer_classname = "ProfileCls"; +import public "Feature.proto"; +import public "profileStatus.proto"; +import public "presence.proto"; +import public "Service.proto"; + +message Profile { + string phone = 1; + repeated Service services = 2; + repeated int64 rosters = 3; + repeated Feature settings = 4; + int64 update = 5; + int64 balance = 6; + presence presence = 7; + profileStatus profileStatus = 8; +} diff --git a/apps/service/priv/service_profile/Service.proto b/apps/service/priv/service_profile/Service.proto new file mode 100644 index 0000000000000000000000000000000000000000..d3af3a6ee25ff6fb7e1487a132371178c04525fc --- /dev/null +++ b/apps/service/priv/service_profile/Service.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Service.grpc"; +option java_outer_classname = "ServiceCls"; +import public "Feature.proto"; +import public "serverType.proto"; +import public "serverStatus.proto"; + +message Service { + string id = 1; + string data = 2; + serverType type = 3; + repeated Feature setting = 4; + int64 expiration = 5; + serverStatus service_status = 6; +} diff --git a/apps/service/priv/service_profile/Tag.proto b/apps/service/priv/service_profile/Tag.proto new file mode 100644 index 0000000000000000000000000000000000000000..db4d5d5b4198c748ca798bac521a4aeb5afe9918 --- /dev/null +++ b/apps/service/priv/service_profile/Tag.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Tag.grpc"; +option java_outer_classname = "TagCls"; +import public "tagType.proto"; + +message Tag { + int64 roster_id = 1; + string name = 2; + string color = 3; + tagType tag_status = 4; +} diff --git a/apps/service/priv/service_profile/presence.proto b/apps/service/priv/service_profile/presence.proto new file mode 100644 index 0000000000000000000000000000000000000000..f37d175ce43b465495fedd5f147c8d6594e1eed0 --- /dev/null +++ b/apps/service/priv/service_profile/presence.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "presence.grpc"; +option java_outer_classname = "presenceCls"; + +enum presence { + online = 0; + offline = 1; +} + diff --git a/apps/service/priv/service_profile/profileStatus.proto b/apps/service/priv/service_profile/profileStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..44277b57cb56553088551c39fc443c206352e7cd --- /dev/null +++ b/apps/service/priv/service_profile/profileStatus.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "profileStatus.grpc"; +option java_outer_classname = "profileStatusCls"; + +enum profileStatus { + remove_profile = 0; + get_profile = 1; + patch_profile = 2; +} + diff --git a/apps/service/priv/service_profile/serverStatus.proto b/apps/service/priv/service_profile/serverStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..1883e26bcadb3ff4d6af50a51fada0f85131b11b --- /dev/null +++ b/apps/service/priv/service_profile/serverStatus.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverStatus.grpc"; +option java_outer_classname = "serverStatusCls"; + +enum serverStatus { + servie_verified = 0; + service_not_verified = 1; +} + diff --git a/apps/service/priv/service_profile/serverType.proto b/apps/service/priv/service_profile/serverType.proto new file mode 100644 index 0000000000000000000000000000000000000000..af48113f40d7fe3996486c58dab53fb2270e36ed --- /dev/null +++ b/apps/service/priv/service_profile/serverType.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverType.grpc"; +option java_outer_classname = "serverTypeCls"; + +enum serverType { + email = 0; + wallet = 1; + google_type = 2; + fb = 3; + phone = 4; +} + diff --git a/apps/service/priv/service_profile/tagType.proto b/apps/service/priv/service_profile/tagType.proto new file mode 100644 index 0000000000000000000000000000000000000000..e7673153547d894925b862651330c2e887d9e37f --- /dev/null +++ b/apps/service/priv/service_profile/tagType.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_profile; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "tagType.grpc"; +option java_outer_classname = "tagTypeCls"; + +enum tagType { + tag_create = 0; + tag_remove = 1; + tag_edit = 2; +} + diff --git a/apps/service/priv/service_room/1compile.sh b/apps/service/priv/service_room/1compile.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ad626dee21b25f4fa0b9b918f9631377fd75f88 --- /dev/null +++ b/apps/service/priv/service_room/1compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +protoc *.proto --java_out=java diff --git a/apps/service/priv/service_room/Desc.proto b/apps/service/priv/service_room/Desc.proto new file mode 100644 index 0000000000000000000000000000000000000000..e9a4db9b74f83347aab34670ddca9f9eaed8017b --- /dev/null +++ b/apps/service/priv/service_room/Desc.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Desc.grpc"; +option java_outer_classname = "DescCls"; +import public "Feature.proto"; + +message Desc { + string id = 1; + string mime = 2; + string payload = 3; + string parentid = 4; + repeated Feature data = 5; +} diff --git a/apps/service/priv/service_room/Feature.proto b/apps/service/priv/service_room/Feature.proto new file mode 100644 index 0000000000000000000000000000000000000000..2de076cb5d05aa33adb8684bcffda5b71e7ef28a --- /dev/null +++ b/apps/service/priv/service_room/Feature.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Feature.grpc"; +option java_outer_classname = "FeatureCls"; + +message Feature { + string id = 1; + string key = 2; + string value = 3; + string group = 4; +} diff --git a/apps/service/priv/service_room/History.proto b/apps/service/priv/service_room/History.proto new file mode 100644 index 0000000000000000000000000000000000000000..9a228fa41ff4b8c3d1bbe0ab83773bd838a1a80b --- /dev/null +++ b/apps/service/priv/service_room/History.proto @@ -0,0 +1,25 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "History.grpc"; +option java_outer_classname = "HistoryCls"; +import public "muc.proto"; +import public "p2p.proto"; +import public "historyType.proto"; + +message History { + string roster_id = 1; + oneof feed { + p2p feed20 = 20; + muc feed21 = 21; + } + int64 size = 3; + int64 entity_id = 4; + int64 data = 5; + historyType status = 6; +} diff --git a/apps/service/priv/service_room/Job.proto b/apps/service/priv/service_room/Job.proto new file mode 100644 index 0000000000000000000000000000000000000000..4dddb75d331d67929c552b5c00c507d42b434cbb --- /dev/null +++ b/apps/service/priv/service_room/Job.proto @@ -0,0 +1,34 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Job.grpc"; +option java_outer_classname = "JobCls"; +import public "act.proto"; +import public "jobType.proto"; +import public "Feature.proto"; +import public "Message.proto"; +import public "messageEvent.proto"; +import public "container.proto"; + +message Job { + int64 id = 1; + container container = 2; + act feed_id = 3; + int64 prev = 4; + int64 next = 5; + oneof context { + int64 context60 = 60; + string context61 = 61; + } + int64 proc = 7; + int64 time = 8; + repeated Message data = 9; + repeated messageEvent events = 10; + repeated Feature settings = 11; + jobType status = 12; +} diff --git a/apps/service/priv/service_room/Link.proto b/apps/service/priv/service_room/Link.proto new file mode 100644 index 0000000000000000000000000000000000000000..418c0ec15b2d088fef8f530eea2c6b7c34638d09 --- /dev/null +++ b/apps/service/priv/service_room/Link.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Link.grpc"; +option java_outer_classname = "LinkCls"; + +message Link { + string entity_id = 1; + string name = 2; + oneof type { + } + oneof status { + } +} diff --git a/apps/service/priv/service_room/Member.proto b/apps/service/priv/service_room/Member.proto new file mode 100644 index 0000000000000000000000000000000000000000..fa750d3ba8e902f87262133e69f543c46618ab61 --- /dev/null +++ b/apps/service/priv/service_room/Member.proto @@ -0,0 +1,41 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +import "google/protobuf/Any.proto"; +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Member.grpc"; +option java_outer_classname = "MemberCls"; +import public "Feature.proto"; +import public "presence.proto"; +import public "muc.proto"; +import public "p2p.proto"; +import public "memberStatus.proto"; +import public "Service.proto"; +import public "container.proto"; + +message Member { + int64 id = 1; + container container = 2; + oneof feed_id { + muc feed_id30 = 30; + p2p feed_id31 = 31; + } + int64 prev = 4; + int64 next = 5; + repeated google.protobuf.Any feeds = 6; + string phone_id = 7; + string avatar = 8; + string names = 9; + string surnames = 10; + string alias = 11; + int64 reader = 12; + int64 update = 13; + repeated Feature settings = 14; + repeated Service services = 15; + presence presence = 16; + memberStatus member_status = 17; +} diff --git a/apps/service/priv/service_room/Message.proto b/apps/service/priv/service_room/Message.proto new file mode 100644 index 0000000000000000000000000000000000000000..27f406712849d3818ccf0c2551ca1a41b08dddf3 --- /dev/null +++ b/apps/service/priv/service_room/Message.proto @@ -0,0 +1,42 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +import "google/protobuf/Any.proto"; +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Message.grpc"; +option java_outer_classname = "MessageCls"; +import public "messageType.proto"; +import public "messageStatus.proto"; +import public "muc.proto"; +import public "p2p.proto"; +import public "Desc.proto"; +import public "container.proto"; + +message Message { + int64 id = 1; + container container = 2; + oneof feed_id { + muc feed_id30 = 30; + p2p feed_id31 = 31; + } + int64 prev = 4; + int64 next = 5; + string msg_id = 6; + string from = 7; + string to = 8; + int64 created = 9; + repeated Desc files = 10; + messageType type = 11; + oneof link { + int64 link120 = 120; + Message link121 = 121; + } + repeated google.protobuf.Any seenby = 13; + repeated int64 repliedby = 14; + repeated int64 mentioned = 15; + messageStatus mstatus = 16; +} diff --git a/apps/service/priv/service_room/Room.proto b/apps/service/priv/service_room/Room.proto new file mode 100644 index 0000000000000000000000000000000000000000..13d1f556a2853b23fdd041862cb6917accca0740 --- /dev/null +++ b/apps/service/priv/service_room/Room.proto @@ -0,0 +1,40 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Room.grpc"; +option java_outer_classname = "RoomCls"; +import public "Member.proto"; +import public "Feature.proto"; +import public "Message.proto"; +import public "Desc.proto"; + +message Room { + string id = 1; + string name = 2; + string links = 3; + string description = 4; + repeated Feature settings = 5; + repeated Member members = 6; + repeated Member admins = 7; + repeated Desc data = 8; + oneof type { + } + string tos = 10; + int64 tos_update = 11; + int64 unread = 12; + repeated int64 mentions = 13; + repeated int64 readers = 14; + oneof last_msg { + int64 last_msg150 = 150; + Message last_msg151 = 151; + } + int64 update = 16; + int64 created = 17; + oneof status { + } +} diff --git a/apps/service/priv/service_room/Service.proto b/apps/service/priv/service_room/Service.proto new file mode 100644 index 0000000000000000000000000000000000000000..596afa5735d66b3a6f8aa3009ed201821af995c5 --- /dev/null +++ b/apps/service/priv/service_room/Service.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Service.grpc"; +option java_outer_classname = "ServiceCls"; +import public "Feature.proto"; +import public "serverType.proto"; +import public "serverStatus.proto"; + +message Service { + string id = 1; + string data = 2; + serverType type = 3; + repeated Feature setting = 4; + int64 expiration = 5; + serverStatus service_status = 6; +} diff --git a/apps/service/priv/service_room/Tag.proto b/apps/service/priv/service_room/Tag.proto new file mode 100644 index 0000000000000000000000000000000000000000..e2d1b28d2f59fa50b598c111781af2bd5c855afa --- /dev/null +++ b/apps/service/priv/service_room/Tag.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Tag.grpc"; +option java_outer_classname = "TagCls"; +import public "tagType.proto"; + +message Tag { + int64 roster_id = 1; + string name = 2; + string color = 3; + tagType tag_status = 4; +} diff --git a/apps/service/priv/service_room/act.proto b/apps/service/priv/service_room/act.proto new file mode 100644 index 0000000000000000000000000000000000000000..37952ea44cc00cd8c2679d8f72791dff2ef930b7 --- /dev/null +++ b/apps/service/priv/service_room/act.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "act.grpc"; +option java_outer_classname = "actCls"; + +message act { + string name = 1; + oneof data { + string data20 = 20; + int64 data21 = 21; + } +} diff --git a/apps/service/priv/service_room/container.proto b/apps/service/priv/service_room/container.proto new file mode 100644 index 0000000000000000000000000000000000000000..917329a001dc795736917f2a83318a846c92b0a0 --- /dev/null +++ b/apps/service/priv/service_room/container.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "container.grpc"; +option java_outer_classname = "containerCls"; + +enum container { + chain = 0; + cur = 1; +} + diff --git a/apps/service/priv/service_room/historyType.proto b/apps/service/priv/service_room/historyType.proto new file mode 100644 index 0000000000000000000000000000000000000000..0c53bbf16e4346cc9b41db43754d265fbb66db68 --- /dev/null +++ b/apps/service/priv/service_room/historyType.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "historyType.grpc"; +option java_outer_classname = "historyTypeCls"; + +enum historyType { + hupdated = 0; + hget = 1; + hupdate = 2; + hlast_loaded = 3; + hlast_msg = 4; + hget_reply = 5; +} + diff --git a/apps/service/priv/service_room/jobType.proto b/apps/service/priv/service_room/jobType.proto new file mode 100644 index 0000000000000000000000000000000000000000..72a84ff5f8aa1a8a2d4d9edb5947a6fee57f5de0 --- /dev/null +++ b/apps/service/priv/service_room/jobType.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "jobType.grpc"; +option java_outer_classname = "jobTypeCls"; + +enum jobType { + jinit = 0; + jupdate = 1; + jdelete = 2; + jpending = 3; + jstop = 4; + jcomplete = 5; +} + diff --git a/apps/service/priv/service_room/linkStatus.proto b/apps/service/priv/service_room/linkStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..1ff436f8b7cc12476bbee9b61013d146eb310a6e --- /dev/null +++ b/apps/service/priv/service_room/linkStatus.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "linkStatus.grpc"; +option java_outer_classname = "linkStatusCls"; + +enum linkStatus { + lgen = 0; + lcheck = 1; + ladd = 2; + ldelete = 3; + lupdate = 4; +} + diff --git a/apps/service/priv/service_room/memberStatus.proto b/apps/service/priv/service_room/memberStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..34bee9bab1e829d093d204aa6d228ad6b7030e16 --- /dev/null +++ b/apps/service/priv/service_room/memberStatus.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "memberStatus.grpc"; +option java_outer_classname = "memberStatusCls"; + +enum memberStatus { + admin = 0; + member = 1; + removed = 2; + patch = 3; + owner = 4; +} + diff --git a/apps/service/priv/service_room/messageEvent.proto b/apps/service/priv/service_room/messageEvent.proto new file mode 100644 index 0000000000000000000000000000000000000000..d339ffe55b1a9cd0f1f636dc95c2e725f111b7c3 --- /dev/null +++ b/apps/service/priv/service_room/messageEvent.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "messageEvent.grpc"; +option java_outer_classname = "messageEventCls"; + +message messageEvent { + string name = 1; + string payload = 2; + int64 timeout = 3; + string module = 4; +} diff --git a/apps/service/priv/service_room/messageStatus.proto b/apps/service/priv/service_room/messageStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..e792c4ee7d43d2d14c462e86719b5f7234c77a97 --- /dev/null +++ b/apps/service/priv/service_room/messageStatus.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "messageStatus.grpc"; +option java_outer_classname = "messageStatusCls"; + +enum messageStatus { + masync = 0; + mdelete = 1; + mclear = 2; + mupdate = 3; + medit = 4; +} + diff --git a/apps/service/priv/service_room/messageType.proto b/apps/service/priv/service_room/messageType.proto new file mode 100644 index 0000000000000000000000000000000000000000..d2b7c0088abc6746c0cc572422ef5e2abf0518b0 --- /dev/null +++ b/apps/service/priv/service_room/messageType.proto @@ -0,0 +1,20 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "messageType.grpc"; +option java_outer_classname = "messageTypeCls"; + +enum messageType { + sys = 0; + reply = 1; + forward = 2; + read = 3; + edited = 4; + cursor = 5; +} + diff --git a/apps/service/priv/service_room/muc.proto b/apps/service/priv/service_room/muc.proto new file mode 100644 index 0000000000000000000000000000000000000000..57ddef8afd34c4bac4fbe95eb665189b4acecd64 --- /dev/null +++ b/apps/service/priv/service_room/muc.proto @@ -0,0 +1,14 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "muc.grpc"; +option java_outer_classname = "mucCls"; + +message muc { + string name = 1; +} diff --git a/apps/service/priv/service_room/p2p.proto b/apps/service/priv/service_room/p2p.proto new file mode 100644 index 0000000000000000000000000000000000000000..e0d183961c5592bde7c90b761c88bc723657d7b8 --- /dev/null +++ b/apps/service/priv/service_room/p2p.proto @@ -0,0 +1,15 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "p2p.grpc"; +option java_outer_classname = "p2pCls"; + +message p2p { + string from = 1; + string to = 2; +} diff --git a/apps/service/priv/service_room/presence.proto b/apps/service/priv/service_room/presence.proto new file mode 100644 index 0000000000000000000000000000000000000000..bb9958e1c220bc8359b1bc504a478ae785d2330a --- /dev/null +++ b/apps/service/priv/service_room/presence.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "presence.grpc"; +option java_outer_classname = "presenceCls"; + +enum presence { + online = 0; + offline = 1; +} + diff --git a/apps/service/priv/service_room/roomStatus.proto b/apps/service/priv/service_room/roomStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..d6c14cfdefc7abea14e4b0934d48b5b4c3df184e --- /dev/null +++ b/apps/service/priv/service_room/roomStatus.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "roomStatus.grpc"; +option java_outer_classname = "roomStatusCls"; + +enum roomStatus { + room_create = 0; + room_leave = 1; + room_add = 2; + room_remove = 3; + room_patch = 4; + room_get = 5; + room_delete = 6; + room_last_msg = 7; +} + diff --git a/apps/service/priv/service_room/roomType.proto b/apps/service/priv/service_room/roomType.proto new file mode 100644 index 0000000000000000000000000000000000000000..1ce70af7b7bc0aaa2f9e1d0e679bff39eda61df1 --- /dev/null +++ b/apps/service/priv/service_room/roomType.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "roomType.grpc"; +option java_outer_classname = "roomTypeCls"; + +enum roomType { + group = 0; + channel = 1; +} + diff --git a/apps/service/priv/service_room/serverStatus.proto b/apps/service/priv/service_room/serverStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..045d8ed0e6398ae96a789eb4be7fe94a18eea87b --- /dev/null +++ b/apps/service/priv/service_room/serverStatus.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverStatus.grpc"; +option java_outer_classname = "serverStatusCls"; + +enum serverStatus { + servie_verified = 0; + service_not_verified = 1; +} + diff --git a/apps/service/priv/service_room/serverType.proto b/apps/service/priv/service_room/serverType.proto new file mode 100644 index 0000000000000000000000000000000000000000..eeefc6b5cf0c7636f541b841362890e13bdc18a4 --- /dev/null +++ b/apps/service/priv/service_room/serverType.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverType.grpc"; +option java_outer_classname = "serverTypeCls"; + +enum serverType { + email = 0; + wallet = 1; + google_type = 2; + fb = 3; + phone = 4; +} + diff --git a/apps/service/priv/service_room/tagType.proto b/apps/service/priv/service_room/tagType.proto new file mode 100644 index 0000000000000000000000000000000000000000..c0f05076e5560cb938673108fc12ea211649a296 --- /dev/null +++ b/apps/service/priv/service_room/tagType.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_room; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "tagType.grpc"; +option java_outer_classname = "tagTypeCls"; + +enum tagType { + tag_create = 0; + tag_remove = 1; + tag_edit = 2; +} + diff --git a/apps/service/priv/service_roster/1compile.sh b/apps/service/priv/service_roster/1compile.sh new file mode 100755 index 0000000000000000000000000000000000000000..6ad626dee21b25f4fa0b9b918f9631377fd75f88 --- /dev/null +++ b/apps/service/priv/service_roster/1compile.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +protoc *.proto --java_out=java diff --git a/apps/service/priv/service_roster/Contact.proto b/apps/service/priv/service_roster/Contact.proto new file mode 100644 index 0000000000000000000000000000000000000000..8fcb3eec68396638ffd6bec97b6d78ec62432370 --- /dev/null +++ b/apps/service/priv/service_roster/Contact.proto @@ -0,0 +1,32 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +import "google/protobuf/Any.proto"; +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Contact.grpc"; +option java_outer_classname = "ContactCls"; +import public "Feature.proto"; +import public "contactStatus.proto"; +import public "presence.proto"; +import public "Service.proto"; + +message Contact { + string user_id = 1; + repeated int64 avatar = 2; + string names = 3; + string surnames = 4; + string nick = 5; + repeated google.protobuf.Any reader = 6; + int64 unread = 7; + int64 last_msg = 8; + int64 update = 9; + int64 created = 10; + repeated Feature settings = 11; + repeated Service services = 12; + presence presence = 13; + contactStatus status = 14; +} diff --git a/apps/service/priv/service_roster/Desc.proto b/apps/service/priv/service_roster/Desc.proto new file mode 100644 index 0000000000000000000000000000000000000000..99c421db4a2cc404394a5ca6f59c76a9ff1968d8 --- /dev/null +++ b/apps/service/priv/service_roster/Desc.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Desc.grpc"; +option java_outer_classname = "DescCls"; +import public "Feature.proto"; + +message Desc { + string id = 1; + string mime = 2; + string payload = 3; + string parentid = 4; + repeated Feature data = 5; +} diff --git a/apps/service/priv/service_roster/Feature.proto b/apps/service/priv/service_roster/Feature.proto new file mode 100644 index 0000000000000000000000000000000000000000..3859dcf675244820ed48253043efa88c789b12ca --- /dev/null +++ b/apps/service/priv/service_roster/Feature.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Feature.grpc"; +option java_outer_classname = "FeatureCls"; + +message Feature { + string id = 1; + string key = 2; + string value = 3; + string group = 4; +} diff --git a/apps/service/priv/service_roster/Roster.proto b/apps/service/priv/service_roster/Roster.proto new file mode 100644 index 0000000000000000000000000000000000000000..956afea8e247d9b5f5918227e60199e76cc2b77e --- /dev/null +++ b/apps/service/priv/service_roster/Roster.proto @@ -0,0 +1,28 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Roster.grpc"; +option java_outer_classname = "RosterCls"; +import public "Contact.proto"; +import public "rosterStatus.proto"; + +message Roster { + int64 id = 1; + string names = 2; + string surnames = 3; + string email = 4; + string nick = 5; + repeated Contact userlist = 6; + repeated int64 roomlist = 7; + repeated int64 favorite = 8; + repeated int64 tags = 9; + string phone = 10; + string avatar = 11; + int64 update = 12; + rosterStatus rosterStatus = 13; +} diff --git a/apps/service/priv/service_roster/Service.proto b/apps/service/priv/service_roster/Service.proto new file mode 100644 index 0000000000000000000000000000000000000000..180788cd3120cf232a2ae3d76bfd8b31d2512d8c --- /dev/null +++ b/apps/service/priv/service_roster/Service.proto @@ -0,0 +1,22 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Service.grpc"; +option java_outer_classname = "ServiceCls"; +import public "Feature.proto"; +import public "serverType.proto"; +import public "serverStatus.proto"; + +message Service { + string id = 1; + string data = 2; + serverType type = 3; + repeated Feature setting = 4; + int64 expiration = 5; + serverStatus service_status = 6; +} diff --git a/apps/service/priv/service_roster/Tag.proto b/apps/service/priv/service_roster/Tag.proto new file mode 100644 index 0000000000000000000000000000000000000000..8fc287a05eaaad8fd0c198be1a9957ddd4e3e28f --- /dev/null +++ b/apps/service/priv/service_roster/Tag.proto @@ -0,0 +1,18 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "Tag.grpc"; +option java_outer_classname = "TagCls"; +import public "tagType.proto"; + +message Tag { + int64 roster_id = 1; + string name = 2; + string color = 3; + tagType tag_status = 4; +} diff --git a/apps/service/priv/service_roster/contactStatus.proto b/apps/service/priv/service_roster/contactStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..be8237beaf778b4d4c5886301b1b5b8a5105f1ef --- /dev/null +++ b/apps/service/priv/service_roster/contactStatus.proto @@ -0,0 +1,23 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "contactStatus.grpc"; +option java_outer_classname = "contactStatusCls"; + +enum contactStatus { + conact_request = 0; + authorization = 1; + contact_ignore = 2; + conatct_internal = 3; + friend = 4; + contact_last_msg = 5; + contact_ban = 6; + conact_banned = 7; + contact_deleted = 8; +} + diff --git a/apps/service/priv/service_roster/muc.proto b/apps/service/priv/service_roster/muc.proto new file mode 100644 index 0000000000000000000000000000000000000000..039c4d5224bc7eb1da2776ef8655526ef97bc6de --- /dev/null +++ b/apps/service/priv/service_roster/muc.proto @@ -0,0 +1,14 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "muc.grpc"; +option java_outer_classname = "mucCls"; + +message muc { + string name = 1; +} diff --git a/apps/service/priv/service_roster/p2p.proto b/apps/service/priv/service_roster/p2p.proto new file mode 100644 index 0000000000000000000000000000000000000000..46a95b911cc13c55a16713e889979ea363ab62c1 --- /dev/null +++ b/apps/service/priv/service_roster/p2p.proto @@ -0,0 +1,15 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "p2p.grpc"; +option java_outer_classname = "p2pCls"; + +message p2p { + string from = 1; + string to = 2; +} diff --git a/apps/service/priv/service_roster/presence.proto b/apps/service/priv/service_roster/presence.proto new file mode 100644 index 0000000000000000000000000000000000000000..3c2a5c119cf0afea9d4a01b3029a5cd329a15002 --- /dev/null +++ b/apps/service/priv/service_roster/presence.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "presence.grpc"; +option java_outer_classname = "presenceCls"; + +enum presence { + online = 0; + offline = 1; +} + diff --git a/apps/service/priv/service_roster/rosterStatus.proto b/apps/service/priv/service_roster/rosterStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..65c391024ba14d93be03838e546653f8e0955635 --- /dev/null +++ b/apps/service/priv/service_roster/rosterStatus.proto @@ -0,0 +1,24 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "rosterStatus.grpc"; +option java_outer_classname = "rosterStatusCls"; + +enum rosterStatus { + get_roster = 0; + create_roster = 1; + del_roster = 2; + remove_roster = 3; + nick = 4; + add_roster = 5; + update_roster = 6; + list_loster = 7; + patch_roster = 8; + roster_last_msg = 9; +} + diff --git a/apps/service/priv/service_roster/serverStatus.proto b/apps/service/priv/service_roster/serverStatus.proto new file mode 100644 index 0000000000000000000000000000000000000000..57d0314df734039ae7f2f61934c06d9bde997567 --- /dev/null +++ b/apps/service/priv/service_roster/serverStatus.proto @@ -0,0 +1,16 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverStatus.grpc"; +option java_outer_classname = "serverStatusCls"; + +enum serverStatus { + servie_verified = 0; + service_not_verified = 1; +} + diff --git a/apps/service/priv/service_roster/serverType.proto b/apps/service/priv/service_roster/serverType.proto new file mode 100644 index 0000000000000000000000000000000000000000..7ca622a890869f2b71d6dafec6d7f9cdac7bfc7d --- /dev/null +++ b/apps/service/priv/service_roster/serverType.proto @@ -0,0 +1,19 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "serverType.grpc"; +option java_outer_classname = "serverTypeCls"; + +enum serverType { + email = 0; + wallet = 1; + google_type = 2; + fb = 3; + phone = 4; +} + diff --git a/apps/service/priv/service_roster/tagType.proto b/apps/service/priv/service_roster/tagType.proto new file mode 100644 index 0000000000000000000000000000000000000000..73981ba16a735570949d6021bd25098ad4fcc555 --- /dev/null +++ b/apps/service/priv/service_roster/tagType.proto @@ -0,0 +1,17 @@ +// Generated by https://github.com/synrc/bert +// DO NOT EDIT + +syntax = "proto3"; +package service_roster; + +option java_generic_services = true; +option java_multiple_files = true; +option java_package = "tagType.grpc"; +option java_outer_classname = "tagTypeCls"; + +enum tagType { + tag_create = 0; + tag_remove = 1; + tag_edit = 2; +} +