fix(vtiger-crm/triggers): correct pagination

This commit is contained in:
Ali BARIN
2024-05-07 11:33:55 +00:00
parent a8b01244af
commit 759e8b6c42
6 changed files with 42 additions and 48 deletions

View File

@@ -11,21 +11,20 @@ export default defineTrigger({
const limit = 100;
let hasMore = true;
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Cases ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
do {
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Cases ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
const { data } = await $.http.get('/webservice.php', {
params,
});
offset = limit + offset;
if (!data?.result?.length) {
if (!data.result?.length || data.result.length < limit) {
hasMore = false;
return;
}
for (const item of data.result) {

View File

@@ -11,21 +11,20 @@ export default defineTrigger({
const limit = 100;
let hasMore = true;
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Contacts ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
do {
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Contacts ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
const { data } = await $.http.get('/webservice.php', {
params,
});
offset = limit + offset;
if (!data?.result?.length) {
if (!data.result?.length || data.result.length < limit) {
hasMore = false;
return;
}
for (const item of data.result) {

View File

@@ -11,21 +11,20 @@ export default defineTrigger({
const limit = 100;
let hasMore = true;
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Invoice ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
do {
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Invoice ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
const { data } = await $.http.get('/webservice.php', {
params,
});
offset = limit + offset;
if (!data?.result?.length) {
if (!data.result?.length || data.result.length < limit) {
hasMore = false;
return;
}
for (const item of data.result) {

View File

@@ -11,21 +11,20 @@ export default defineTrigger({
const limit = 100;
let hasMore = true;
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Leads ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
do {
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Leads ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
const { data } = await $.http.get('/webservice.php', {
params,
});
offset = limit + offset;
if (!data?.result?.length) {
if (!data.result?.length || data.result.length < limit) {
hasMore = false;
return;
}
for (const item of data.result) {

View File

@@ -11,21 +11,20 @@ export default defineTrigger({
const limit = 100;
let hasMore = true;
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Potentials ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
do {
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Potentials ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
const { data } = await $.http.get('/webservice.php', {
params,
});
offset = limit + offset;
if (!data?.result?.length) {
if (!data.result?.length || data.result.length < limit) {
hasMore = false;
return;
}
for (const item of data.result) {

View File

@@ -11,21 +11,20 @@ export default defineTrigger({
const limit = 100;
let hasMore = true;
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Calendar ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
do {
const params = {
operation: 'query',
sessionName: $.auth.data.sessionName,
query: `SELECT * FROM Calendar ORDER BY createdtime DESC LIMIT ${offset}, ${limit};`,
};
const { data } = await $.http.get('/webservice.php', {
params,
});
offset = limit + offset;
if (!data?.result?.length) {
if (!data.result?.length || data.result.length < limit) {
hasMore = false;
return;
}
for (const item of data.result) {