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

View File

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

View File

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

View File

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

View File

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

View File

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