MemberExpirationImportService
in package
Imports member expiration dates from the shared two-column CSV format.
Table of Contents
Constants
- TYPE_BACKGROUND_CHECK : mixed = 'background_check'
- TYPE_MEMBERSHIP : mixed = 'membership'
- IMPORT_FIELDS : mixed = [self::TYPE_MEMBERSHIP => 'membership_expires_o...
- IMPORT_HEADERS : mixed = [self::TYPE_MEMBERSHIP => ['expiration date', '...
Properties
Methods
- __construct() : mixed
- getImportTypeOptions() : array<string, string>
- Return the supported import types for form options.
- import() : ServiceResult
- Import one expiration-date type from an uploaded CSV file.
- isBlankRow() : bool
- parseCsv() : ServiceResult|array<string, Date>
- Parse and validate the shared Member Number / Expiration Date CSV format.
Constants
TYPE_BACKGROUND_CHECK
public
mixed
TYPE_BACKGROUND_CHECK
= 'background_check'
TYPE_MEMBERSHIP
public
mixed
TYPE_MEMBERSHIP
= 'membership'
IMPORT_FIELDS
private
mixed
IMPORT_FIELDS
= [self::TYPE_MEMBERSHIP => 'membership_expires_on', self::TYPE_BACKGROUND_CHECK => 'background_check_expires_on']
IMPORT_HEADERS
private
mixed
IMPORT_HEADERS
= [self::TYPE_MEMBERSHIP => ['expiration date', 'membership expiration date'], self::TYPE_BACKGROUND_CHECK => ['expiration date', 'background check expiration date']]
Properties
$Members
private
MembersTable
$Members
Methods
__construct()
public
__construct([MembersTable|null $members = null ]) : mixed
Parameters
- $members : MembersTable|null = null
-
Optional table override for tests
getImportTypeOptions()
Return the supported import types for form options.
public
static getImportTypeOptions() : array<string, string>
Return values
array<string, string>import()
Import one expiration-date type from an uploaded CSV file.
public
import(UploadedFileInterface $file, string $importType) : ServiceResult
Parameters
- $file : UploadedFileInterface
- $importType : string
Return values
ServiceResultisBlankRow()
private
isBlankRow(array<int, mixed> $row) : bool
Parameters
- $row : array<int, mixed>
-
Parsed CSV row
Return values
boolparseCsv()
Parse and validate the shared Member Number / Expiration Date CSV format.
private
parseCsv(resource $handle, string $importType) : ServiceResult|array<string, Date>
Parameters
- $handle : resource
-
Readable CSV stream
- $importType : string
-
Selected expiration-date type