@juzi/wechaty-puppet-service 1.0.18 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/src/client/payload-store.d.ts +2 -0
- package/dist/cjs/src/client/payload-store.d.ts.map +1 -1
- package/dist/cjs/src/client/payload-store.js +10 -0
- package/dist/cjs/src/client/payload-store.js.map +1 -1
- package/dist/cjs/src/client/puppet-service.d.ts +12 -11
- package/dist/cjs/src/client/puppet-service.d.ts.map +1 -1
- package/dist/cjs/src/client/puppet-service.js +84 -94
- package/dist/cjs/src/client/puppet-service.js.map +1 -1
- package/dist/cjs/src/config.d.ts +1 -0
- package/dist/cjs/src/config.d.ts.map +1 -1
- package/dist/cjs/src/config.js +2 -1
- package/dist/cjs/src/config.js.map +1 -1
- package/dist/cjs/src/package-json.js +5 -5
- package/dist/cjs/src/package-json.js.map +1 -1
- package/dist/cjs/src/server/event-stream-manager.d.ts.map +1 -1
- package/dist/cjs/src/server/event-stream-manager.js +14 -0
- package/dist/cjs/src/server/event-stream-manager.js.map +1 -1
- package/dist/cjs/src/server/puppet-implementation.d.ts.map +1 -1
- package/dist/cjs/src/server/puppet-implementation.js +52 -77
- package/dist/cjs/src/server/puppet-implementation.js.map +1 -1
- package/dist/esm/src/client/payload-store.d.ts +2 -0
- package/dist/esm/src/client/payload-store.d.ts.map +1 -1
- package/dist/esm/src/client/payload-store.js +10 -0
- package/dist/esm/src/client/payload-store.js.map +1 -1
- package/dist/esm/src/client/puppet-service.d.ts +12 -11
- package/dist/esm/src/client/puppet-service.d.ts.map +1 -1
- package/dist/esm/src/client/puppet-service.js +84 -94
- package/dist/esm/src/client/puppet-service.js.map +1 -1
- package/dist/esm/src/config.d.ts +1 -0
- package/dist/esm/src/config.d.ts.map +1 -1
- package/dist/esm/src/config.js +1 -0
- package/dist/esm/src/config.js.map +1 -1
- package/dist/esm/src/package-json.js +5 -5
- package/dist/esm/src/package-json.js.map +1 -1
- package/dist/esm/src/server/event-stream-manager.d.ts.map +1 -1
- package/dist/esm/src/server/event-stream-manager.js +14 -0
- package/dist/esm/src/server/event-stream-manager.js.map +1 -1
- package/dist/esm/src/server/puppet-implementation.d.ts.map +1 -1
- package/dist/esm/src/server/puppet-implementation.js +52 -77
- package/dist/esm/src/server/puppet-implementation.js.map +1 -1
- package/package.json +5 -5
- package/src/client/payload-store.ts +10 -0
- package/src/client/puppet-service.ts +109 -105
- package/src/config.ts +1 -0
- package/src/package-json.ts +5 -5
- package/src/server/event-stream-manager.ts +14 -0
- package/src/server/puppet-implementation.ts +64 -77
|
@@ -68,7 +68,6 @@ import { packageJson } from '../package-json.js'
|
|
|
68
68
|
|
|
69
69
|
import { GrpcManager } from './grpc-manager.js'
|
|
70
70
|
import { PayloadStore } from './payload-store.js'
|
|
71
|
-
import type { TagIdentifier } from '@juzi/wechaty-puppet/filters'
|
|
72
71
|
|
|
73
72
|
export type PuppetServiceOptions = PUPPET.PuppetOptions & {
|
|
74
73
|
authority? : string
|
|
@@ -348,6 +347,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
348
347
|
case grpcPuppet.EventType.EVENT_TYPE_SCAN:
|
|
349
348
|
this.emit('scan', JSON.parse(payload) as PUPPET.payloads.EventScan)
|
|
350
349
|
break
|
|
350
|
+
case grpcPuppet.EventType.EVENT_TYPE_TAG:
|
|
351
|
+
this.emit('tag', JSON.parse(payload) as PUPPET.payloads.EventTag)
|
|
352
|
+
break
|
|
353
|
+
case grpcPuppet.EventType.EVENT_TYPE_TAG_GROUP:
|
|
354
|
+
this.emit('tag-group', JSON.parse(payload) as PUPPET.payloads.EventTagGroup)
|
|
355
|
+
break
|
|
351
356
|
case grpcPuppet.EventType.EVENT_TYPE_RESET:
|
|
352
357
|
log.warn('PuppetService', 'onGrpcStreamEvent() got an EventType.EVENT_TYPE_RESET ?')
|
|
353
358
|
// the `reset` event should be dealed not send out
|
|
@@ -440,6 +445,8 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
440
445
|
[PUPPET.types.Dirty.Post]: async (_: string) => {},
|
|
441
446
|
[PUPPET.types.Dirty.Room]: async (id: string) => this._payloadStore.room?.delete(id),
|
|
442
447
|
[PUPPET.types.Dirty.RoomMember]: async (id: string) => this._payloadStore.roomMember?.delete(id),
|
|
448
|
+
[PUPPET.types.Dirty.Tag]: async (key: string) => this._payloadStore.tag?.delete(key),
|
|
449
|
+
[PUPPET.types.Dirty.TagGroup]: async (id: string) => this._payloadStore.tagGroup?.delete(id),
|
|
443
450
|
[PUPPET.types.Dirty.Unspecified]: async (id: string) => { throw new Error('Unspecified type with id: ' + id) },
|
|
444
451
|
}
|
|
445
452
|
|
|
@@ -1930,19 +1937,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1930
1937
|
*/
|
|
1931
1938
|
|
|
1932
1939
|
override async tagContactTagAdd (
|
|
1933
|
-
|
|
1940
|
+
tagIds: string[],
|
|
1934
1941
|
contactIds: string[],
|
|
1935
1942
|
): Promise<void> {
|
|
1936
|
-
log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)',
|
|
1943
|
+
log.verbose('PuppetService', 'tagContactTagAdd(%s, %s)', tagIds, contactIds)
|
|
1937
1944
|
|
|
1938
1945
|
const request = new grpcPuppet.TagContactTagAddRequest()
|
|
1939
1946
|
|
|
1940
|
-
request.
|
|
1941
|
-
const tag = new grpcPuppet.TagIdentifier()
|
|
1942
|
-
t.groupId && tag.setGroupId(t.groupId)
|
|
1943
|
-
tag.setId(t.id)
|
|
1944
|
-
return tag
|
|
1945
|
-
}))
|
|
1947
|
+
request.setTagIdsList(tagIds)
|
|
1946
1948
|
request.setContactIdsList(contactIds)
|
|
1947
1949
|
|
|
1948
1950
|
await util.promisify(
|
|
@@ -1952,19 +1954,14 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1952
1954
|
}
|
|
1953
1955
|
|
|
1954
1956
|
override async tagContactTagRemove (
|
|
1955
|
-
|
|
1957
|
+
tagIds: string[],
|
|
1956
1958
|
contactIds: string[],
|
|
1957
1959
|
): Promise<void> {
|
|
1958
|
-
log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)',
|
|
1960
|
+
log.verbose('PuppetService', 'tagContactTagRemove(%s, %s)', tagIds, contactIds)
|
|
1959
1961
|
|
|
1960
1962
|
const request = new grpcPuppet.TagContactTagRemoveRequest()
|
|
1961
1963
|
|
|
1962
|
-
request.
|
|
1963
|
-
const tag = new grpcPuppet.TagIdentifier()
|
|
1964
|
-
t.groupId && tag.setGroupId(t.groupId)
|
|
1965
|
-
tag.setId(t.id)
|
|
1966
|
-
return tag
|
|
1967
|
-
}))
|
|
1964
|
+
request.setTagIdsList(tagIds)
|
|
1968
1965
|
request.setContactIdsList(contactIds)
|
|
1969
1966
|
|
|
1970
1967
|
await util.promisify(
|
|
@@ -1975,7 +1972,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1975
1972
|
|
|
1976
1973
|
override async tagGroupAdd (
|
|
1977
1974
|
tagGroupName: string,
|
|
1978
|
-
): Promise<
|
|
1975
|
+
): Promise<string | void> {
|
|
1979
1976
|
log.verbose('PuppetService', 'tagGroupAdd(%s)', tagGroupName)
|
|
1980
1977
|
|
|
1981
1978
|
const request = new grpcPuppet.TagGroupAddRequest()
|
|
@@ -1987,18 +1984,9 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
1987
1984
|
.bind(this.grpcManager.client),
|
|
1988
1985
|
)(request)
|
|
1989
1986
|
|
|
1990
|
-
const
|
|
1991
|
-
const id = grpcPayload?.getId()
|
|
1992
|
-
const name = grpcPayload?.getName()
|
|
1993
|
-
|
|
1994
|
-
if (id && name) {
|
|
1995
|
-
const payload: PUPPET.payloads.TagGroup = {
|
|
1996
|
-
id,
|
|
1997
|
-
name,
|
|
1998
|
-
}
|
|
1999
|
-
return payload
|
|
2000
|
-
}
|
|
1987
|
+
const id = result.getTagGroupId()
|
|
2001
1988
|
|
|
1989
|
+
return id
|
|
2002
1990
|
}
|
|
2003
1991
|
|
|
2004
1992
|
override async tagGroupDelete (
|
|
@@ -2020,7 +2008,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2020
2008
|
override async tagTagAdd (
|
|
2021
2009
|
tagName: string,
|
|
2022
2010
|
tagGroupId?: string,
|
|
2023
|
-
): Promise<
|
|
2011
|
+
): Promise<string | void> {
|
|
2024
2012
|
log.verbose('PuppetService', 'tagTagAdd(%s, %s)', tagName, tagGroupId)
|
|
2025
2013
|
|
|
2026
2014
|
const request = new grpcPuppet.TagTagAddRequest()
|
|
@@ -2035,37 +2023,18 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2035
2023
|
.bind(this.grpcManager.client),
|
|
2036
2024
|
)(request)
|
|
2037
2025
|
|
|
2038
|
-
const
|
|
2039
|
-
const id = grpcPayload?.getId()
|
|
2040
|
-
const name = grpcPayload?.getName()
|
|
2041
|
-
const groupId = grpcPayload?.getGroupId()
|
|
2042
|
-
const type = grpcPayload?.getType()
|
|
2043
|
-
|
|
2044
|
-
if (id && name && (typeof type !== 'undefined')) {
|
|
2045
|
-
const payload: PUPPET.payloads.Tag = {
|
|
2046
|
-
id,
|
|
2047
|
-
name,
|
|
2048
|
-
groupId,
|
|
2049
|
-
type,
|
|
2050
|
-
}
|
|
2051
|
-
return payload
|
|
2052
|
-
}
|
|
2026
|
+
const id = result.getTagId()
|
|
2053
2027
|
|
|
2028
|
+
return id
|
|
2054
2029
|
}
|
|
2055
2030
|
|
|
2056
2031
|
override async tagTagDelete (
|
|
2057
|
-
|
|
2032
|
+
tagId: string,
|
|
2058
2033
|
): Promise<void> {
|
|
2059
|
-
log.verbose('PuppetService', 'tagTagDelete(%s)',
|
|
2034
|
+
log.verbose('PuppetService', 'tagTagDelete(%s)', tagId)
|
|
2060
2035
|
|
|
2061
2036
|
const request = new grpcPuppet.TagTagDeleteRequest()
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
tag.groupId && tagProb.setGroupId(tag.groupId)
|
|
2065
|
-
tagProb.setId(tag.id)
|
|
2066
|
-
request.setTag(tagProb)
|
|
2067
|
-
|
|
2068
|
-
request.setTag(tagProb)
|
|
2037
|
+
request.setTagId(tagId)
|
|
2069
2038
|
|
|
2070
2039
|
await util.promisify(
|
|
2071
2040
|
this.grpcManager.client.tagTagDelete
|
|
@@ -2074,7 +2043,7 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2074
2043
|
|
|
2075
2044
|
}
|
|
2076
2045
|
|
|
2077
|
-
override async tagGroupList (): Promise<
|
|
2046
|
+
override async tagGroupList (): Promise<string[]> {
|
|
2078
2047
|
log.verbose('PuppetService', 'tagGroupList()')
|
|
2079
2048
|
|
|
2080
2049
|
const request = new grpcPuppet.TagGroupListRequest()
|
|
@@ -2084,19 +2053,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2084
2053
|
.bind(this.grpcManager.client),
|
|
2085
2054
|
)(request)
|
|
2086
2055
|
|
|
2087
|
-
const
|
|
2088
|
-
|
|
2089
|
-
return {
|
|
2090
|
-
id: payload.getId(),
|
|
2091
|
-
name: payload.getName(),
|
|
2092
|
-
} as PUPPET.payloads.TagGroup
|
|
2093
|
-
})
|
|
2094
|
-
return payloads
|
|
2056
|
+
const groupIds = result.getTagGroupIdsList()
|
|
2057
|
+
return groupIds
|
|
2095
2058
|
}
|
|
2096
2059
|
|
|
2097
2060
|
override async tagGroupTagList (
|
|
2098
2061
|
tagGroupId?: string,
|
|
2099
|
-
): Promise<
|
|
2062
|
+
): Promise<string[]> {
|
|
2100
2063
|
log.verbose('PuppetService', 'tagGroupTagList(%s)', tagGroupId)
|
|
2101
2064
|
|
|
2102
2065
|
const request = new grpcPuppet.TagGroupTagListRequest()
|
|
@@ -2109,20 +2072,12 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2109
2072
|
.bind(this.grpcManager.client),
|
|
2110
2073
|
)(request)
|
|
2111
2074
|
|
|
2112
|
-
const
|
|
2113
|
-
|
|
2114
|
-
return {
|
|
2115
|
-
id: payload.getId(),
|
|
2116
|
-
name: payload.getName(),
|
|
2117
|
-
groupId: payload.getGroupId(),
|
|
2118
|
-
type: payload.getType(),
|
|
2119
|
-
} as PUPPET.payloads.Tag
|
|
2120
|
-
})
|
|
2121
|
-
return payloads
|
|
2075
|
+
const tagIds = result.getTagIdsList()
|
|
2076
|
+
return tagIds
|
|
2122
2077
|
}
|
|
2123
2078
|
|
|
2124
2079
|
override async tagTagList (
|
|
2125
|
-
): Promise<
|
|
2080
|
+
): Promise<string[]> {
|
|
2126
2081
|
log.verbose('PuppetService', 'tagTagList()')
|
|
2127
2082
|
|
|
2128
2083
|
const request = new grpcPuppet.TagTagListRequest()
|
|
@@ -2132,21 +2087,13 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2132
2087
|
.bind(this.grpcManager.client),
|
|
2133
2088
|
)(request)
|
|
2134
2089
|
|
|
2135
|
-
const
|
|
2136
|
-
|
|
2137
|
-
return {
|
|
2138
|
-
id: payload.getId(),
|
|
2139
|
-
name: payload.getName(),
|
|
2140
|
-
groupId: payload.getGroupId(),
|
|
2141
|
-
type: payload.getType(),
|
|
2142
|
-
} as PUPPET.payloads.Tag
|
|
2143
|
-
})
|
|
2144
|
-
return payloads
|
|
2090
|
+
const tagIds = result.getTagIdsList()
|
|
2091
|
+
return tagIds
|
|
2145
2092
|
}
|
|
2146
2093
|
|
|
2147
2094
|
override async tagContactTagList (
|
|
2148
2095
|
contactId: string,
|
|
2149
|
-
): Promise<
|
|
2096
|
+
): Promise<string[]> {
|
|
2150
2097
|
log.verbose('PuppetService', 'tagContactTagList(%s)', contactId)
|
|
2151
2098
|
|
|
2152
2099
|
const request = new grpcPuppet.TagContactTagListRequest()
|
|
@@ -2157,37 +2104,94 @@ class PuppetService extends PUPPET.Puppet {
|
|
|
2157
2104
|
.bind(this.grpcManager.client),
|
|
2158
2105
|
)(request)
|
|
2159
2106
|
|
|
2160
|
-
const
|
|
2161
|
-
|
|
2162
|
-
return {
|
|
2163
|
-
id: payload.getId(),
|
|
2164
|
-
name: payload.getName(),
|
|
2165
|
-
groupId: payload.getGroupId(),
|
|
2166
|
-
type: payload.getType(),
|
|
2167
|
-
} as PUPPET.payloads.Tag
|
|
2168
|
-
})
|
|
2169
|
-
return payloads
|
|
2107
|
+
const tagIds = result.getTagIdsList()
|
|
2108
|
+
return tagIds
|
|
2170
2109
|
}
|
|
2171
2110
|
|
|
2172
2111
|
override async tagTagContactList (
|
|
2173
|
-
|
|
2112
|
+
tagId: string,
|
|
2174
2113
|
): Promise<string[]> {
|
|
2175
|
-
log.verbose('PuppetService', 'tagTagContactList(%s)',
|
|
2114
|
+
log.verbose('PuppetService', 'tagTagContactList(%s)', tagId)
|
|
2176
2115
|
|
|
2177
2116
|
const request = new grpcPuppet.TagTagContactListRequest()
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
tag.groupId && tagProb.setGroupId(tag.groupId)
|
|
2181
|
-
tagProb.setId(tag.id)
|
|
2182
|
-
request.setTag(tagProb)
|
|
2117
|
+
request.setTagId(tagId)
|
|
2183
2118
|
|
|
2184
2119
|
const result = await util.promisify(
|
|
2185
2120
|
this.grpcManager.client.tagTagContactList
|
|
2186
2121
|
.bind(this.grpcManager.client),
|
|
2187
2122
|
)(request)
|
|
2188
2123
|
|
|
2189
|
-
const
|
|
2190
|
-
return
|
|
2124
|
+
const contactIds = result.getContactIdsList()
|
|
2125
|
+
return contactIds
|
|
2126
|
+
}
|
|
2127
|
+
|
|
2128
|
+
override async tagGroupPayloadPuppet (id: string): Promise<PUPPET.payloads.TagGroup> {
|
|
2129
|
+
log.verbose('PuppetService', 'tagGroupPayload(%s)', id)
|
|
2130
|
+
|
|
2131
|
+
const cachedPayload = await this._payloadStore.tagGroup?.get(id)
|
|
2132
|
+
if (cachedPayload) {
|
|
2133
|
+
log.silly('PuppetService', 'tagGroupPayload(%s) cache HIT', id)
|
|
2134
|
+
return cachedPayload
|
|
2135
|
+
}
|
|
2136
|
+
|
|
2137
|
+
const request = new grpcPuppet.TagGroupPayloadRequest()
|
|
2138
|
+
request.setGroupId(id)
|
|
2139
|
+
|
|
2140
|
+
const response = await util.promisify(
|
|
2141
|
+
this.grpcManager.client.tagGroupPayload
|
|
2142
|
+
.bind(this.grpcManager.client),
|
|
2143
|
+
)(request)
|
|
2144
|
+
const grpcPayload = response.getPayload()
|
|
2145
|
+
|
|
2146
|
+
if (!grpcPayload) {
|
|
2147
|
+
throw new Error(`tagGroup ${id} got no payload!`)
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
const payload: PUPPET.payloads.TagGroup = {
|
|
2151
|
+
id: grpcPayload.getId(),
|
|
2152
|
+
name: grpcPayload.getName(),
|
|
2153
|
+
type: grpcPayload.getType(),
|
|
2154
|
+
}
|
|
2155
|
+
|
|
2156
|
+
await this._payloadStore.tagGroup?.set(id, payload)
|
|
2157
|
+
log.silly('PuppetService', 'tagGroupPayloadPuppet(%s) cache SET', id)
|
|
2158
|
+
|
|
2159
|
+
return payload
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2162
|
+
override async tagPayloadPuppet (tagId: string): Promise<PUPPET.payloads.Tag> {
|
|
2163
|
+
log.verbose('PuppetService', 'tagPayloadPuppet(%s)', tagId)
|
|
2164
|
+
|
|
2165
|
+
const cachedPayload = await this._payloadStore.tag?.get(tagId)
|
|
2166
|
+
if (cachedPayload) {
|
|
2167
|
+
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache HIT', tagId)
|
|
2168
|
+
return cachedPayload
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
const request = new grpcPuppet.TagPayloadRequest()
|
|
2172
|
+
request.setTagId(tagId)
|
|
2173
|
+
|
|
2174
|
+
const response = await util.promisify(
|
|
2175
|
+
this.grpcManager.client.tagPayload
|
|
2176
|
+
.bind(this.grpcManager.client),
|
|
2177
|
+
)(request)
|
|
2178
|
+
const grpcPayload = response.getPayload()
|
|
2179
|
+
|
|
2180
|
+
if (!grpcPayload) {
|
|
2181
|
+
throw new Error(`tag ${tagId} got no payload!`)
|
|
2182
|
+
}
|
|
2183
|
+
|
|
2184
|
+
const payload: PUPPET.payloads.Tag = {
|
|
2185
|
+
id: grpcPayload.getId(),
|
|
2186
|
+
name: grpcPayload.getName(),
|
|
2187
|
+
groupId: grpcPayload.getGroupId(),
|
|
2188
|
+
type: grpcPayload.getType(),
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2191
|
+
await this._payloadStore.tag?.set(tagId, payload)
|
|
2192
|
+
log.silly('PuppetService', 'tagPayloadPuppet(%s) cache SET', tagId)
|
|
2193
|
+
|
|
2194
|
+
return payload
|
|
2191
2195
|
}
|
|
2192
2196
|
|
|
2193
2197
|
/**
|
package/src/config.ts
CHANGED
package/src/package-json.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { PackageJson } from 'type-fest'
|
|
5
5
|
export const packageJson: PackageJson = {
|
|
6
6
|
"name": "@juzi/wechaty-puppet-service",
|
|
7
|
-
"version": "1.0.
|
|
7
|
+
"version": "1.0.21",
|
|
8
8
|
"description": "Puppet Service for Wechaty",
|
|
9
9
|
"type": "module",
|
|
10
10
|
"exports": {
|
|
@@ -55,6 +55,7 @@ export const packageJson: PackageJson = {
|
|
|
55
55
|
"@chatie/eslint-config": "^1.0.4",
|
|
56
56
|
"@chatie/semver": "^0.4.7",
|
|
57
57
|
"@chatie/tsconfig": "^4.6.3",
|
|
58
|
+
"@juzi/wechaty-puppet-mock": "^1.0.1",
|
|
58
59
|
"@types/google-protobuf": "^3.15.5",
|
|
59
60
|
"@types/lru-cache": "^7.5.0",
|
|
60
61
|
"@types/semver": "^7.3.9",
|
|
@@ -65,14 +66,14 @@ export const packageJson: PackageJson = {
|
|
|
65
66
|
"temp": "^0.9.4",
|
|
66
67
|
"typed-emitter": "^1.5.0-from-event",
|
|
67
68
|
"utility-types": "^3.10.0",
|
|
68
|
-
"@juzi/wechaty-puppet-mock": "^1.0.1",
|
|
69
69
|
"why-is-node-running": "^2.2.1"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@juzi/wechaty-puppet": "^1.0.
|
|
72
|
+
"@juzi/wechaty-puppet": "^1.0.28"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@juzi/wechaty-grpc": "^1.0.
|
|
75
|
+
"@juzi/wechaty-grpc": "^1.0.17",
|
|
76
|
+
"@juzi/wechaty-redux": "^1.0.1",
|
|
76
77
|
"clone-class": "^1.1.1",
|
|
77
78
|
"ducks": "^1.0.2",
|
|
78
79
|
"file-box": "^1.5.5",
|
|
@@ -83,7 +84,6 @@ export const packageJson: PackageJson = {
|
|
|
83
84
|
"semver": "^7.3.5",
|
|
84
85
|
"stronger-typed-streams": "^0.2.0",
|
|
85
86
|
"uuid": "^8.3.2",
|
|
86
|
-
"@juzi/wechaty-redux": "^1.0.1",
|
|
87
87
|
"wechaty-token": "^1.0.6"
|
|
88
88
|
},
|
|
89
89
|
"publishConfig": {
|
|
@@ -273,6 +273,20 @@ class EventStreamManager {
|
|
|
273
273
|
this.offCallbackList.push(off)
|
|
274
274
|
break
|
|
275
275
|
}
|
|
276
|
+
case 'tag': {
|
|
277
|
+
const listener = (payload: PUPPET.payloads.EventTag) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_TAG, payload)
|
|
278
|
+
this.puppet.on('tag', listener)
|
|
279
|
+
const off = () => this.puppet.off('tag', listener)
|
|
280
|
+
this.offCallbackList.push(off)
|
|
281
|
+
break
|
|
282
|
+
}
|
|
283
|
+
case 'tag-group': {
|
|
284
|
+
const listener = (payload: PUPPET.payloads.EventTagGroup) => this.grpcEmit(grpcPuppet.EventType.EVENT_TYPE_TAG_GROUP, payload)
|
|
285
|
+
this.puppet.on('tag-group', listener)
|
|
286
|
+
const off = () => this.puppet.off('tag-group', listener)
|
|
287
|
+
this.offCallbackList.push(off)
|
|
288
|
+
break
|
|
289
|
+
}
|
|
276
290
|
case 'reset':
|
|
277
291
|
// the `reset` event should be dealed internally, should not send out
|
|
278
292
|
break
|
|
@@ -1507,16 +1507,10 @@ function puppetImplementation (
|
|
|
1507
1507
|
log.verbose('PuppetServiceImpl', 'tagContactTagAdd()')
|
|
1508
1508
|
|
|
1509
1509
|
try {
|
|
1510
|
-
const
|
|
1510
|
+
const tagIds = call.request.getTagIdsList()
|
|
1511
1511
|
const contactIds = call.request.getContactIdsList()
|
|
1512
|
-
const tags = tagsProb.map(tagProb => {
|
|
1513
|
-
return {
|
|
1514
|
-
id: tagProb.getId(),
|
|
1515
|
-
groupId: tagProb.getGroupId(),
|
|
1516
|
-
}
|
|
1517
|
-
})
|
|
1518
1512
|
|
|
1519
|
-
await puppet.tagContactTagAdd(
|
|
1513
|
+
await puppet.tagContactTagAdd(tagIds, contactIds)
|
|
1520
1514
|
|
|
1521
1515
|
return callback(null, new grpcPuppet.TagContactTagAddResponse())
|
|
1522
1516
|
} catch (e) {
|
|
@@ -1528,16 +1522,10 @@ function puppetImplementation (
|
|
|
1528
1522
|
log.verbose('PuppetServiceImpl', 'tagContactTagRemove()')
|
|
1529
1523
|
|
|
1530
1524
|
try {
|
|
1531
|
-
const
|
|
1525
|
+
const tagIds = call.request.getTagIdsList()
|
|
1532
1526
|
const contactIds = call.request.getContactIdsList()
|
|
1533
|
-
const tags = tagsProb.map(tagProb => {
|
|
1534
|
-
return {
|
|
1535
|
-
id: tagProb.getId(),
|
|
1536
|
-
groupId: tagProb.getGroupId(),
|
|
1537
|
-
}
|
|
1538
|
-
})
|
|
1539
1527
|
|
|
1540
|
-
await puppet.tagContactTagRemove(
|
|
1528
|
+
await puppet.tagContactTagRemove(tagIds, contactIds)
|
|
1541
1529
|
|
|
1542
1530
|
return callback(null, new grpcPuppet.TagContactTagRemoveResponse())
|
|
1543
1531
|
} catch (e) {
|
|
@@ -1552,13 +1540,11 @@ function puppetImplementation (
|
|
|
1552
1540
|
const tagGroupName = call.request.getTagGroupName()
|
|
1553
1541
|
|
|
1554
1542
|
const result = await puppet.tagGroupAdd(tagGroupName)
|
|
1555
|
-
|
|
1543
|
+
|
|
1556
1544
|
const response = new grpcPuppet.TagGroupAddResponse()
|
|
1557
1545
|
|
|
1558
1546
|
if (result) {
|
|
1559
|
-
|
|
1560
|
-
payload.setName(result.name)
|
|
1561
|
-
response.setPayload(payload)
|
|
1547
|
+
response.setTagGroupId(result)
|
|
1562
1548
|
}
|
|
1563
1549
|
|
|
1564
1550
|
return callback(null, response)
|
|
@@ -1589,17 +1575,10 @@ function puppetImplementation (
|
|
|
1589
1575
|
const tagName = call.request.getTagName()
|
|
1590
1576
|
|
|
1591
1577
|
const result = await puppet.tagTagAdd(tagName, tagGroupId)
|
|
1592
|
-
const payload = new grpcPuppet.TagPayload()
|
|
1593
1578
|
const response = new grpcPuppet.TagTagAddResponse()
|
|
1594
1579
|
|
|
1595
1580
|
if (result) {
|
|
1596
|
-
|
|
1597
|
-
payload.setName(result.name)
|
|
1598
|
-
payload.setType(result.type)
|
|
1599
|
-
if (result.groupId) {
|
|
1600
|
-
payload.setGroupId(result.groupId)
|
|
1601
|
-
}
|
|
1602
|
-
response.setPayload(payload)
|
|
1581
|
+
response.setTagId(result)
|
|
1603
1582
|
}
|
|
1604
1583
|
|
|
1605
1584
|
return callback(null, response)
|
|
@@ -1612,11 +1591,9 @@ function puppetImplementation (
|
|
|
1612
1591
|
log.verbose('PuppetServiceImpl', 'tagTagDelete()')
|
|
1613
1592
|
|
|
1614
1593
|
try {
|
|
1615
|
-
const
|
|
1616
|
-
const id = tagProb?.getId()!
|
|
1617
|
-
const groupId = tagProb?.getGroupId()
|
|
1594
|
+
const tagId = call.request.getTagId()
|
|
1618
1595
|
|
|
1619
|
-
await puppet.tagTagDelete(
|
|
1596
|
+
await puppet.tagTagDelete(tagId)
|
|
1620
1597
|
|
|
1621
1598
|
return callback(null, new grpcPuppet.TagTagDeleteResponse())
|
|
1622
1599
|
} catch (e) {
|
|
@@ -1630,14 +1607,8 @@ function puppetImplementation (
|
|
|
1630
1607
|
|
|
1631
1608
|
try {
|
|
1632
1609
|
const result = await puppet.tagGroupList()
|
|
1633
|
-
const payloads = result.map(tagGroup => {
|
|
1634
|
-
const payload = new grpcPuppet.TagGroupPayload()
|
|
1635
|
-
payload.setId(tagGroup.id)
|
|
1636
|
-
payload.setName(tagGroup.name)
|
|
1637
|
-
return payload
|
|
1638
|
-
})
|
|
1639
1610
|
const response = new grpcPuppet.TagGroupListResponse()
|
|
1640
|
-
response.
|
|
1611
|
+
response.setTagGroupIdsList(result)
|
|
1641
1612
|
|
|
1642
1613
|
return callback(null, response)
|
|
1643
1614
|
} catch (e) {
|
|
@@ -1652,18 +1623,9 @@ function puppetImplementation (
|
|
|
1652
1623
|
const tagGroupId = call.request.getTagGroupId()
|
|
1653
1624
|
|
|
1654
1625
|
const result = await puppet.tagGroupTagList(tagGroupId)
|
|
1655
|
-
|
|
1656
|
-
const payload = new grpcPuppet.TagPayload()
|
|
1657
|
-
payload.setId(tag.id)
|
|
1658
|
-
payload.setName(tag.name)
|
|
1659
|
-
payload.setType(tag.type)
|
|
1660
|
-
if (tag.groupId) {
|
|
1661
|
-
payload.setGroupId(tag.groupId)
|
|
1662
|
-
}
|
|
1663
|
-
return payload
|
|
1664
|
-
})
|
|
1626
|
+
|
|
1665
1627
|
const response = new grpcPuppet.TagGroupTagListResponse()
|
|
1666
|
-
response.
|
|
1628
|
+
response.setTagIdsList(result)
|
|
1667
1629
|
|
|
1668
1630
|
return callback(null, response)
|
|
1669
1631
|
} catch (e) {
|
|
@@ -1677,18 +1639,9 @@ function puppetImplementation (
|
|
|
1677
1639
|
|
|
1678
1640
|
try {
|
|
1679
1641
|
const result = await puppet.tagTagList()
|
|
1680
|
-
|
|
1681
|
-
const payload = new grpcPuppet.TagPayload()
|
|
1682
|
-
payload.setId(tag.id)
|
|
1683
|
-
payload.setName(tag.name)
|
|
1684
|
-
payload.setType(tag.type)
|
|
1685
|
-
if (tag.groupId) {
|
|
1686
|
-
payload.setGroupId(tag.groupId)
|
|
1687
|
-
}
|
|
1688
|
-
return payload
|
|
1689
|
-
})
|
|
1642
|
+
|
|
1690
1643
|
const response = new grpcPuppet.TagTagListResponse()
|
|
1691
|
-
response.
|
|
1644
|
+
response.setTagIdsList(result)
|
|
1692
1645
|
|
|
1693
1646
|
return callback(null, response)
|
|
1694
1647
|
} catch (e) {
|
|
@@ -1703,18 +1656,9 @@ function puppetImplementation (
|
|
|
1703
1656
|
const contactId = call.request.getContactId()
|
|
1704
1657
|
|
|
1705
1658
|
const result = await puppet.tagContactTagList(contactId)
|
|
1706
|
-
|
|
1707
|
-
const payload = new grpcPuppet.TagPayload()
|
|
1708
|
-
payload.setId(tag.id)
|
|
1709
|
-
payload.setName(tag.name)
|
|
1710
|
-
payload.setType(tag.type)
|
|
1711
|
-
if (tag.groupId) {
|
|
1712
|
-
payload.setGroupId(tag.groupId)
|
|
1713
|
-
}
|
|
1714
|
-
return payload
|
|
1715
|
-
})
|
|
1659
|
+
|
|
1716
1660
|
const response = new grpcPuppet.TagContactTagListResponse()
|
|
1717
|
-
response.
|
|
1661
|
+
response.setTagIdsList(result)
|
|
1718
1662
|
|
|
1719
1663
|
return callback(null, response)
|
|
1720
1664
|
} catch (e) {
|
|
@@ -1726,14 +1670,12 @@ function puppetImplementation (
|
|
|
1726
1670
|
log.verbose('PuppetServiceImpl', 'tagTagContactList()')
|
|
1727
1671
|
|
|
1728
1672
|
try {
|
|
1729
|
-
const
|
|
1730
|
-
const id = tagProb?.getId()!
|
|
1731
|
-
const groupId = tagProb?.getGroupId()
|
|
1673
|
+
const tagId = call.request.getTagId()
|
|
1732
1674
|
|
|
1733
|
-
const result = await puppet.tagTagContactList(
|
|
1675
|
+
const result = await puppet.tagTagContactList(tagId)
|
|
1734
1676
|
|
|
1735
1677
|
const response = new grpcPuppet.TagTagContactListResponse()
|
|
1736
|
-
response.
|
|
1678
|
+
response.setContactIdsList(result)
|
|
1737
1679
|
|
|
1738
1680
|
return callback(null, response)
|
|
1739
1681
|
} catch (e) {
|
|
@@ -1741,6 +1683,51 @@ function puppetImplementation (
|
|
|
1741
1683
|
}
|
|
1742
1684
|
},
|
|
1743
1685
|
|
|
1686
|
+
tagGroupPayload: async (call, callback) => {
|
|
1687
|
+
log.verbose('PuppetServiceImpl', 'tagGroupPayload()')
|
|
1688
|
+
|
|
1689
|
+
try {
|
|
1690
|
+
const id = call.request.getGroupId()
|
|
1691
|
+
|
|
1692
|
+
const result = await puppet.tagGroupPayloadPuppet(id)
|
|
1693
|
+
const response = new grpcPuppet.TagGroupPayloadResponse()
|
|
1694
|
+
const payload = new grpcPuppet.TagGroupPayload()
|
|
1695
|
+
payload.setId(result.id)
|
|
1696
|
+
payload.setName(result.name)
|
|
1697
|
+
payload.setType(result.type)
|
|
1698
|
+
response.setPayload(payload)
|
|
1699
|
+
|
|
1700
|
+
return callback(null, response)
|
|
1701
|
+
|
|
1702
|
+
} catch (e) {
|
|
1703
|
+
return grpcError('tagTagContactList', e, callback)
|
|
1704
|
+
}
|
|
1705
|
+
},
|
|
1706
|
+
|
|
1707
|
+
tagPayload: async (call, callback) => {
|
|
1708
|
+
log.verbose('PuppetServiceImpl', 'tagPayload()')
|
|
1709
|
+
|
|
1710
|
+
try {
|
|
1711
|
+
const tagId = call.request.getTagId()
|
|
1712
|
+
|
|
1713
|
+
const result = await puppet.tagPayloadPuppet(tagId)
|
|
1714
|
+
const response = new grpcPuppet.TagPayloadResponse()
|
|
1715
|
+
const payload = new grpcPuppet.TagPayload()
|
|
1716
|
+
payload.setId(result.id)
|
|
1717
|
+
payload.setName(result.name)
|
|
1718
|
+
payload.setType(result.type)
|
|
1719
|
+
if (result.groupId) {
|
|
1720
|
+
payload.setGroupId(result.groupId)
|
|
1721
|
+
}
|
|
1722
|
+
response.setPayload(payload)
|
|
1723
|
+
|
|
1724
|
+
return callback(null, response)
|
|
1725
|
+
|
|
1726
|
+
} catch (e) {
|
|
1727
|
+
return grpcError('tagTagContactList', e, callback)
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1730
|
+
|
|
1744
1731
|
version: async (call, callback) => {
|
|
1745
1732
|
log.verbose('PuppetServiceImpl', 'version() v%s', puppet.version())
|
|
1746
1733
|
void call
|