Skip to content

Commit

Permalink
fix(ts): Fixed API schema to pass TyepScript SDK generation
Browse files Browse the repository at this point in the history
  • Loading branch information
andris9 committed May 27, 2024
1 parent bd3eff8 commit 29493ac
Show file tree
Hide file tree
Showing 14 changed files with 119 additions and 89 deletions.
2 changes: 1 addition & 1 deletion data/google-crawlers.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"creationTime": "2024-05-14T22:00:19.000000",
"creationTime": "2024-05-21T22:00:19.000000",
"prefixes": [
{
"ipv6Prefix": "2001:4860:4801:2008::/64"
Expand Down
27 changes: 27 additions & 0 deletions lib/api-client/gmail-client.js
Original file line number Diff line number Diff line change
Expand Up @@ -691,6 +691,33 @@ class GmailClient extends BaseClient {
originalMessageId: messageId,
queueId
});

// Add \Answered flag to referenced message if needed
if (reference && reference.update) {
try {
// FIXME: add missing updateMessage method
/*
await this.updateMessage(reference.message, {
flags: {
add: ['\\Answered'].concat(reference.action === 'forward' ? '$Forwarded' : [])
}
});
*/
} catch (err) {
this.logger.error({ msg: 'Failed to update reference flags', queueId, messageId, reference, err });
}
}

if (data.feedbackKey) {
await this.redis
.multi()
.hset(data.feedbackKey, 'success', 'true')
.expire(1 * 60 * 60);
}

return {
messageId: gmailMessageId
};
}

// PRIVATE METHODS
Expand Down
7 changes: 2 additions & 5 deletions lib/api-routes/chat-routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const util = require('util');

const LOG_VERBOSE = getBoolean(process.env.EE_OPENAPI_VERBOSE);

const { accountIdSchema, addressSchema } = require('../schemas');
const { accountIdSchema, addressSchema, messageSpecialUseSchema } = require('../schemas');

function getDateValue(str) {
try {
Expand Down Expand Up @@ -454,10 +454,7 @@ async function init(args) {
.example([{ address: '[email protected]' }])
.label('AddressList'),
subject: Joi.string().allow('').example('What a wonderful message').description('Message subject'),
messageSpecialUse: Joi.string()
.example('\\Sent')
.valid('\\Drafts', '\\Junk', '\\Sent', '\\Trash', '\\Inbox')
.description('Special use flag of the message')
messageSpecialUse: messageSpecialUseSchema
})
.description('Email that best matched the question')
.label('ChatResponseMessage')
Expand Down
15 changes: 9 additions & 6 deletions lib/schemas.js
Original file line number Diff line number Diff line change
Expand Up @@ -792,6 +792,12 @@ const messageEntrySchema = Joi.object({
preview: Joi.string().description('Text preview for messages loaded from Document Store')
}).label('MessageListEntry');

const messageSpecialUseSchema = Joi.string()
.example('\\Sent')
.valid('\\Drafts', '\\Junk', '\\Sent', '\\Trash', '\\Inbox')
.description('Special use flag of the message')
.label('MessageSpecialUse');

const messageDetailsSchema = Joi.object({
id: Joi.string().example('AAAAAgAACrI').description('Message ID').label('MessageEntryId'),
uid: Joi.number().integer().example(12345).description('UID of the message').label('MessageUid'),
Expand Down Expand Up @@ -879,11 +885,7 @@ const messageDetailsSchema = Joi.object({
.valid('\\All', '\\Archive', '\\Drafts', '\\Flagged', '\\Junk', '\\Sent', '\\Trash', '\\Inbox')
.description('Special use flag of the mailbox')
.label('MailboxSpecialUse'),
messageSpecialUse: Joi.string()
.example('\\Sent')
.valid('\\Drafts', '\\Junk', '\\Sent', '\\Trash', '\\Inbox')
.description('Special use flag of the message. Only relevant for messages listed from the All Mail folder in Gmail.')
.label('MessageSpecialUse')
messageSpecialUse: messageSpecialUseSchema
}).label('MessageListEntry');

const messageListSchema = Joi.object({
Expand Down Expand Up @@ -1326,7 +1328,8 @@ module.exports = {
accountIdSchema,
ipSchema,
accountCountersSchema,
accountPathSchema
accountPathSchema,
messageSpecialUseSchema
};

/*
Expand Down
111 changes: 57 additions & 54 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 29493ac

Please sign in to comment.