1# frozen_string_literal: true
2
3module Gitlab
4  module Verify
5    class LfsObjects < BatchVerifier
6      def name
7        'LFS objects'
8      end
9
10      def describe(object)
11        "LFS object: #{object.oid}"
12      end
13
14      private
15
16      def all_relation
17        LfsObject.all
18      end
19
20      def local?(lfs_object)
21        lfs_object.local_store?
22      end
23
24      def expected_checksum(lfs_object)
25        lfs_object.oid
26      end
27
28      def actual_checksum(lfs_object)
29        LfsObject.calculate_oid(lfs_object.file.path)
30      end
31
32      def remote_object_exists?(lfs_object)
33        lfs_object.file.file.exists?
34      end
35    end
36  end
37end
38