UNPKG

2.83 kBJavaScriptView Raw
1/*******************************************************************************
2 *
3 * Copyright 2018 Adobe. All rights reserved.
4 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License. You may obtain a copy
6 * of the License at http://www.apache.org/licenses/LICENSE-2.0
7 *
8 * Unless required by applicable law or agreed to in writing, software distributed under
9 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
10 * OF ANY KIND, either express or implied. See the License for the specific language
11 * governing permissions and limitations under the License.
12 *
13 ******************************************************************************/
14
15/**
16 * Auto generated code based on Swagger definition.
17 * Dot not edit manually. Manual changes will be overridden.
18 *
19 * @version 1.1.2
20 */
21
22class Customer {
23
24 /**
25 * Constructs a Customer based on its enclosed builder.
26 * @constructor
27 * @param {Builder} builder the Customer builder
28 */
29 constructor(builder) {
30
31 /**
32 * The date-time when this object was created. The JSON representation must be in RFC339 / ISO8601 format
33 * @type {string}
34 */
35 this.createdAt = undefined;
36
37 /**
38 * The customer's email address
39 * @type {string}
40 */
41 this.email = builder.email;
42
43 /**
44 * The firstname of this customer
45 * @type {string}
46 */
47 this.firstName = builder.firstName;
48
49 /**
50 * The unique id of this customer
51 * @type {string}
52 */
53 this.id = builder.id;
54
55 /**
56 * The date-time when this object was last modified. The JSON representation must be in RFC339 / ISO8601 format
57 * @type {string}
58 */
59 this.lastModifiedAt = undefined;
60
61 /**
62 * The lastname of this customer
63 * @type {string}
64 */
65 this.lastName = builder.lastName;
66 }
67
68 /**
69 * Builds a Customer based on API required properties.
70 */
71 static get Builder() {
72 class Builder {
73
74 withEmail(email) {
75 this.email = email;
76 return this;
77 }
78
79 withFirstName(firstName) {
80 this.firstName = firstName;
81 return this;
82 }
83
84 withId(id) {
85 this.id = id;
86 return this;
87 }
88
89 withLastName(lastName) {
90 this.lastName = lastName;
91 return this;
92 }
93
94 build() {
95 return new Customer(this);
96 }
97 }
98 return Builder;
99 }
100}
101module.exports.Customer = Customer;