Conto Comunitario all'interno di un Circuito

This commit is contained in:
Surya Paolo
2023-01-21 19:02:19 +01:00
parent 8e7b9fb5bd
commit b9e4dbbaec
7 changed files with 403 additions and 114 deletions

View File

@@ -173,6 +173,29 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
},
},
{$unwind: '$userfrom'},
{
$lookup: {
from: 'mygroups',
let: {groupname: '$accfrom.groupname', idapp: '$accfrom.idapp'},
pipeline: [
{
$match:
{
$expr:
{
$and:
[
{$eq: ['$$groupname', '$groupname']},
{$eq: ['$$idapp', '$idapp']},
],
},
},
},
],
as: 'groupfrom',
},
},
{$unwind: '$groupfrom'},
{
$lookup: {
from: 'accounts',
@@ -183,26 +206,26 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
},
{$unwind: '$accto'},
{
'$lookup': {
'from': 'circuits',
'localField': 'accfrom.circuitId',
'foreignField': '_id',
'as': 'circuitfrom',
$lookup: {
from: 'circuits',
localField: 'accfrom.circuitId',
foreignField: '_id',
as: 'circuitfrom',
},
},
{
'$unwind': '$circuitfrom',
$unwind: '$circuitfrom',
},
{
'$lookup': {
'from': 'circuits',
'localField': 'accto.circuitId',
'foreignField': '_id',
'as': 'circuitto',
$lookup: {
from: 'circuits',
localField: 'accto.circuitId',
foreignField: '_id',
as: 'circuitto',
},
},
{
'$unwind': '$circuitto',
$unwind: '$circuitto',
},
{
$lookup: {
@@ -227,6 +250,29 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
},
},
{$unwind: '$userto'},
{
$lookup: {
from: 'mygroups',
let: {groupname: '$accto.groupname', idapp: '$accto.idapp'},
pipeline: [
{
$match:
{
$expr:
{
$and:
[
{$eq: ['$$groupname', '$groupname']},
{$eq: ['$$idapp', '$idapp']},
],
},
},
},
],
as: 'groupto',
},
},
{$unwind: '$groupto'},
{
$project:
{
@@ -240,6 +286,8 @@ MovementSchema.statics.getQueryMovsByCircuitId = async function(idapp, username,
'userfrom.profile.img': 1,
'userto.username': 1,
'userto.profile.img': 1,
'groupfrom.groupname': 1,
'groupto.groupname': 1,
},
},
@@ -304,6 +352,34 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c
preserveNullAndEmptyArrays: true,
},
},
{
$lookup: {
from: 'mygroups',
let: {groupname: '$accfrom.groupname', idapp: '$accfrom.idapp'},
pipeline: [
{
$match:
{
$expr:
{
$and:
[
{$eq: ['$$groupname', '$groupname']},
{$eq: ['$$idapp', '$idapp']},
],
},
},
},
],
as: 'groupfrom',
},
},
{
$unwind: {
path: '$groupfrom',
preserveNullAndEmptyArrays: true,
},
},
{
$lookup: {
from: 'accounts',
@@ -377,6 +453,34 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c
preserveNullAndEmptyArrays: true,
},
},
{
$lookup: {
from: 'mygroups',
let: {groupname: '$accto.groupname', idapp: '$accto.idapp'},
pipeline: [
{
$match:
{
$expr:
{
$and:
[
{$eq: ['$$groupname', '$groupname']},
{$eq: ['$$idapp', '$idapp']},
],
},
},
},
],
as: 'groupto',
},
},
{
$unwind: {
path: '$groupto',
preserveNullAndEmptyArrays: true,
},
},
{
$project:
{
@@ -390,7 +494,9 @@ MovementSchema.statics.getQueryAllUsersMovsByCircuitId = async function(idapp, c
'userfrom.profile.img': 1,
'userto.username': 1,
'userto.profile.img': 1,
},
'groupfrom.groupname': 1,
'groupto.groupname': 1,
},
},
];