# Contract

abstract class Contract implements Countable

## Constants

LIBRARIAN_LOGIN |
MEMBER_LOGIN |

## Properties

protected | $type | Login Type |
protected string | $username |  |
protected string | $password |  |
protected array | $data |  |

## Methods

__construct()

No description

memberAuthenticate()

Authentication for member

adminAuthenticate()

Authentication for admin

void
generateSession()

Generating session based on data

fetchRequest(array $keys)

No description

getData(string $key = '')

No description

setData(array $data)

No description

has2Fa()

No description

hookProcess()

No description

__call($method, $arguments)

No description

int
count()

No description

## Details

###
at line 40
`__construct()`

No description

###
at line 48
`abstract protected memberAuthenticate()`

Authentication for member

###
at line 53
`abstract protected adminAuthenticate()`

Authentication for admin

###
at line 60
`void generateSession()`

Generating session based on data

#### Return Value

void |

###
at line 67
`fetchRequest(array $keys)`

No description

#### Parameters

array | $keys |

###
at line 75
`getData(string $key = '')`

No description

#### Parameters

string | $key |

###
at line 80
`setData(array $data)`

No description

#### Parameters

array | $data |

###
at line 85
`has2Fa()`

No description

###
at line 90
`hookProcess()`

No description

###
at line 92
`__call($method, $arguments)`

No description

#### Parameters

| $method |
| $arguments |

###
at line 99
`int count()`

No description

#### Return Value

int |