Skip to content

Commit 6732967

Browse files
committed
updates
1 parent 0b409f1 commit 6732967

File tree

9 files changed

+50
-36
lines changed

9 files changed

+50
-36
lines changed

components/microsoft_teams/microsoft_teams.app.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ export default {
286286
},
287287
async listChatMessages({ chatId }) {
288288
return this.makeRequest({
289-
path: `/chats/${chatId}/messages`,
289+
path: `/chats/${chatId}/messages?$orderby=createdDateTime%20desc`,
290290
});
291291
},
292292
async listShifts({ teamId }) {

components/microsoft_teams/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@pipedream/microsoft_teams",
3-
"version": "0.1.6",
3+
"version": "0.1.7",
44
"description": "Pipedream Microsoft Teams Components",
55
"main": "microsoft_teams.app.mjs",
66
"keywords": [

components/microsoft_teams/sources/common/base.mjs

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,30 @@ export default {
1313
},
1414
},
1515
methods: {
16-
_getLastCreated() {
17-
return this.db.get("lastCreated");
16+
_getLastDate() {
17+
return this.db.get("lastDate");
1818
},
19-
_setLastCreated(lastCreated) {
20-
this.db.set("lastCreated", lastCreated);
19+
_setLastDate(lastDate) {
20+
this.db.set("lastDate", lastDate);
2121
},
22-
isNew(resource, lastCreated) {
23-
if (!resource.createdDateTime || !lastCreated) {
22+
getTsField() {
23+
return "createdDateTime";
24+
},
25+
isNew(resource, lastDate, tsField) {
26+
if (!tsField || !resource[tsField] || !lastDate) {
2427
return true;
2528
}
26-
return Date.parse(resource.createdDateTime) > lastCreated;
29+
return Date.parse(resource[tsField]) > lastDate;
2730
},
28-
async getNewPaginatedResources(fn, params, lastCreated) {
31+
async getNewPaginatedResources(fn, params, lastDate, tsField, isSorted = false) {
2932
const resources = [];
3033
const paginator = this.paginate(fn, params);
3134

3235
for await (const resource of paginator) {
33-
const isNewResource = this.isNew(resource, lastCreated);
36+
const isNewResource = this.isNew(resource, lastDate, tsField);
3437
if (isNewResource) {
3538
resources.push(resource);
36-
} else {
39+
} else if (isSorted) {
3740
break;
3841
}
3942
}
@@ -58,18 +61,19 @@ export default {
5861
},
5962
},
6063
async run() {
61-
let lastCreated = Date.parse(this._getLastCreated());
64+
let lastDate = this._getLastDate();
65+
const tsField = this.getTsField();
6266

63-
const resources = await this.getResources(lastCreated);
67+
const resources = await this.getResources(lastDate, tsField);
6468
for (const resource of resources) {
65-
const { createdDateTime } = resource;
66-
if (!lastCreated || (createdDateTime && Date.parse(createdDateTime) > lastCreated)) {
67-
lastCreated = Date.parse(createdDateTime);
69+
const date = resource[tsField];
70+
if (!lastDate || (date && Date.parse(date) > lastDate)) {
71+
lastDate = Date.parse(date);
6872
}
6973
const meta = this.generateMeta(resource);
7074
this.$emit(resource, meta);
7175
}
7276

73-
this._setLastCreated(lastCreated);
77+
this._setLastDate(lastDate);
7478
},
7579
};

components/microsoft_teams/sources/new-channel-message/new-channel-message.mjs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ export default {
44
...base,
55
key: "microsoft_teams-new-channel-message",
66
name: "New Channel Message",
7-
description: "Emit new event when a new message is posted in a channel",
8-
version: "0.0.11",
7+
description: "Emit new event when a new message is posted in a channel. [See the documentation](https://learn.microsoft.com/en-us/graph/api/channel-list-messages?view=graph-rest-1.0&tabs=http)",
8+
version: "0.0.12",
99
type: "source",
1010
dedupe: "unique",
1111
props: {
@@ -28,14 +28,19 @@ export default {
2828
},
2929
methods: {
3030
...base.methods,
31-
async getResources(lastCreated) {
31+
getTsField() {
32+
return "lastModifiedDateTime";
33+
},
34+
async getResources(lastUpdated, tsField) {
3235
return this.getNewPaginatedResources(
3336
this.microsoftTeams.listChannelMessages,
3437
{
3538
teamId: this.team,
3639
channelId: this.channel,
3740
},
38-
lastCreated,
41+
lastUpdated,
42+
tsField,
43+
true, // Sorted by last modified date
3944
);
4045
},
4146
generateMeta(message) {

components/microsoft_teams/sources/new-channel/new-channel.mjs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ export default {
44
...base,
55
key: "microsoft_teams-new-channel",
66
name: "New Channel",
7-
description: "Emit new event when a new channel is created within a team",
8-
version: "0.0.11",
7+
description: "Emit new event when a new channel is created within a team. [See the documentation](https://learn.microsoft.com/en-us/graph/api/team-list-allchannels?view=graph-rest-1.0&tabs=http)",
8+
version: "0.0.12",
99
type: "source",
1010
dedupe: "unique",
1111
props: {
@@ -19,13 +19,14 @@ export default {
1919
},
2020
methods: {
2121
...base.methods,
22-
async getResources(lastCreated) {
22+
async getResources(lastCreated, tsField) {
2323
return this.getNewPaginatedResources(
2424
this.microsoftTeams.listChannels,
2525
{
2626
teamId: this.team,
2727
},
2828
lastCreated,
29+
tsField,
2930
);
3031
},
3132
generateMeta(channel) {

components/microsoft_teams/sources/new-chat-message/new-chat-message.mjs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ export default {
44
...base,
55
key: "microsoft_teams-new-chat-message",
66
name: "New Chat Message",
7-
description: "Emit new event when a new message is received in a chat",
8-
version: "0.0.11",
7+
description: "Emit new event when a new message is received in a chat. [See the documentation](https://learn.microsoft.com/en-us/graph/api/chat-list-messages?view=graph-rest-1.0&tabs=http)",
8+
version: "0.0.12",
99
type: "source",
1010
dedupe: "unique",
1111
props: {
@@ -19,13 +19,15 @@ export default {
1919
},
2020
methods: {
2121
...base.methods,
22-
async getResources(lastCreated) {
22+
async getResources(lastCreated, tsField) {
2323
return this.getNewPaginatedResources(
2424
this.microsoftTeams.listChatMessages,
2525
{
2626
chatId: this.chat,
2727
},
2828
lastCreated,
29+
tsField,
30+
true, // Sorted by creation date
2931
);
3032
},
3133
generateMeta(message) {

components/microsoft_teams/sources/new-chat/new-chat.mjs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ export default {
44
...base,
55
key: "microsoft_teams-new-chat",
66
name: "New Chat",
7-
description: "Emit new event when a new chat is created",
8-
version: "0.0.11",
7+
description: "Emit new event when a new chat is created. [See the documentation](https://learn.microsoft.com/en-us/graph/api/chat-list?view=graph-rest-1.0&tabs=http)",
8+
version: "0.0.12",
99
type: "source",
1010
dedupe: "unique",
1111
methods: {
1212
...base.methods,
13-
async getResources(lastCreated) {
13+
async getResources(lastCreated, tsField) {
1414
return this.getNewPaginatedResources(
1515
this.microsoftTeams.listChats,
1616
{},
1717
lastCreated,
18+
tsField,
1819
);
1920
},
2021
generateMeta(chat) {

components/microsoft_teams/sources/new-team-member/new-team-member.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ export default {
44
...base,
55
key: "microsoft_teams-new-team-member",
66
name: "New Team Member",
7-
description: "Emit new event when a new member is added to a team",
8-
version: "0.0.11",
7+
description: "Emit new event when a new member is added to a team. [See the documentation](https://learn.microsoft.com/en-us/graph/api/team-list-members?view=graph-rest-1.0&tabs=http)",
8+
version: "0.0.12",
99
type: "source",
1010
dedupe: "unique",
1111
props: {

components/microsoft_teams/sources/new-team/new-team.mjs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ export default {
44
...base,
55
key: "microsoft_teams-new-team",
66
name: "New Team",
7-
description: "Emit new event when a new team is joined by the authenticated user",
8-
version: "0.0.11",
7+
description: "Emit new event when a new team is joined by the authenticated user. [See the documentation](https://learn.microsoft.com/en-us/graph/api/user-list-joinedteams?view=graph-rest-1.0&tabs=http)",
8+
version: "0.0.12",
99
type: "source",
1010
dedupe: "unique",
1111
methods: {
1212
...base.methods,
13-
async getResources(lastCreated) {
13+
async getResources(lastCreated, tsField) {
1414
return this.getNewPaginatedResources(
1515
this.microsoftTeams.listTeams,
1616
{},
1717
lastCreated,
18+
tsField,
1819
);
1920
},
2021
generateMeta(team) {

0 commit comments

Comments
 (0)