From 735bca5e9e7fd126e1f26297334c7bab8d19d2d2 Mon Sep 17 00:00:00 2001 From: "radostin.dimitrov" Date: Fri, 19 Apr 2019 16:40:24 +0300 Subject: [PATCH] Reimplementing joinlink WIP --- apps/roster/include/roster.hrl | 10 +- .../priv/macbert/Model/FakeNumbers.swift | 5 + apps/roster/priv/macbert/Model/Presence.swift | 5 + apps/roster/priv/macbert/Model/Room.swift | 2 +- apps/roster/priv/macbert/Model/cx.swift | 17 +++ apps/roster/priv/macbert/Model/load.swift | 4 + apps/roster/priv/macbert/Source/Decoder.swift | 2 +- .../priv/macbert/Spec/FakeNumbers_Spec.swift | 8 ++ .../priv/macbert/Spec/Presence_Spec.swift | 8 ++ apps/roster/priv/macbert/Spec/Room_Spec.swift | 2 +- apps/roster/priv/macbert/Spec/cx_Spec.swift | 40 ++++++ apps/roster/priv/macbert/Spec/load_Spec.swift | 5 + apps/roster/priv/macbert/json-bert.js | 10 +- apps/roster/src/protocol/roster_link.erl | 118 ++++++++++-------- apps/roster/src/protocol/roster_room.erl | 6 +- apps/roster/src/roster.erl | 4 +- apps/roster/src/roster_validator.erl | 7 +- apps/roster/src/test/room_test.erl | 52 ++++---- apps/service/priv/service_auth/1compile.sh | 3 + apps/service/priv/service_auth/Auth.proto | 30 +++++ .../service/priv/service_auth/AuthError.proto | 17 +++ apps/service/priv/service_auth/Desc.proto | 19 +++ apps/service/priv/service_auth/Feature.proto | 17 +++ apps/service/priv/service_auth/Service.proto | 22 ++++ apps/service/priv/service_auth/Tag.proto | 18 +++ apps/service/priv/service_auth/authOs.proto | 17 +++ .../priv/service_auth/authStatus.proto | 23 ++++ apps/service/priv/service_auth/authType.proto | 26 ++++ apps/service/priv/service_auth/presence.proto | 16 +++ .../priv/service_auth/serverStatus.proto | 16 +++ .../priv/service_auth/serverType.proto | 19 +++ apps/service/priv/service_auth/tagType.proto | 17 +++ apps/service/priv/service_friend/1compile.sh | 3 + .../service/priv/service_friend/Contact.proto | 32 +++++ apps/service/priv/service_friend/Desc.proto | 19 +++ .../service/priv/service_friend/Feature.proto | 17 +++ apps/service/priv/service_friend/Friend.proto | 19 +++ apps/service/priv/service_friend/Roster.proto | 28 +++++ .../service/priv/service_friend/Service.proto | 22 ++++ apps/service/priv/service_friend/Tag.proto | 18 +++ .../priv/service_friend/contactStatus.proto | 23 ++++ .../priv/service_friend/friendStatus.proto | 20 +++ apps/service/priv/service_friend/muc.proto | 14 +++ apps/service/priv/service_friend/p2p.proto | 15 +++ .../priv/service_friend/presence.proto | 16 +++ .../priv/service_friend/rosterStatus.proto | 24 ++++ .../priv/service_friend/serverStatus.proto | 16 +++ .../priv/service_friend/serverType.proto | 19 +++ .../service/priv/service_friend/tagType.proto | 17 +++ apps/service/priv/service_message/1compile.sh | 3 + apps/service/priv/service_message/Desc.proto | 19 +++ .../priv/service_message/Feature.proto | 17 +++ .../priv/service_message/History.proto | 25 ++++ apps/service/priv/service_message/Job.proto | 34 +++++ .../priv/service_message/Message.proto | 42 +++++++ .../priv/service_message/Service.proto | 22 ++++ apps/service/priv/service_message/Tag.proto | 18 +++ apps/service/priv/service_message/act.proto | 18 +++ .../priv/service_message/container.proto | 16 +++ .../priv/service_message/historyType.proto | 20 +++ .../priv/service_message/jobType.proto | 20 +++ .../priv/service_message/messageEvent.proto | 17 +++ .../priv/service_message/messageStatus.proto | 19 +++ .../priv/service_message/messageType.proto | 20 +++ apps/service/priv/service_message/muc.proto | 14 +++ apps/service/priv/service_message/p2p.proto | 15 +++ .../priv/service_message/presence.proto | 16 +++ .../priv/service_message/serverStatus.proto | 16 +++ .../priv/service_message/serverType.proto | 19 +++ .../priv/service_message/tagType.proto | 17 +++ apps/service/priv/service_profile/1compile.sh | 3 + apps/service/priv/service_profile/Desc.proto | 19 +++ .../priv/service_profile/Feature.proto | 17 +++ .../priv/service_profile/Profile.proto | 25 ++++ .../priv/service_profile/Service.proto | 22 ++++ apps/service/priv/service_profile/Tag.proto | 18 +++ .../priv/service_profile/presence.proto | 16 +++ .../priv/service_profile/profileStatus.proto | 17 +++ .../priv/service_profile/serverStatus.proto | 16 +++ .../priv/service_profile/serverType.proto | 19 +++ .../priv/service_profile/tagType.proto | 17 +++ apps/service/priv/service_room/1compile.sh | 3 + apps/service/priv/service_room/Desc.proto | 19 +++ apps/service/priv/service_room/Feature.proto | 17 +++ apps/service/priv/service_room/History.proto | 25 ++++ apps/service/priv/service_room/Job.proto | 34 +++++ apps/service/priv/service_room/Link.proto | 19 +++ apps/service/priv/service_room/Member.proto | 41 ++++++ apps/service/priv/service_room/Message.proto | 42 +++++++ apps/service/priv/service_room/Room.proto | 40 ++++++ apps/service/priv/service_room/Service.proto | 22 ++++ apps/service/priv/service_room/Tag.proto | 18 +++ apps/service/priv/service_room/act.proto | 18 +++ .../service/priv/service_room/container.proto | 16 +++ .../priv/service_room/historyType.proto | 20 +++ apps/service/priv/service_room/jobType.proto | 20 +++ .../priv/service_room/linkStatus.proto | 19 +++ .../priv/service_room/memberStatus.proto | 19 +++ .../priv/service_room/messageEvent.proto | 17 +++ .../priv/service_room/messageStatus.proto | 19 +++ .../priv/service_room/messageType.proto | 20 +++ apps/service/priv/service_room/muc.proto | 14 +++ apps/service/priv/service_room/p2p.proto | 15 +++ apps/service/priv/service_room/presence.proto | 16 +++ .../priv/service_room/roomStatus.proto | 22 ++++ apps/service/priv/service_room/roomType.proto | 16 +++ .../priv/service_room/serverStatus.proto | 16 +++ .../priv/service_room/serverType.proto | 19 +++ apps/service/priv/service_room/tagType.proto | 17 +++ apps/service/priv/service_roster/1compile.sh | 3 + .../service/priv/service_roster/Contact.proto | 32 +++++ apps/service/priv/service_roster/Desc.proto | 19 +++ .../service/priv/service_roster/Feature.proto | 17 +++ apps/service/priv/service_roster/Roster.proto | 28 +++++ .../service/priv/service_roster/Service.proto | 22 ++++ apps/service/priv/service_roster/Tag.proto | 18 +++ .../priv/service_roster/contactStatus.proto | 23 ++++ apps/service/priv/service_roster/muc.proto | 14 +++ apps/service/priv/service_roster/p2p.proto | 15 +++ .../priv/service_roster/presence.proto | 16 +++ .../priv/service_roster/rosterStatus.proto | 24 ++++ .../priv/service_roster/serverStatus.proto | 16 +++ .../priv/service_roster/serverType.proto | 19 +++ .../service/priv/service_roster/tagType.proto | 17 +++ 124 files changed, 2258 insertions(+), 91 deletions(-) create mode 100644 apps/roster/priv/macbert/Model/FakeNumbers.swift create mode 100644 apps/roster/priv/macbert/Model/Presence.swift create mode 100644 apps/roster/priv/macbert/Model/cx.swift create mode 100644 apps/roster/priv/macbert/Model/load.swift create mode 100644 apps/roster/priv/macbert/Spec/FakeNumbers_Spec.swift create mode 100644 apps/roster/priv/macbert/Spec/Presence_Spec.swift create mode 100644 apps/roster/priv/macbert/Spec/cx_Spec.swift create mode 100644 apps/roster/priv/macbert/Spec/load_Spec.swift create mode 100755 apps/service/priv/service_auth/1compile.sh create mode 100644 apps/service/priv/service_auth/Auth.proto create mode 100644 apps/service/priv/service_auth/AuthError.proto create mode 100644 apps/service/priv/service_auth/Desc.proto create mode 100644 apps/service/priv/service_auth/Feature.proto create mode 100644 apps/service/priv/service_auth/Service.proto create mode 100644 apps/service/priv/service_auth/Tag.proto create mode 100644 apps/service/priv/service_auth/authOs.proto create mode 100644 apps/service/priv/service_auth/authStatus.proto create mode 100644 apps/service/priv/service_auth/authType.proto create mode 100644 apps/service/priv/service_auth/presence.proto create mode 100644 apps/service/priv/service_auth/serverStatus.proto create mode 100644 apps/service/priv/service_auth/serverType.proto create mode 100644 apps/service/priv/service_auth/tagType.proto create mode 100755 apps/service/priv/service_friend/1compile.sh create mode 100644 apps/service/priv/service_friend/Contact.proto create mode 100644 apps/service/priv/service_friend/Desc.proto create mode 100644 apps/service/priv/service_friend/Feature.proto create mode 100644 apps/service/priv/service_friend/Friend.proto create mode 100644 apps/service/priv/service_friend/Roster.proto create mode 100644 apps/service/priv/service_friend/Service.proto create mode 100644 apps/service/priv/service_friend/Tag.proto create mode 100644 apps/service/priv/service_friend/contactStatus.proto create mode 100644 apps/service/priv/service_friend/friendStatus.proto create mode 100644 apps/service/priv/service_friend/muc.proto create mode 100644 apps/service/priv/service_friend/p2p.proto create mode 100644 apps/service/priv/service_friend/presence.proto create mode 100644 apps/service/priv/service_friend/rosterStatus.proto create mode 100644 apps/service/priv/service_friend/serverStatus.proto create mode 100644 apps/service/priv/service_friend/serverType.proto create mode 100644 apps/service/priv/service_friend/tagType.proto create mode 100755 apps/service/priv/service_message/1compile.sh create mode 100644 apps/service/priv/service_message/Desc.proto create mode 100644 apps/service/priv/service_message/Feature.proto create mode 100644 apps/service/priv/service_message/History.proto create mode 100644 apps/service/priv/service_message/Job.proto create mode 100644 apps/service/priv/service_message/Message.proto create mode 100644 apps/service/priv/service_message/Service.proto create mode 100644 apps/service/priv/service_message/Tag.proto create mode 100644 apps/service/priv/service_message/act.proto create mode 100644 apps/service/priv/service_message/container.proto create mode 100644 apps/service/priv/service_message/historyType.proto create mode 100644 apps/service/priv/service_message/jobType.proto create mode 100644 apps/service/priv/service_message/messageEvent.proto create mode 100644 apps/service/priv/service_message/messageStatus.proto create mode 100644 apps/service/priv/service_message/messageType.proto create mode 100644 apps/service/priv/service_message/muc.proto create mode 100644 apps/service/priv/service_message/p2p.proto create mode 100644 apps/service/priv/service_message/presence.proto create mode 100644 apps/service/priv/service_message/serverStatus.proto create mode 100644 apps/service/priv/service_message/serverType.proto create mode 100644 apps/service/priv/service_message/tagType.proto create mode 100755 apps/service/priv/service_profile/1compile.sh create mode 100644 apps/service/priv/service_profile/Desc.proto create mode 100644 apps/service/priv/service_profile/Feature.proto create mode 100644 apps/service/priv/service_profile/Profile.proto create mode 100644 apps/service/priv/service_profile/Service.proto create mode 100644 apps/service/priv/service_profile/Tag.proto create mode 100644 apps/service/priv/service_profile/presence.proto create mode 100644 apps/service/priv/service_profile/profileStatus.proto create mode 100644 apps/service/priv/service_profile/serverStatus.proto create mode 100644 apps/service/priv/service_profile/serverType.proto create mode 100644 apps/service/priv/service_profile/tagType.proto create mode 100755 apps/service/priv/service_room/1compile.sh create mode 100644 apps/service/priv/service_room/Desc.proto create mode 100644 apps/service/priv/service_room/Feature.proto create mode 100644 apps/service/priv/service_room/History.proto create mode 100644 apps/service/priv/service_room/Job.proto create mode 100644 apps/service/priv/service_room/Link.proto create mode 100644 apps/service/priv/service_room/Member.proto create mode 100644 apps/service/priv/service_room/Message.proto create mode 100644 apps/service/priv/service_room/Room.proto create mode 100644 apps/service/priv/service_room/Service.proto create mode 100644 apps/service/priv/service_room/Tag.proto create mode 100644 apps/service/priv/service_room/act.proto create mode 100644 apps/service/priv/service_room/container.proto create mode 100644 apps/service/priv/service_room/historyType.proto create mode 100644 apps/service/priv/service_room/jobType.proto create mode 100644 apps/service/priv/service_room/linkStatus.proto create mode 100644 apps/service/priv/service_room/memberStatus.proto create mode 100644 apps/service/priv/service_room/messageEvent.proto create mode 100644 apps/service/priv/service_room/messageStatus.proto create mode 100644 apps/service/priv/service_room/messageType.proto create mode 100644 apps/service/priv/service_room/muc.proto create mode 100644 apps/service/priv/service_room/p2p.proto create mode 100644 apps/service/priv/service_room/presence.proto create mode 100644 apps/service/priv/service_room/roomStatus.proto create mode 100644 apps/service/priv/service_room/roomType.proto create mode 100644 apps/service/priv/service_room/serverStatus.proto create mode 100644 apps/service/priv/service_room/serverType.proto create mode 100644 apps/service/priv/service_room/tagType.proto create mode 100755 apps/service/priv/service_roster/1compile.sh create mode 100644 apps/service/priv/service_roster/Contact.proto create mode 100644 apps/service/priv/service_roster/Desc.proto create mode 100644 apps/service/priv/service_roster/Feature.proto create mode 100644 apps/service/priv/service_roster/Roster.proto create mode 100644 apps/service/priv/service_roster/Service.proto create mode 100644 apps/service/priv/service_roster/Tag.proto create mode 100644 apps/service/priv/service_roster/contactStatus.proto create mode 100644 apps/service/priv/service_roster/muc.proto create mode 100644 apps/service/priv/service_roster/p2p.proto create mode 100644 apps/service/priv/service_roster/presence.proto create mode 100644 apps/service/priv/service_roster/rosterStatus.proto create mode 100644 apps/service/priv/service_roster/serverStatus.proto create mode 100644 apps/service/priv/service_roster/serverType.proto create mode 100644 apps/service/priv/service_roster/tagType.proto diff --git a/apps/roster/include/roster.hrl b/apps/roster/include/roster.hrl index 2055488fd..435a06db9 100644 --- a/apps/roster/include/roster.hrl +++ b/apps/roster/include/roster.hrl @@ -138,14 +138,14 @@ mentioned = [] :: [] | list(integer()), status = [] :: [] | async | delete | clear| update | edit}). --record('Link', {entity_id = [] :: [] | binary(), %% Room id etc - name = [] :: [] | binary(), %% actually the link - type = [] :: [] | group | channel, - status = [] :: [] | get | join | update | delete }). +-record('Link', {id = [] :: [] | binary(), %% actually the link + name = [] :: [] | binary(), %% Room id etc + type = [] :: [] | group | channel, + status = [] :: [] | get | join | update | delete }). -record('Room', {id = [] :: [] | binary(), name = [] :: [] | binary(), - links = [] :: [] | binary(), + links = [] :: [] | list(#'Link'{}), description = [] :: [] | binary(), settings = [] :: list(#'Feature'{}), members = [] :: list(#'Member'{}), diff --git a/apps/roster/priv/macbert/Model/FakeNumbers.swift b/apps/roster/priv/macbert/Model/FakeNumbers.swift new file mode 100644 index 000000000..4d959be0d --- /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 000000000..a23bb051f --- /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/Room.swift b/apps/roster/priv/macbert/Model/Room.swift index 0903cd57c..49fbc18bd 100644 --- a/apps/roster/priv/macbert/Model/Room.swift +++ b/apps/roster/priv/macbert/Model/Room.swift @@ -2,7 +2,7 @@ class Room { var id: String? var name: String? - var links: String? + var links: [AnyObject]? var description: String? var settings: [Feature]? var members: [Member]? diff --git a/apps/roster/priv/macbert/Model/cx.swift b/apps/roster/priv/macbert/Model/cx.swift new file mode 100644 index 000000000..d9a47de8b --- /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 000000000..a9edca680 --- /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/Source/Decoder.swift b/apps/roster/priv/macbert/Source/Decoder.swift index 41e5f0d6d..5b7508645 100644 --- a/apps/roster/priv/macbert/Source/Decoder.swift +++ b/apps/roster/priv/macbert/Source/Decoder.swift @@ -382,7 +382,7 @@ func parseObject(name: String, body:[Model], tuple: BertTuple) -> AnyObject? let a_Room = Room() a_Room.id = body[0].parse(bert: tuple.elements[1]) as? String a_Room.name = body[1].parse(bert: tuple.elements[2]) as? String - a_Room.links = body[2].parse(bert: tuple.elements[3]) as? String + a_Room.links = body[2].parse(bert: tuple.elements[3]) as? [AnyObject] a_Room.description = body[3].parse(bert: tuple.elements[4]) as? String a_Room.settings = body[4].parse(bert: tuple.elements[5]) as? [Feature] a_Room.members = body[5].parse(bert: tuple.elements[6]) as? [Member] 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 000000000..14e4134af --- /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 000000000..e058eefe1 --- /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/Room_Spec.swift b/apps/roster/priv/macbert/Spec/Room_Spec.swift index 7b4a2d357..7fe4708f0 100644 --- a/apps/roster/priv/macbert/Spec/Room_Spec.swift +++ b/apps/roster/priv/macbert/Spec/Room_Spec.swift @@ -8,7 +8,7 @@ func get_Room() -> Model { Model(value:Binary())])), Model(value:Chain(types:[ Model(value:List(constant:"")), - Model(value:Binary())])), + Model(value:List(constant:nil, model:Model(value:Binary())))])), Model(value:Chain(types:[ Model(value:List(constant:"")), 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 000000000..20354a853 --- /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 000000000..9fc939a4d --- /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/priv/macbert/json-bert.js b/apps/roster/priv/macbert/json-bert.js index dc0d59f1b..714a2d23a 100644 --- a/apps/roster/priv/macbert/json-bert.js +++ b/apps/roster/priv/macbert/json-bert.js @@ -1073,7 +1073,10 @@ function encRoom(d) { var tup = atom('Room'); var id = 'id' in d && d.id ? bin(d.id) : nil(); var name = 'name' in d && d.name ? bin(d.name) : nil(); - var links = 'links' in d && d.links ? bin(d.links) : nil(); + var links = []; if ('links' in d && d.links) + { d.links.forEach(function(x){ + links.push(encode(x))}); + links={t:108,v:links}; } else { links = nil() }; var description = 'description' in d && d.description ? bin(d.description) : nil(); var settings = []; if ('settings' in d && d.settings) { d.settings.forEach(function(x){ @@ -1115,7 +1118,10 @@ function decRoom(d) { var r={}; r.tup = 'Room'; r.id = d && d.v[1] ? utf8_arr(d.v[1].v) : undefined; r.name = d && d.v[2] ? utf8_arr(d.v[2].v) : undefined; - r.links = d && d.v[3] ? utf8_arr(d.v[3].v) : undefined; + r.links = []; + (d && d.v[3] && d.v[3].v) ? + d.v[3].v.forEach(function(x){r.links.push(decode(x))}) : + r.links = undefined; r.description = d && d.v[4] ? utf8_arr(d.v[4].v) : undefined; r.settings = []; (d && d.v[5] && d.v[5].v) ? diff --git a/apps/roster/src/protocol/roster_link.erl b/apps/roster/src/protocol/roster_link.erl index 8caddef2e..0ba31b4eb 100644 --- a/apps/roster/src/protocol/roster_link.erl +++ b/apps/roster/src/protocol/roster_link.erl @@ -6,12 +6,12 @@ -include_lib("n2o/include/n2o.hrl"). -compile(export_all). -info(#'Link'{status = join = LStatus, type = group, name = LinkId} = RequestData, +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 kvs:index('Room', links, LinkId) of - [#'Room'{id = RoomId} = Room] -> - #'Member'{id = MemberId, reader = MemberReader} = +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; _ -> @@ -34,48 +34,38 @@ info(#'Link'{status = join = LStatus, type = group, name = LinkId} = RequestData 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}); - _ -> - io_error_code(room_not_found) - end, + #error{code = not_found} = Err -> Err + end, roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; -info(#'Link'{status = update = LStatus, name = LinkId, type = group, entity_id = RoomId} = RequestData, +info(#'Link'{id = LinkId, name = RoomId, type = group, status = update = LStatus} = RequestData, Req, #cx{params = ClientId} = State) when RoomId /= [], LinkId /= [] -> roster:info(?MODULE, "~p:Link/~p:~p", [ClientId, LStatus, RequestData]), - Res = case {kvs:index('Room', links, LinkId), roster:muc_member(ClientId, RoomId)} of - {[#'Room'{id = RoomId, links = LinkId}], #'Member'{status = admin}} -> - update_link('Room', RoomId, RequestData); - {[#'Room'{id = RoomId, links = LinkId}], #'Member'{}} -> - io_error_code(permission_denied); - {_, _} -> - io_error_code(invalide_data) + 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) end, roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; -info(#'Link'{status = get = LStatus, type = Type, name = LinkId} = RequestData, +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 kvs:index('Room', links, LinkId) of - [#'Room'{links = LinkId} = Room] -> Room#'Room'{status = info}; - [] -> io_error_code(room_not_found) - end, + 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, roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; -info(#'Link'{status = delete = LStatus, name = LinkId, type = group, entity_id = RoomId} = RequestData, - Req, #cx{params = ClientId} = State) when RoomId /= [], LinkId /= [] -> +info(#'Link'{status = delete = LStatus} = RequestData, Req, #cx{params = ClientId} = State) -> roster:info(?MODULE, "~p:Link/~p:~p", [ClientId, LStatus, RequestData]), - Res = case {kvs:index('Room', links, LinkId), roster:muc_member(ClientId, RoomId)} of - {[#'Room'{id = RoomId, links = LinkId} = Room], #'Member'{status = admin}} -> - ok = kvs:put(Room#'Room'{links = []}), - RequestData#'Link'{name = []}; - {[#'Room'{id = RoomId, links = LinkId}], #'Member'{}} -> - io_error_code(permission_denied); - {_, _} -> - io_error_code(invalide_data) - end, + Res = error_code(permission_denied), roster:info(?MODULE, "Link/~p.Response:~p", [Res, LStatus]), {reply, {bert, Res}, Req, State}; @@ -83,26 +73,54 @@ 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}. -hash(Data) -> - {_, <>} = - roster:gen_token([], Data), Hash. -gen_link(Id) -> - Link = hash(Id), - case kvs:index('Room', links, Link) of - [] -> Link; - _ -> gen_link(Id) - end. +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'{ + % id = <>, + id = LinkId, + name = RoomId, + type = group + }. + +update_link(RoomId, #'Link'{name = LinkId} = Link) -> + Res = 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. -update_link(T, EId, #'Link'{name = LinkId} = Link) -> - case kvs:get(T, EId) of - #ok{code = #'Room'{links = LinkId} = Room} -> - LinkId0 = gen_link(join_link), - ok = kvs:put(Room#'Room'{links = LinkId0}), - Link#'Link'{name = LinkId0}; - #error{} -> io_error_code(room_not_found) - end. +purge_link(RoomId)-> + [kvs:delete('Link', Lid) || #'Link'{id = Lid,name = RoomId}<- kvs:all('Link')], + ok. -io_error_code(Payload) -> io_code(#error{code = Payload}). -io_ok_code(Payload) -> io_code(#ok{code = Payload}). +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 + #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)). io_code(Payload) -> #io{code = Payload}. +error_code(Payload) -> #error{code = Payload}. +ok_code(Payload) -> #ok{code =Payload}. diff --git a/apps/roster/src/protocol/roster_room.erl b/apps/roster/src/protocol/roster_room.erl index 63fc2e1b0..e69babdee 100644 --- a/apps/roster/src/protocol/roster_room.erl +++ b/apps/roster/src/protocol/roster_room.erl @@ -4,6 +4,8 @@ -include_lib("roster/include/static/roster_text.hrl"). -compile(export_all). +-import(roster_link,[gen_link/1]). + -define(MAX_ROOM_LENGTH, 32). -define(MIN_ROOM_LENGTH, 1). @@ -13,7 +15,9 @@ info(#'Room'{status = create, id = Room, admins = [Admin|_]} = R, Req, #cx{state = verified} = State) -> kvs_stream:save(#writer{id = #muc{name = Room}}), roster:subscribe_room(Admin#'Member'{presence = online}), - kvs:put(R#'Room'{status = [], id = Room, members = [], admins = [], links = roster_link:gen_link(join_link),created = roster:now_msec()}), + Link = gen_link(Room), + ok = kvs:put(R#'Room'{status = [], id = Room, links = [Link], members = [], admins = [], created = roster:now_msec()}), + ok = kvs:put(Link), info(R#'Room'{status = add, id = Room}, Req, State#cx{state = create}); info(#'Room'{status = create, id = <>, name = Name, admins = [Owner|TA]= Admins, members = Members, data = Data} = R, Req, #cx{params = ClientId} = State) -> diff --git a/apps/roster/src/roster.erl b/apps/roster/src/roster.erl index 16762f74c..8efcefd88 100644 --- a/apps/roster/src/roster.erl +++ b/apps/roster/src/roster.erl @@ -92,7 +92,8 @@ tables() -> [ #table{name = chain, container = true, fields = record_info(fields, chain)}, #table{name = writer, fields = record_info(fields, writer)}, #table{name = reader, fields = record_info(fields, reader)}, - #table{name = 'Room', fields = record_info(fields, 'Room'), keys = [links]}, + #table{name = 'Room', fields = record_info(fields, 'Room')}, + #table{name = 'Link', fields = record_info(fields, 'Link')}, #table{name = 'Member', container = chain, fields = record_info(fields, 'Member')}, #table{name = 'Profile', fields = record_info(fields, 'Profile')}, #table{name = 'Index', fields = record_info(fields, 'Index')}, @@ -778,6 +779,7 @@ validate(Payload, ClientId) -> %% MUC API purge_room(false) -> []; purge_room(Room) -> + roster_link:purge_link(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/roster_validator.erl b/apps/roster/src/roster_validator.erl index cf72bc8ea..6285b5c53 100644 --- a/apps/roster/src/roster_validator.erl +++ b/apps/roster/src/roster_validator.erl @@ -494,10 +494,10 @@ validate(D = #'Message'{id = Id, container = Container, feed_id = Feed_id, prev _ -> [{RecField, D}|Acc2] end end, Acc, lists:zip(record_info(fields, 'Message'), tl(tuple_to_list(D)))), ErrFields++case ErrFields of [] -> CustomValidateModule:ValidateFun(D); _ -> [] end; -validate(D = #'Link'{entity_id = Entity_id, name = Name, type = Type, status = Status}, Acc, {CustomValidateModule, ValidateFun} = CM) -> +validate(D = #'Link'{id = Id, name = Name, type = Type, status = Status}, Acc, {CustomValidateModule, ValidateFun} = CM) -> ErrFields = lists:foldl(fun ({RecField, F}, Acc2) -> case {RecField, F} of - {entity_id,_} when Entity_id==[] orelse is_binary(Entity_id) -> Acc2; + {id,_} when Id==[] orelse is_binary(Id) -> Acc2; {name,_} when Name==[] orelse is_binary(Name) -> Acc2; {type,_} when Type==[] orelse Type=='group' orelse Type=='channel' -> Acc2; {status,_} when Status==[] orelse Status=='get' orelse Status=='join' orelse Status=='update' orelse Status=='delete' -> Acc2; @@ -509,7 +509,8 @@ validate(D = #'Room'{id = Id, name = Name, links = Links, description = Descript case {RecField, F} of {id,_} when Id==[] orelse is_binary(Id) -> Acc2; {name,_} when Name==[] orelse is_binary(Name) -> Acc2; - {links,_} when Links==[] orelse is_binary(Links) -> Acc2; + {links,_} when Links==[] orelse is_list(Links) -> + lists:foldl(fun(Tmp, Acc3) when is_record(Tmp,'Link') -> validate(Tmp, Acc3, CM); (Tmp, Acc3) -> [{links, D}|Acc3] end, Acc2, Links); {description,_} when Description==[] orelse is_binary(Description) -> Acc2; {settings,_} when is_list(Settings) -> lists:foldl(fun(Tmp, Acc3) when is_record(Tmp,'Feature') -> validate(Tmp, Acc3, CM); (Tmp, Acc3) -> [{settings, D}|Acc3] end, Acc2, Settings); diff --git a/apps/roster/src/test/room_test.erl b/apps/roster/src/test/room_test.erl index 7d8cd7db1..0b5a3d8db 100644 --- a/apps/roster/src/test/room_test.erl +++ b/apps/roster/src/test/room_test.erl @@ -125,12 +125,14 @@ 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, #'Room'{links = LinkId}} = kvs:get('Room', Room), + #ok{code = #'Room'{links = [#'Link'{id = LinkId}]}} = kvs:get('Room', Room), %% Assert linkId by Link get request - #'Room'{links = LinkId, readers = [_ | _]} = roster_client:send_receive(AClientId, 1, #'Link'{type = group, status = get, name = LinkId}), + #ok{code = #'Room'{links = [#'Link'{id = LinkId}], readers = [_ | _]}} = +roster_client:send_receive(AClientId, 1, #'Link'{type = group, status = get, id = LinkId}), %% Update the link from the administrator and compare it with the old one. - #'Room'{links = LinkId} =/= - roster_client:send_receive(AClientId, 1, #'Link'{type = group, status = update, name = LinkId, entity_id = Room}), + % #'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]), %%add member with message size roster:purge_user(FPhone = <<"6789000">>), @@ -183,42 +185,40 @@ test_joinlink() -> {[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 = LinkId, + #'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'{type = group, status = get, name = ?BLANK_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'{type = group, status = get, name = LinkId})}, + 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'{type = group, status = join, name = LinkId}), + #'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'{entity_id = RoomId, type = group, status = update, name = LinkId}), - roster_client:send_receive(DClientId, 1, #'Link'{type = group, status = join, name = LinkId1}), -%%% Test: Delete joinlink -%% Non admin user - roster_link:io_error_code(invalid_data) == roster_client:send_receive(DClientId, 1, #'Link'{entity_id = RoomId, type = group, status = delete, name = []}), -%% Admin user, unavailable link - roster_link:io_error_code(invalid_data) == - roster_client:send_receive(AClientId, 1, #'Link'{entity_id = RoomId, type = group, status = delete, name = LinkId}), -%% All valid, successful deletion - #'Link'{entity_id = RoomId, name = [], status = delete} = - roster_client:send_receive(AClientId, 1, #'Link'{entity_id = RoomId, type = group, status = delete, name = LinkId1}), -%% 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'{type = group, status = join, name = LinkId1}), -%% Disconnect users - [roster_client:stop_client(CId) || CId <- GroupAClientIds ++ [CClientId, DClientId, EClientId]], - ok. + % #'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. suite() -> [ diff --git a/apps/service/priv/service_auth/1compile.sh b/apps/service/priv/service_auth/1compile.sh new file mode 100755 index 000000000..6ad626dee --- /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 000000000..f5c0b18ec --- /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 000000000..c75a62ed6 --- /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 000000000..a1bdff122 --- /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 000000000..44e5d5a25 --- /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 000000000..5255c1138 --- /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 000000000..fb29d81cb --- /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 000000000..4308091b1 --- /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 000000000..241324b6b --- /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 000000000..0dbed28f0 --- /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 000000000..00f79c3f1 --- /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 000000000..97d7dd002 --- /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 000000000..56279a322 --- /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 000000000..18503cdca --- /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 000000000..6ad626dee --- /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 000000000..5f06968ea --- /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 000000000..cfc8b92b4 --- /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 000000000..21240771b --- /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 000000000..cc1791dc0 --- /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 000000000..87568b68d --- /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 000000000..fa6c15832 --- /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 000000000..0bf0dea19 --- /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 000000000..0b6883cf2 --- /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 000000000..1bd1c1468 --- /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 000000000..0354b2836 --- /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 000000000..ef47f993e --- /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 000000000..a340e10d6 --- /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 000000000..10b7aee0a --- /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 000000000..837e7ce36 --- /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 000000000..eccfaae8a --- /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 000000000..05a0f94a9 --- /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 000000000..6ad626dee --- /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 000000000..08869717e --- /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 000000000..c525cc914 --- /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 000000000..9ec774362 --- /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 000000000..0b9faf28a --- /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 000000000..838663d19 --- /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 000000000..fd98188cc --- /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 000000000..9a1632c0d --- /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 000000000..bbeec857a --- /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 000000000..3012039d1 --- /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 000000000..e9a7eebdb --- /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 000000000..c64277dc6 --- /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 000000000..72715dd79 --- /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 000000000..b514a8a72 --- /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 000000000..5f3816913 --- /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 000000000..8eb84eb4f --- /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 000000000..3290d9526 --- /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 000000000..0b33ae3cc --- /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 000000000..41e3eeac5 --- /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 000000000..afa4a3716 --- /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 000000000..f21e09717 --- /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 000000000..6ad626dee --- /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 000000000..9a5a2dd16 --- /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 000000000..64e172587 --- /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 000000000..db8e1b3d2 --- /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 000000000..d3af3a6ee --- /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 000000000..db4d5d5b4 --- /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 000000000..f37d175ce --- /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 000000000..44277b57c --- /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 000000000..1883e26bc --- /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 000000000..af48113f4 --- /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 000000000..e76731535 --- /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 000000000..6ad626dee --- /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 000000000..e9a4db9b7 --- /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 000000000..2de076cb5 --- /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 000000000..9a228fa41 --- /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 000000000..4dddb75d3 --- /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 000000000..418c0ec15 --- /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 000000000..fa750d3ba --- /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 000000000..27f406712 --- /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 000000000..13d1f556a --- /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 000000000..596afa573 --- /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 000000000..e2d1b28d2 --- /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 000000000..37952ea44 --- /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 000000000..917329a00 --- /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 000000000..0c53bbf16 --- /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 000000000..72a84ff5f --- /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 000000000..1ff436f8b --- /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 000000000..34bee9bab --- /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 000000000..d339ffe55 --- /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 000000000..e792c4ee7 --- /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 000000000..d2b7c0088 --- /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 000000000..57ddef8af --- /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 000000000..e0d183961 --- /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 000000000..bb9958e1c --- /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 000000000..d6c14cfde --- /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 000000000..1ce70af7b --- /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 000000000..045d8ed0e --- /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 000000000..eeefc6b5c --- /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 000000000..c0f05076e --- /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 000000000..6ad626dee --- /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 000000000..8fcb3eec6 --- /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 000000000..99c421db4 --- /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 000000000..3859dcf67 --- /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 000000000..956afea8e --- /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 000000000..180788cd3 --- /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 000000000..8fc287a05 --- /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 000000000..be8237bea --- /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 000000000..039c4d522 --- /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 000000000..46a95b911 --- /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 000000000..3c2a5c119 --- /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 000000000..65c391024 --- /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 000000000..57d0314df --- /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 000000000..7ca622a89 --- /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 000000000..73981ba16 --- /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; +} + -- GitLab