122 lines
2.9 KiB
Go
122 lines
2.9 KiB
Go
package repository
|
|
|
|
//// test +
|
|
//func (r *Repository) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq) error {
|
|
// var objIDs []primitive.ObjectID
|
|
//
|
|
// for _, id := range request.Utms {
|
|
// objID, err := primitive.ObjectIDFromHex(id)
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
// objIDs = append(objIDs, objID)
|
|
// }
|
|
//
|
|
// filter := bson.M{"_id": bson.M{"$in": objIDs}}
|
|
//
|
|
// update := bson.M{"$set": bson.M{"Deleted": true}}
|
|
//
|
|
// _, err := r.utms.UpdateMany(ctx, filter, update)
|
|
// if err != nil {
|
|
// return err
|
|
// }
|
|
//
|
|
// return nil
|
|
//}
|
|
//
|
|
//// test +
|
|
//func (r *Repository) SavingUserUtm(ctx context.Context, request *models.SaveUserListUTMReq, accountID string, quizID int) (*models.ListSavedIDUTMResp, error) {
|
|
// opts := make([]mongo.WriteModel, 0)
|
|
//
|
|
// filter := bson.M{
|
|
// "ID": accountID,
|
|
// "QuizID": quizID,
|
|
// }
|
|
//
|
|
// cursor, err := r.utms.Find(ctx, filter)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
// defer cursor.Close(ctx)
|
|
//
|
|
// existingUtms := make(map[string]bool)
|
|
// for cursor.Next(ctx) {
|
|
// var utm models.UTM
|
|
// if err := cursor.Decode(&utm); err != nil {
|
|
// fmt.Println(err)
|
|
// return nil, err
|
|
// }
|
|
// existingUtms[utm.Name] = true
|
|
// }
|
|
//
|
|
// resp := &models.ListSavedIDUTMResp{
|
|
// Ids: []string{},
|
|
// }
|
|
//
|
|
// for _, utm := range request.Utms {
|
|
// if !existingUtms[utm.Name] {
|
|
// objID := primitive.NewObjectID()
|
|
// resp.Ids = append(resp.Ids, objID.Hex())
|
|
// opts = append(opts, mongo.NewInsertOneModel().SetDocument(
|
|
// bson.M{
|
|
// "_id": objID,
|
|
// "Name": utm.Name,
|
|
// "QuizID": quizID,
|
|
// "AccountID": utm.Accountid,
|
|
// "AmoFieldID": utm.Amofieldid,
|
|
// "CreatedAt": utm.Createdat,
|
|
// "Deleted": utm.Deleted,
|
|
// "ID": accountID,
|
|
// },
|
|
// ))
|
|
// }
|
|
// }
|
|
//
|
|
// if len(opts) == 0 {
|
|
// return resp, nil
|
|
// }
|
|
//
|
|
// _, err = r.utms.BulkWrite(ctx, opts)
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
//
|
|
// return resp, nil
|
|
//}
|
|
//
|
|
//// test +
|
|
//func (r *Repository) GettingUserUtm(ctx context.Context, request *models.PaginationReq, accountID string, quizID int) (*models.GetListUserUTMResp, error) {
|
|
// offset := (request.Page - 1) * request.Size
|
|
//
|
|
// totalUTMS, err := r.utms.CountDocuments(ctx, bson.M{"Deleted": false, "ID": accountID, "QuizID": quizID})
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
//
|
|
// var utms []models.UTM
|
|
//
|
|
// cursor, err := r.utms.Find(ctx, bson.M{"Deleted": false, "ID": accountID, "QuizID": quizID}, options.Find().SetLimit(int64(request.Size)).SetSkip(int64(offset)))
|
|
// if err != nil {
|
|
// return nil, err
|
|
// }
|
|
// defer cursor.Close(ctx)
|
|
//
|
|
// for cursor.Next(ctx) {
|
|
// var utm models.UTM
|
|
// if err := cursor.Decode(&utm); err != nil {
|
|
// return nil, err
|
|
// }
|
|
// utms = append(utms, utm)
|
|
// }
|
|
// if err := cursor.Err(); err != nil {
|
|
// return nil, err
|
|
// }
|
|
//
|
|
// utmListResp := &models.GetListUserUTMResp{
|
|
// Count: totalUTMS,
|
|
// Items: utms,
|
|
// }
|
|
//
|
|
// return utmListResp, nil
|
|
//}
|