MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / UnlinkEntity

Method UnlinkEntity

inventory/file.go:885–891  ·  view source on GitHub ↗
(ctx context.Context, entity *ent.Entity, file *ent.File, owner *ent.User)

Source from the content-addressed store, hash-verified

883}
884
885func (f *fileClient) UnlinkEntity(ctx context.Context, entity *ent.Entity, file *ent.File, owner *ent.User) (StorageDiff, error) {
886 if err := f.client.Entity.UpdateOne(entity).RemoveFile(file).AddReferenceCount(-1).Exec(ctx); err != nil {
887 return nil, fmt.Errorf("failed to unlink entity: %v", err)
888 }
889
890 return map[int]int64{owner.ID: entity.Size * int64(-1)}, nil
891}
892
893func (f *fileClient) IsStoragePolicyUsedByEntities(ctx context.Context, policyID int) (bool, error) {
894 res, err := f.client.Entity.Query().Where(entity.StoragePolicyEntities(policyID)).Limit(1).All(ctx)

Callers 1

CapEntitiesMethod · 0.95

Calls 4

ExecMethod · 0.65
AddReferenceCountMethod · 0.45
RemoveFileMethod · 0.45
UpdateOneMethod · 0.45

Tested by

no test coverage detected