1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- package controller
- import (
- "github.com/ente-io/museum/ente"
- "github.com/ente-io/museum/pkg/utils/auth"
- "github.com/ente-io/stacktrace"
- "github.com/gin-contrib/requestid"
- "github.com/gin-gonic/gin"
- log "github.com/sirupsen/logrus"
- )
- func (c *CollectionController) GetCastCollection(ctx *gin.Context) (*ente.Collection, error) {
- castCtx := auth.GetCastCtx(ctx)
- collection, err := c.CollectionRepo.Get(castCtx.CollectionID)
- if err != nil {
- return nil, stacktrace.Propagate(err, "")
- }
- if collection.IsDeleted {
- return nil, stacktrace.Propagate(ente.ErrNotFound, "collection is deleted")
- }
- return &collection, nil
- }
- // GetCastDiff returns the changes in the collections since a timestamp, along with hasMore bool flag.
- func (c *CollectionController) GetCastDiff(ctx *gin.Context, sinceTime int64) ([]ente.File, bool, error) {
- castCtx := auth.GetCastCtx(ctx)
- collectionID := castCtx.CollectionID
- reqContextLogger := log.WithFields(log.Fields{
- "collection_id": collectionID,
- "since_time": sinceTime,
- "req_id": requestid.Get(ctx),
- })
- diff, hasMore, err := c.getDiff(collectionID, sinceTime, CollectionDiffLimit, reqContextLogger)
- if err != nil {
- return nil, false, stacktrace.Propagate(err, "")
- }
- // hide private metadata before returning files info in diff
- for idx := range diff {
- if diff[idx].MagicMetadata != nil {
- diff[idx].MagicMetadata = nil
- }
- }
- return diff, hasMore, nil
- }
|