<?php /** * LoginRequest * * PHP version 5 * * @category Class * @package HelixWebServices * @author http://github.com/swagger-api/swagger-codegen * @license http://www.apache.org/licenses/LICENSE-2.0 Apache Licene v2 * @link https://github.com/swagger-api/swagger-codegen */ /** * Copyright 2015 SmartBear Software * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * NOTE: This class is auto generated by the swagger code generator program. * https://github.com/swagger-api/swagger-codegen * Do not edit the class manually. */ namespace HelixWebServices\Model; use \ArrayAccess; /** * LoginRequest Class Doc Comment * * @category Class * @description Captures the login information we need for logging into either a p4d server or our \"authentication source\". * @package HelixWebServices * @author http://github.com/swagger-api/swagger-codegen * @license http://www.apache.org/licenses/LICENSE-2.0 Apache Licene v2 * @link https://github.com/swagger-api/swagger-codegen */ class LoginRequest implements ArrayAccess { /** * Array of property to type mappings. Used for (de)serialization * @var string[] */ static $swaggerTypes = array( 'user' => 'string', 'password' => 'string', 'server_logins' => '\HelixWebServices\Model\ServerLoginRequest[]' ); /** * Array of attributes where the key is the local name, and the value is the original name * @var string[] */ static $attributeMap = array( 'user' => 'user', 'password' => 'password', 'server_logins' => 'serverLogins' ); /** * Array of attributes to setter functions (for deserialization of responses) * @var string[] */ static $setters = array( 'user' => 'setUser', 'password' => 'setPassword', 'server_logins' => 'setServerLogins' ); /** * Array of attributes to getter functions (for serialization of requests) * @var string[] */ static $getters = array( 'user' => 'getUser', 'password' => 'getPassword', 'server_logins' => 'getServerLogins' ); /** * $user Usually the Perforce username * @var string */ protected $user; /** * $password * @var string */ protected $password; /** * $server_logins * @var \HelixWebServices\Model\ServerLoginRequest[] */ protected $server_logins; /** * Constructor * @param mixed[] $data Associated array of property value initalizing the model */ public function __construct(array $data = null) { if ($data != null) { if (isset($data["user"])) { $this->user = $data["user"]; } if (isset($data["password"])) { $this->password = $data["password"]; } if (isset($data["server_logins"])) { $this->server_logins = $data["server_logins"]; } } } /** * Gets user * @return string */ public function getUser() { return $this->user; } /** * Sets user * @param string $user Usually the Perforce username * @return $this */ public function setUser($user) { $this->user = $user; return $this; } /** * Gets password * @return string */ public function getPassword() { return $this->password; } /** * Sets password * @param string $password * @return $this */ public function setPassword($password) { $this->password = $password; return $this; } /** * Gets server_logins * @return \HelixWebServices\Model\ServerLoginRequest[] */ public function getServerLogins() { return $this->server_logins; } /** * Sets server_logins * @param \HelixWebServices\Model\ServerLoginRequest[] $server_logins * @return $this */ public function setServerLogins($server_logins) { $this->server_logins = $server_logins; return $this; } /** * Returns true if offset exists. False otherwise. * @param integer $offset Offset * @return boolean */ public function offsetExists($offset) { return isset($this->$offset); } /** * Gets offset. * @param integer $offset Offset * @return mixed */ public function offsetGet($offset) { return $this->$offset; } /** * Sets value based on offset. * @param integer $offset Offset * @param mixed $value Value to be set * @return void */ public function offsetSet($offset, $value) { $this->$offset = $value; } /** * Unsets offset. * @param integer $offset Offset * @return void */ public function offsetUnset($offset) { unset($this->$offset); } /** * Gets the string presentation of the object * @return string */ public function __toString() { if (defined('JSON_PRETTY_PRINT')) { return json_encode(get_object_vars($this), JSON_PRETTY_PRINT); } else { return json_encode(get_object_vars($this)); } } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 19553 | swellard | Move and rename clients | ||
//guest/perforce_software/helix-web-services/main/source/clients/2016.1.0/php/HelixWebServices/lib/Model/LoginRequest.php | |||||
#3 | 19237 | tjuricek |
Branch specs test for PHP Client SDK The default template didn't check isset(), so added that to the constructor initialization on models. |
||
#2 | 19002 | tjuricek |
Improve API to interact with multiple p4ds. The configuration now requires an explicit setting of what P4Ds HWS can talk to via the 'P4D config dir', where there's a file indicating connection settings per p4d, and importantly, an ID. This is the "server ID" referenced everywhere. Most methods now require a server ID to indicate which p4d to manipulate. In the future, it's likely we will interact with *multiple* p4d instances on some services. This completely removes the ability to run HWS as a kind of an "open proxy" to whatever p4d you want. Given the nature of the change and the lack of priority, we've removed Helix Cloud testing and disabled several methods from their "Helix Cloud" implementation. These will be relatively easy to bring back, we'll just need a new method from Raymond that lists the "allowed server IDs" that map to the HWS configured server IDs for a particular user. Another notable aspect of this change is the use of JSON Web Token to create our authentication key. We associate this key with an in-memory "session" that contains the P4D tickets we use to authenticate users. The JWT token, by default, is assigned a timeout, which allows HWS to block further access to underlying servers without having to interact with multiple auth backends. If any backend fails with that session, the user will get a 403. If you disable the timeout, you'll need to ensure your clients clear out sessions. |
||
#1 | 18811 | tjuricek | Initial PHP client SDK for Helix Web Services. |