@candesk/contracts 6.16.0 → 6.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gen/account.d.ts +34 -0
- package/dist/gen/auth.d.ts +1 -0
- package/dist/gen/staff.d.ts +27 -0
- package/dist/gen/staff.js +11 -0
- package/dist/nest/account.d.ts +38 -0
- package/dist/nest/account.js +4 -0
- package/dist/nest/auth.d.ts +2 -0
- package/dist/nest/auth.js +1 -0
- package/dist/nest/staff.d.ts +35 -0
- package/dist/nest/staff.js +31 -0
- package/dist/proto/paths.d.ts +1 -0
- package/dist/proto/paths.js +1 -0
- package/package.json +1 -1
- package/proto/account.proto +43 -0
- package/proto/auth.proto +1 -0
- package/proto/staff.proto +34 -0
package/dist/gen/account.d.ts
CHANGED
|
@@ -87,6 +87,36 @@ export interface SetIdentityVerifiedRequest {
|
|
|
87
87
|
export interface SetIdentityVerifiedResponse {
|
|
88
88
|
ok: boolean;
|
|
89
89
|
}
|
|
90
|
+
export interface CreateStaffAccountRequest {
|
|
91
|
+
email: string;
|
|
92
|
+
role: Role;
|
|
93
|
+
}
|
|
94
|
+
export interface CreateStaffAccountResponse {
|
|
95
|
+
account: StaffAccount | undefined;
|
|
96
|
+
}
|
|
97
|
+
export interface GetStaffAccountRequest {
|
|
98
|
+
id: string;
|
|
99
|
+
}
|
|
100
|
+
export interface GetStaffAccountResponse {
|
|
101
|
+
account: StaffAccount | undefined;
|
|
102
|
+
}
|
|
103
|
+
export interface ListStaffAccountsRequest {
|
|
104
|
+
}
|
|
105
|
+
export interface ListStaffAccountsResponse {
|
|
106
|
+
accounts: StaffAccount[];
|
|
107
|
+
}
|
|
108
|
+
export interface DeleteStaffAccountRequest {
|
|
109
|
+
id: string;
|
|
110
|
+
}
|
|
111
|
+
export interface DeleteStaffAccountResponse {
|
|
112
|
+
ok: boolean;
|
|
113
|
+
}
|
|
114
|
+
export interface StaffAccount {
|
|
115
|
+
id: string;
|
|
116
|
+
email: string;
|
|
117
|
+
role: Role;
|
|
118
|
+
createdAt: string;
|
|
119
|
+
}
|
|
90
120
|
export interface AccountService {
|
|
91
121
|
getAccount(request: GetAccountRequest): Promise<GetAccountResponse>;
|
|
92
122
|
initEmailChange(request: InitEmailChangeRequest): Promise<InitEmailChangeResponse>;
|
|
@@ -98,4 +128,8 @@ export interface AccountService {
|
|
|
98
128
|
initAccountDeletion(request: InitAccountDeletionRequest): Promise<InitAccountDeletionResponse>;
|
|
99
129
|
confirmAccountDeletion(request: ConfirmAccountDeletionRequest): Promise<ConfirmAccountDeletionResponse>;
|
|
100
130
|
setIdentityVerified(request: SetIdentityVerifiedRequest): Promise<SetIdentityVerifiedResponse>;
|
|
131
|
+
createStaffAccount(request: CreateStaffAccountRequest): Promise<CreateStaffAccountResponse>;
|
|
132
|
+
getStaffAccount(request: GetStaffAccountRequest): Promise<GetStaffAccountResponse>;
|
|
133
|
+
listStaffAccounts(request: ListStaffAccountsRequest): Promise<ListStaffAccountsResponse>;
|
|
134
|
+
deleteStaffAccount(request: DeleteStaffAccountRequest): Promise<DeleteStaffAccountResponse>;
|
|
101
135
|
}
|
package/dist/gen/auth.d.ts
CHANGED
|
@@ -88,6 +88,7 @@ export interface AuthService {
|
|
|
88
88
|
verifyOtp(request: VerifyOtpRequest): Promise<VerifyOtpResponse>;
|
|
89
89
|
refresh(request: RefreshRequest): Promise<RefreshResponse>;
|
|
90
90
|
logout(request: LogoutRequest): Promise<LogoutResponse>;
|
|
91
|
+
sendStaffOtp(request: SendOtpRequest): Promise<SendOtpResponse>;
|
|
91
92
|
verifyStaffOtp(request: VerifyOtpRequest): Promise<VerifyOtpResponse>;
|
|
92
93
|
refreshStaff(request: RefreshRequest): Promise<RefreshResponse>;
|
|
93
94
|
telegramInit(request: Empty): Promise<TelegramInitResponse>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const protobufPackage = "staff.v1";
|
|
2
|
+
export declare const protobufFileName = "staff.proto";
|
|
3
|
+
export interface ListStaffRequest {
|
|
4
|
+
ids: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface ListStaffResponse {
|
|
7
|
+
staff: Staff[];
|
|
8
|
+
}
|
|
9
|
+
export interface SaveStaffRequest {
|
|
10
|
+
id: string;
|
|
11
|
+
title?: string | undefined;
|
|
12
|
+
firstName: string;
|
|
13
|
+
lastName: string;
|
|
14
|
+
}
|
|
15
|
+
export interface SaveStaffResponse {
|
|
16
|
+
staff: Staff | undefined;
|
|
17
|
+
}
|
|
18
|
+
export interface Staff {
|
|
19
|
+
id: string;
|
|
20
|
+
title?: string | undefined;
|
|
21
|
+
firstName: string;
|
|
22
|
+
lastName: string;
|
|
23
|
+
}
|
|
24
|
+
export interface StaffService {
|
|
25
|
+
listStaff(request: ListStaffRequest): Promise<ListStaffResponse>;
|
|
26
|
+
saveStaff(request: SaveStaffRequest): Promise<SaveStaffResponse>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
|
+
// versions:
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
|
+
// protoc v3.21.12
|
|
6
|
+
// source: staff.proto
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
|
+
/* eslint-disable */
|
|
10
|
+
exports.protobufPackage = "staff.v1";
|
|
11
|
+
exports.protobufFileName = "staff.proto";
|
package/dist/nest/account.d.ts
CHANGED
|
@@ -88,6 +88,36 @@ export interface SetIdentityVerifiedRequest {
|
|
|
88
88
|
export interface SetIdentityVerifiedResponse {
|
|
89
89
|
ok: boolean;
|
|
90
90
|
}
|
|
91
|
+
export interface CreateStaffAccountRequest {
|
|
92
|
+
email: string;
|
|
93
|
+
role: Role;
|
|
94
|
+
}
|
|
95
|
+
export interface CreateStaffAccountResponse {
|
|
96
|
+
account: StaffAccount | undefined;
|
|
97
|
+
}
|
|
98
|
+
export interface GetStaffAccountRequest {
|
|
99
|
+
id: string;
|
|
100
|
+
}
|
|
101
|
+
export interface GetStaffAccountResponse {
|
|
102
|
+
account: StaffAccount | undefined;
|
|
103
|
+
}
|
|
104
|
+
export interface ListStaffAccountsRequest {
|
|
105
|
+
}
|
|
106
|
+
export interface ListStaffAccountsResponse {
|
|
107
|
+
accounts: StaffAccount[];
|
|
108
|
+
}
|
|
109
|
+
export interface DeleteStaffAccountRequest {
|
|
110
|
+
id: string;
|
|
111
|
+
}
|
|
112
|
+
export interface DeleteStaffAccountResponse {
|
|
113
|
+
ok: boolean;
|
|
114
|
+
}
|
|
115
|
+
export interface StaffAccount {
|
|
116
|
+
id: string;
|
|
117
|
+
email: string;
|
|
118
|
+
role: Role;
|
|
119
|
+
createdAt: string;
|
|
120
|
+
}
|
|
91
121
|
export declare const ACCOUNT_V1_PACKAGE_NAME = "account.v1";
|
|
92
122
|
export interface AccountServiceClient {
|
|
93
123
|
getAccount(request: GetAccountRequest): Observable<GetAccountResponse>;
|
|
@@ -100,6 +130,10 @@ export interface AccountServiceClient {
|
|
|
100
130
|
initAccountDeletion(request: InitAccountDeletionRequest): Observable<InitAccountDeletionResponse>;
|
|
101
131
|
confirmAccountDeletion(request: ConfirmAccountDeletionRequest): Observable<ConfirmAccountDeletionResponse>;
|
|
102
132
|
setIdentityVerified(request: SetIdentityVerifiedRequest): Observable<SetIdentityVerifiedResponse>;
|
|
133
|
+
createStaffAccount(request: CreateStaffAccountRequest): Observable<CreateStaffAccountResponse>;
|
|
134
|
+
getStaffAccount(request: GetStaffAccountRequest): Observable<GetStaffAccountResponse>;
|
|
135
|
+
listStaffAccounts(request: ListStaffAccountsRequest): Observable<ListStaffAccountsResponse>;
|
|
136
|
+
deleteStaffAccount(request: DeleteStaffAccountRequest): Observable<DeleteStaffAccountResponse>;
|
|
103
137
|
}
|
|
104
138
|
export interface AccountServiceController {
|
|
105
139
|
getAccount(request: GetAccountRequest): Promise<GetAccountResponse> | Observable<GetAccountResponse> | GetAccountResponse;
|
|
@@ -112,6 +146,10 @@ export interface AccountServiceController {
|
|
|
112
146
|
initAccountDeletion(request: InitAccountDeletionRequest): Promise<InitAccountDeletionResponse> | Observable<InitAccountDeletionResponse> | InitAccountDeletionResponse;
|
|
113
147
|
confirmAccountDeletion(request: ConfirmAccountDeletionRequest): Promise<ConfirmAccountDeletionResponse> | Observable<ConfirmAccountDeletionResponse> | ConfirmAccountDeletionResponse;
|
|
114
148
|
setIdentityVerified(request: SetIdentityVerifiedRequest): Promise<SetIdentityVerifiedResponse> | Observable<SetIdentityVerifiedResponse> | SetIdentityVerifiedResponse;
|
|
149
|
+
createStaffAccount(request: CreateStaffAccountRequest): Promise<CreateStaffAccountResponse> | Observable<CreateStaffAccountResponse> | CreateStaffAccountResponse;
|
|
150
|
+
getStaffAccount(request: GetStaffAccountRequest): Promise<GetStaffAccountResponse> | Observable<GetStaffAccountResponse> | GetStaffAccountResponse;
|
|
151
|
+
listStaffAccounts(request: ListStaffAccountsRequest): Promise<ListStaffAccountsResponse> | Observable<ListStaffAccountsResponse> | ListStaffAccountsResponse;
|
|
152
|
+
deleteStaffAccount(request: DeleteStaffAccountRequest): Promise<DeleteStaffAccountResponse> | Observable<DeleteStaffAccountResponse> | DeleteStaffAccountResponse;
|
|
115
153
|
}
|
|
116
154
|
export declare function AccountServiceControllerMethods(): (constructor: Function) => void;
|
|
117
155
|
export declare const ACCOUNT_SERVICE_NAME = "AccountService";
|
package/dist/nest/account.js
CHANGED
|
@@ -33,6 +33,10 @@ function AccountServiceControllerMethods() {
|
|
|
33
33
|
"initAccountDeletion",
|
|
34
34
|
"confirmAccountDeletion",
|
|
35
35
|
"setIdentityVerified",
|
|
36
|
+
"createStaffAccount",
|
|
37
|
+
"getStaffAccount",
|
|
38
|
+
"listStaffAccounts",
|
|
39
|
+
"deleteStaffAccount",
|
|
36
40
|
];
|
|
37
41
|
for (const method of grpcMethods) {
|
|
38
42
|
const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
package/dist/nest/auth.d.ts
CHANGED
|
@@ -90,6 +90,7 @@ export interface AuthServiceClient {
|
|
|
90
90
|
verifyOtp(request: VerifyOtpRequest): Observable<VerifyOtpResponse>;
|
|
91
91
|
refresh(request: RefreshRequest): Observable<RefreshResponse>;
|
|
92
92
|
logout(request: LogoutRequest): Observable<LogoutResponse>;
|
|
93
|
+
sendStaffOtp(request: SendOtpRequest): Observable<SendOtpResponse>;
|
|
93
94
|
verifyStaffOtp(request: VerifyOtpRequest): Observable<VerifyOtpResponse>;
|
|
94
95
|
refreshStaff(request: RefreshRequest): Observable<RefreshResponse>;
|
|
95
96
|
telegramInit(request: Empty): Observable<TelegramInitResponse>;
|
|
@@ -104,6 +105,7 @@ export interface AuthServiceController {
|
|
|
104
105
|
verifyOtp(request: VerifyOtpRequest): Promise<VerifyOtpResponse> | Observable<VerifyOtpResponse> | VerifyOtpResponse;
|
|
105
106
|
refresh(request: RefreshRequest): Promise<RefreshResponse> | Observable<RefreshResponse> | RefreshResponse;
|
|
106
107
|
logout(request: LogoutRequest): Promise<LogoutResponse> | Observable<LogoutResponse> | LogoutResponse;
|
|
108
|
+
sendStaffOtp(request: SendOtpRequest): Promise<SendOtpResponse> | Observable<SendOtpResponse> | SendOtpResponse;
|
|
107
109
|
verifyStaffOtp(request: VerifyOtpRequest): Promise<VerifyOtpResponse> | Observable<VerifyOtpResponse> | VerifyOtpResponse;
|
|
108
110
|
refreshStaff(request: RefreshRequest): Promise<RefreshResponse> | Observable<RefreshResponse> | RefreshResponse;
|
|
109
111
|
telegramInit(request: Empty): Promise<TelegramInitResponse> | Observable<TelegramInitResponse> | TelegramInitResponse;
|
package/dist/nest/auth.js
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Observable } from "rxjs";
|
|
2
|
+
export declare const protobufPackage = "staff.v1";
|
|
3
|
+
export declare const protobufFileName = "staff.proto";
|
|
4
|
+
export interface ListStaffRequest {
|
|
5
|
+
ids: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface ListStaffResponse {
|
|
8
|
+
staff: Staff[];
|
|
9
|
+
}
|
|
10
|
+
export interface SaveStaffRequest {
|
|
11
|
+
id: string;
|
|
12
|
+
title?: string | undefined;
|
|
13
|
+
firstName: string;
|
|
14
|
+
lastName: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SaveStaffResponse {
|
|
17
|
+
staff: Staff | undefined;
|
|
18
|
+
}
|
|
19
|
+
export interface Staff {
|
|
20
|
+
id: string;
|
|
21
|
+
title?: string | undefined;
|
|
22
|
+
firstName: string;
|
|
23
|
+
lastName: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const STAFF_V1_PACKAGE_NAME = "staff.v1";
|
|
26
|
+
export interface StaffServiceClient {
|
|
27
|
+
listStaff(request: ListStaffRequest): Observable<ListStaffResponse>;
|
|
28
|
+
saveStaff(request: SaveStaffRequest): Observable<SaveStaffResponse>;
|
|
29
|
+
}
|
|
30
|
+
export interface StaffServiceController {
|
|
31
|
+
listStaff(request: ListStaffRequest): Promise<ListStaffResponse> | Observable<ListStaffResponse> | ListStaffResponse;
|
|
32
|
+
saveStaff(request: SaveStaffRequest): Promise<SaveStaffResponse> | Observable<SaveStaffResponse> | SaveStaffResponse;
|
|
33
|
+
}
|
|
34
|
+
export declare function StaffServiceControllerMethods(): (constructor: Function) => void;
|
|
35
|
+
export declare const STAFF_SERVICE_NAME = "StaffService";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
|
+
// versions:
|
|
4
|
+
// protoc-gen-ts_proto v2.18.0
|
|
5
|
+
// protoc v3.21.12
|
|
6
|
+
// source: staff.proto
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.STAFF_SERVICE_NAME = exports.STAFF_V1_PACKAGE_NAME = exports.protobufFileName = exports.protobufPackage = void 0;
|
|
9
|
+
exports.StaffServiceControllerMethods = StaffServiceControllerMethods;
|
|
10
|
+
/* eslint-disable */
|
|
11
|
+
const microservices_1 = require("@nestjs/microservices");
|
|
12
|
+
exports.protobufPackage = "staff.v1";
|
|
13
|
+
exports.protobufFileName = "staff.proto";
|
|
14
|
+
exports.STAFF_V1_PACKAGE_NAME = "staff.v1";
|
|
15
|
+
function StaffServiceControllerMethods() {
|
|
16
|
+
return function (constructor) {
|
|
17
|
+
const grpcMethods = ["listStaff", "saveStaff"];
|
|
18
|
+
for (const method of grpcMethods) {
|
|
19
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
20
|
+
(0, microservices_1.GrpcMethod)("StaffService", method)(constructor.prototype[method], method, descriptor);
|
|
21
|
+
Object.defineProperty(constructor.prototype, method, descriptor);
|
|
22
|
+
}
|
|
23
|
+
const grpcStreamMethods = [];
|
|
24
|
+
for (const method of grpcStreamMethods) {
|
|
25
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
26
|
+
(0, microservices_1.GrpcStreamMethod)("StaffService", method)(constructor.prototype[method], method, descriptor);
|
|
27
|
+
Object.defineProperty(constructor.prototype, method, descriptor);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
exports.STAFF_SERVICE_NAME = "StaffService";
|
package/dist/proto/paths.d.ts
CHANGED
package/dist/proto/paths.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.PROTO_PATHS = {
|
|
|
6
6
|
AUTH: (0, path_1.join)(__dirname, '../../proto/auth.proto'),
|
|
7
7
|
ACCOUNT: (0, path_1.join)(__dirname, '../../proto/account.proto'),
|
|
8
8
|
USER: (0, path_1.join)(__dirname, '../../proto/user.proto'),
|
|
9
|
+
STAFF: (0, path_1.join)(__dirname, '../../proto/staff.proto'),
|
|
9
10
|
MEDIA: (0, path_1.join)(__dirname, '../../proto/media.proto'),
|
|
10
11
|
KYC: (0, path_1.join)(__dirname, '../../proto/kyc.proto'),
|
|
11
12
|
TREATMENT: (0, path_1.join)(__dirname, '../../proto/treatment.proto'),
|
package/package.json
CHANGED
package/proto/account.proto
CHANGED
|
@@ -17,6 +17,11 @@ service AccountService {
|
|
|
17
17
|
rpc ConfirmAccountDeletion(ConfirmAccountDeletionRequest) returns (ConfirmAccountDeletionResponse);
|
|
18
18
|
|
|
19
19
|
rpc SetIdentityVerified(SetIdentityVerifiedRequest) returns (SetIdentityVerifiedResponse);
|
|
20
|
+
|
|
21
|
+
rpc CreateStaffAccount(CreateStaffAccountRequest) returns (CreateStaffAccountResponse);
|
|
22
|
+
rpc GetStaffAccount(GetStaffAccountRequest) returns (GetStaffAccountResponse);
|
|
23
|
+
rpc ListStaffAccounts(ListStaffAccountsRequest) returns (ListStaffAccountsResponse);
|
|
24
|
+
rpc DeleteStaffAccount(DeleteStaffAccountRequest) returns (DeleteStaffAccountResponse);
|
|
20
25
|
}
|
|
21
26
|
|
|
22
27
|
message GetAccountRequest {
|
|
@@ -113,6 +118,44 @@ message SetIdentityVerifiedResponse {
|
|
|
113
118
|
bool ok = 1;
|
|
114
119
|
}
|
|
115
120
|
|
|
121
|
+
message CreateStaffAccountRequest {
|
|
122
|
+
string email = 1;
|
|
123
|
+
Role role = 2;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
message CreateStaffAccountResponse {
|
|
127
|
+
StaffAccount account = 1;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
message GetStaffAccountRequest {
|
|
131
|
+
string id = 1;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
message GetStaffAccountResponse {
|
|
135
|
+
StaffAccount account = 1;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
message ListStaffAccountsRequest {}
|
|
139
|
+
|
|
140
|
+
message ListStaffAccountsResponse {
|
|
141
|
+
repeated StaffAccount accounts = 1;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
message DeleteStaffAccountRequest {
|
|
145
|
+
string id = 1;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
message DeleteStaffAccountResponse {
|
|
149
|
+
bool ok = 1;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
message StaffAccount {
|
|
153
|
+
string id = 1;
|
|
154
|
+
string email = 2;
|
|
155
|
+
Role role = 3;
|
|
156
|
+
string created_at = 4;
|
|
157
|
+
}
|
|
158
|
+
|
|
116
159
|
enum Role {
|
|
117
160
|
PATIENT = 0;
|
|
118
161
|
ADMIN = 1;
|
package/proto/auth.proto
CHANGED
|
@@ -10,6 +10,7 @@ service AuthService {
|
|
|
10
10
|
rpc Refresh (RefreshRequest) returns (RefreshResponse);
|
|
11
11
|
rpc Logout (LogoutRequest) returns (LogoutResponse);
|
|
12
12
|
|
|
13
|
+
rpc SendStaffOtp (SendOtpRequest) returns (SendOtpResponse);
|
|
13
14
|
rpc VerifyStaffOtp (VerifyOtpRequest) returns (VerifyOtpResponse);
|
|
14
15
|
rpc RefreshStaff (RefreshRequest) returns (RefreshResponse);
|
|
15
16
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
syntax = "proto3";
|
|
2
|
+
|
|
3
|
+
package staff.v1;
|
|
4
|
+
|
|
5
|
+
service StaffService {
|
|
6
|
+
rpc ListStaff (ListStaffRequest) returns (ListStaffResponse);
|
|
7
|
+
rpc SaveStaff (SaveStaffRequest) returns (SaveStaffResponse);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
message ListStaffRequest {
|
|
11
|
+
repeated string ids = 1;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
message ListStaffResponse {
|
|
15
|
+
repeated Staff staff = 1;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
message SaveStaffRequest {
|
|
19
|
+
string id = 1;
|
|
20
|
+
optional string title = 2;
|
|
21
|
+
string first_name = 3;
|
|
22
|
+
string last_name = 4;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
message SaveStaffResponse {
|
|
26
|
+
Staff staff = 1;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
message Staff {
|
|
30
|
+
string id = 1;
|
|
31
|
+
optional string title = 2;
|
|
32
|
+
string first_name = 3;
|
|
33
|
+
string last_name = 4;
|
|
34
|
+
}
|