1
0
Fork 0
mirror of synced 2024-07-01 20:50:49 +12:00
appwrite/src/Appwrite/Utopia/Response/Model/Session.php

147 lines
4.9 KiB
PHP
Raw Normal View History

2020-06-24 03:01:20 +12:00
<?php
namespace Appwrite\Utopia\Response\Model;
use Appwrite\Utopia\Response;
use Appwrite\Utopia\Response\Model;
class Session extends Model
{
public function __construct()
{
2020-06-24 18:53:13 +12:00
$this
->addRule('$id', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
2020-06-24 18:53:13 +12:00
'description' => 'Session ID.',
'example' => '5e5ea5c16897e',
])
->addRule('userId', [
'type' => self::TYPE_STRING,
'description' => 'User ID.',
'example' => '5e5bb8c16897e',
])
2020-06-24 18:53:13 +12:00
->addRule('expire', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_INTEGER,
2020-06-24 23:18:33 +12:00
'description' => 'Session expiration date in Unix timestamp.',
'default' => 0,
2020-06-24 18:53:13 +12:00
'example' => 1592981250,
])
->addRule('ip', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'IP in use when the session was created.',
'default' => '',
2020-06-24 18:53:13 +12:00
'example' => '127.0.0.1',
])
->addRule('osCode', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Operating system code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/os.json).',
'default' => '',
'example' => 'Mac',
])
->addRule('osName', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Operating system name.',
'default' => '',
'example' => 'Mac',
])
->addRule('osVersion', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Operating system version.',
'default' => '',
'example' => 'Mac',
])
->addRule('clientType', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Client type.',
'default' => '',
'example' => 'browser',
])
->addRule('clientCode', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Client code name. View list of [available options](https://github.com/appwrite/appwrite/blob/master/docs/lists/clients.json).',
'default' => '',
'example' => 'CM',
])
->addRule('clientName', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Client name.',
'default' => '',
'example' => 'Chrome Mobile iOS',
])
->addRule('clientVersion', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Client version.',
'default' => '',
'example' => '84.0',
])
->addRule('clientEngine', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Client engine name.',
'default' => '',
'example' => 'WebKit',
])
->addRule('clientEngineVersion', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Client engine name.',
'default' => '',
'example' => '605.1.15',
])
->addRule('deviceName', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Device name.',
'default' => '',
'example' => 'smartphone',
])
->addRule('deviceBrand', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Device brand name.',
'default' => '',
'example' => 'Google',
])
->addRule('deviceModel', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Device model name.',
'default' => '',
'example' => 'Nexus 5',
])
->addRule('countryCode', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Country two-character ISO 3166-1 alpha code.',
'default' => '',
'example' => 'US',
])
->addRule('countryName', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_STRING,
'description' => 'Country name.',
'default' => '',
'example' => 'United States',
])
->addRule('current', [
2020-11-08 11:14:48 +13:00
'type' => self::TYPE_BOOLEAN,
'description' => 'Returns true if this the current user session.',
2020-11-21 10:02:42 +13:00
'default' => false,
'example' => true,
])
2020-06-24 18:53:13 +12:00
;
2020-06-24 03:01:20 +12:00
}
/**
* Get Name
*
* @return string
*/
public function getName():string
{
return 'Session';
}
/**
* Get Collection
*
* @return string
*/
public function getType():string
{
2020-06-24 18:41:00 +12:00
return Response::MODEL_SESSION;
2020-06-24 03:01:20 +12:00
}
}