1// SPDX-License-Identifier: MIT
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// protoc-gen-go v1.36.12
6// protoc (unknown)
7// source: ermite/session.proto
8
9package ermite
10
11import (
12 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14 timestamppb "google.golang.org/protobuf/types/known/timestamppb"
15 reflect "reflect"
16 sync "sync"
17 unsafe "unsafe"
18)
19
20const (
21 // Verify that this generated code is sufficiently up-to-date.
22 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
23 // Verify that runtime/protoimpl is sufficiently up-to-date.
24 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
25)
26
27// CreateLoginLinkRequest is empty.
28type CreateLoginLinkRequest struct {
29 state protoimpl.MessageState `protogen:"open.v1"`
30 unknownFields protoimpl.UnknownFields
31 sizeCache protoimpl.SizeCache
32}
33
34func (x *CreateLoginLinkRequest) Reset() {
35 *x = CreateLoginLinkRequest{}
36 mi := &file_ermite_session_proto_msgTypes[0]
37 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
38 ms.StoreMessageInfo(mi)
39}
40
41func (x *CreateLoginLinkRequest) String() string {
42 return protoimpl.X.MessageStringOf(x)
43}
44
45func (*CreateLoginLinkRequest) ProtoMessage() {}
46
47func (x *CreateLoginLinkRequest) ProtoReflect() protoreflect.Message {
48 mi := &file_ermite_session_proto_msgTypes[0]
49 if x != nil {
50 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
51 if ms.LoadMessageInfo() == nil {
52 ms.StoreMessageInfo(mi)
53 }
54 return ms
55 }
56 return mi.MessageOf(x)
57}
58
59// Deprecated: Use CreateLoginLinkRequest.ProtoReflect.Descriptor instead.
60func (*CreateLoginLinkRequest) Descriptor() ([]byte, []int) {
61 return file_ermite_session_proto_rawDescGZIP(), []int{0}
62}
63
64// CreateLoginLinkResponse holds the link.
65type CreateLoginLinkResponse struct {
66 state protoimpl.MessageState `protogen:"open.v1"`
67 // Url is the absolute link to open in a browser, on the public URL of the
68 // server. It holds a secret: clients print it to the terminal and nowhere
69 // else, and never log it.
70 Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
71 // ExpiresAt is when the link stops working if it is not used.
72 ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
73 unknownFields protoimpl.UnknownFields
74 sizeCache protoimpl.SizeCache
75}
76
77func (x *CreateLoginLinkResponse) Reset() {
78 *x = CreateLoginLinkResponse{}
79 mi := &file_ermite_session_proto_msgTypes[1]
80 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
81 ms.StoreMessageInfo(mi)
82}
83
84func (x *CreateLoginLinkResponse) String() string {
85 return protoimpl.X.MessageStringOf(x)
86}
87
88func (*CreateLoginLinkResponse) ProtoMessage() {}
89
90func (x *CreateLoginLinkResponse) ProtoReflect() protoreflect.Message {
91 mi := &file_ermite_session_proto_msgTypes[1]
92 if x != nil {
93 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
94 if ms.LoadMessageInfo() == nil {
95 ms.StoreMessageInfo(mi)
96 }
97 return ms
98 }
99 return mi.MessageOf(x)
100}
101
102// Deprecated: Use CreateLoginLinkResponse.ProtoReflect.Descriptor instead.
103func (*CreateLoginLinkResponse) Descriptor() ([]byte, []int) {
104 return file_ermite_session_proto_rawDescGZIP(), []int{1}
105}
106
107func (x *CreateLoginLinkResponse) GetUrl() string {
108 if x != nil {
109 return x.Url
110 }
111 return ""
112}
113
114func (x *CreateLoginLinkResponse) GetExpiresAt() *timestamppb.Timestamp {
115 if x != nil {
116 return x.ExpiresAt
117 }
118 return nil
119}
120
121// SignOutEverywhereRequest is empty.
122type SignOutEverywhereRequest struct {
123 state protoimpl.MessageState `protogen:"open.v1"`
124 unknownFields protoimpl.UnknownFields
125 sizeCache protoimpl.SizeCache
126}
127
128func (x *SignOutEverywhereRequest) Reset() {
129 *x = SignOutEverywhereRequest{}
130 mi := &file_ermite_session_proto_msgTypes[2]
131 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
132 ms.StoreMessageInfo(mi)
133}
134
135func (x *SignOutEverywhereRequest) String() string {
136 return protoimpl.X.MessageStringOf(x)
137}
138
139func (*SignOutEverywhereRequest) ProtoMessage() {}
140
141func (x *SignOutEverywhereRequest) ProtoReflect() protoreflect.Message {
142 mi := &file_ermite_session_proto_msgTypes[2]
143 if x != nil {
144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
145 if ms.LoadMessageInfo() == nil {
146 ms.StoreMessageInfo(mi)
147 }
148 return ms
149 }
150 return mi.MessageOf(x)
151}
152
153// Deprecated: Use SignOutEverywhereRequest.ProtoReflect.Descriptor instead.
154func (*SignOutEverywhereRequest) Descriptor() ([]byte, []int) {
155 return file_ermite_session_proto_rawDescGZIP(), []int{2}
156}
157
158// SignOutEverywhereResponse is empty.
159type SignOutEverywhereResponse struct {
160 state protoimpl.MessageState `protogen:"open.v1"`
161 unknownFields protoimpl.UnknownFields
162 sizeCache protoimpl.SizeCache
163}
164
165func (x *SignOutEverywhereResponse) Reset() {
166 *x = SignOutEverywhereResponse{}
167 mi := &file_ermite_session_proto_msgTypes[3]
168 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
169 ms.StoreMessageInfo(mi)
170}
171
172func (x *SignOutEverywhereResponse) String() string {
173 return protoimpl.X.MessageStringOf(x)
174}
175
176func (*SignOutEverywhereResponse) ProtoMessage() {}
177
178func (x *SignOutEverywhereResponse) ProtoReflect() protoreflect.Message {
179 mi := &file_ermite_session_proto_msgTypes[3]
180 if x != nil {
181 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
182 if ms.LoadMessageInfo() == nil {
183 ms.StoreMessageInfo(mi)
184 }
185 return ms
186 }
187 return mi.MessageOf(x)
188}
189
190// Deprecated: Use SignOutEverywhereResponse.ProtoReflect.Descriptor instead.
191func (*SignOutEverywhereResponse) Descriptor() ([]byte, []int) {
192 return file_ermite_session_proto_rawDescGZIP(), []int{3}
193}
194
195// Passkey is a WebAuthn credential that can sign the owner in. It never
196// carries key material.
197type Passkey struct {
198 state protoimpl.MessageState `protogen:"open.v1"`
199 // Id is the credential id, base64url without padding. Pass it to
200 // RemovePasskey.
201 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
202 // Name is the label the owner gave the passkey when registering it.
203 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
204 // CreatedAt is when the passkey was registered.
205 CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
206 // LastUsedAt is when the passkey last signed the owner in. It is unset
207 // when the passkey was never used.
208 LastUsedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_used_at,json=lastUsedAt,proto3" json:"last_used_at,omitempty"`
209 // Synced is true when the authenticator reports the credential as backed
210 // up (the backup state flag), for example a passkey synced by a platform or
211 // a password manager.
212 Synced bool `protobuf:"varint,5,opt,name=synced,proto3" json:"synced,omitempty"`
213 unknownFields protoimpl.UnknownFields
214 sizeCache protoimpl.SizeCache
215}
216
217func (x *Passkey) Reset() {
218 *x = Passkey{}
219 mi := &file_ermite_session_proto_msgTypes[4]
220 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
221 ms.StoreMessageInfo(mi)
222}
223
224func (x *Passkey) String() string {
225 return protoimpl.X.MessageStringOf(x)
226}
227
228func (*Passkey) ProtoMessage() {}
229
230func (x *Passkey) ProtoReflect() protoreflect.Message {
231 mi := &file_ermite_session_proto_msgTypes[4]
232 if x != nil {
233 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
234 if ms.LoadMessageInfo() == nil {
235 ms.StoreMessageInfo(mi)
236 }
237 return ms
238 }
239 return mi.MessageOf(x)
240}
241
242// Deprecated: Use Passkey.ProtoReflect.Descriptor instead.
243func (*Passkey) Descriptor() ([]byte, []int) {
244 return file_ermite_session_proto_rawDescGZIP(), []int{4}
245}
246
247func (x *Passkey) GetId() string {
248 if x != nil {
249 return x.Id
250 }
251 return ""
252}
253
254func (x *Passkey) GetName() string {
255 if x != nil {
256 return x.Name
257 }
258 return ""
259}
260
261func (x *Passkey) GetCreatedAt() *timestamppb.Timestamp {
262 if x != nil {
263 return x.CreatedAt
264 }
265 return nil
266}
267
268func (x *Passkey) GetLastUsedAt() *timestamppb.Timestamp {
269 if x != nil {
270 return x.LastUsedAt
271 }
272 return nil
273}
274
275func (x *Passkey) GetSynced() bool {
276 if x != nil {
277 return x.Synced
278 }
279 return false
280}
281
282// ListPasskeysRequest is empty.
283type ListPasskeysRequest struct {
284 state protoimpl.MessageState `protogen:"open.v1"`
285 unknownFields protoimpl.UnknownFields
286 sizeCache protoimpl.SizeCache
287}
288
289func (x *ListPasskeysRequest) Reset() {
290 *x = ListPasskeysRequest{}
291 mi := &file_ermite_session_proto_msgTypes[5]
292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
293 ms.StoreMessageInfo(mi)
294}
295
296func (x *ListPasskeysRequest) String() string {
297 return protoimpl.X.MessageStringOf(x)
298}
299
300func (*ListPasskeysRequest) ProtoMessage() {}
301
302func (x *ListPasskeysRequest) ProtoReflect() protoreflect.Message {
303 mi := &file_ermite_session_proto_msgTypes[5]
304 if x != nil {
305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
306 if ms.LoadMessageInfo() == nil {
307 ms.StoreMessageInfo(mi)
308 }
309 return ms
310 }
311 return mi.MessageOf(x)
312}
313
314// Deprecated: Use ListPasskeysRequest.ProtoReflect.Descriptor instead.
315func (*ListPasskeysRequest) Descriptor() ([]byte, []int) {
316 return file_ermite_session_proto_rawDescGZIP(), []int{5}
317}
318
319// ListPasskeysResponse holds the passkeys.
320type ListPasskeysResponse struct {
321 state protoimpl.MessageState `protogen:"open.v1"`
322 // Passkeys are the registered passkeys, oldest first.
323 Passkeys []*Passkey `protobuf:"bytes,1,rep,name=passkeys,proto3" json:"passkeys,omitempty"`
324 unknownFields protoimpl.UnknownFields
325 sizeCache protoimpl.SizeCache
326}
327
328func (x *ListPasskeysResponse) Reset() {
329 *x = ListPasskeysResponse{}
330 mi := &file_ermite_session_proto_msgTypes[6]
331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
332 ms.StoreMessageInfo(mi)
333}
334
335func (x *ListPasskeysResponse) String() string {
336 return protoimpl.X.MessageStringOf(x)
337}
338
339func (*ListPasskeysResponse) ProtoMessage() {}
340
341func (x *ListPasskeysResponse) ProtoReflect() protoreflect.Message {
342 mi := &file_ermite_session_proto_msgTypes[6]
343 if x != nil {
344 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
345 if ms.LoadMessageInfo() == nil {
346 ms.StoreMessageInfo(mi)
347 }
348 return ms
349 }
350 return mi.MessageOf(x)
351}
352
353// Deprecated: Use ListPasskeysResponse.ProtoReflect.Descriptor instead.
354func (*ListPasskeysResponse) Descriptor() ([]byte, []int) {
355 return file_ermite_session_proto_rawDescGZIP(), []int{6}
356}
357
358func (x *ListPasskeysResponse) GetPasskeys() []*Passkey {
359 if x != nil {
360 return x.Passkeys
361 }
362 return nil
363}
364
365// RemovePasskeyRequest names the passkey to remove.
366type RemovePasskeyRequest struct {
367 state protoimpl.MessageState `protogen:"open.v1"`
368 // Id is the credential id from Passkey.id.
369 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
370 unknownFields protoimpl.UnknownFields
371 sizeCache protoimpl.SizeCache
372}
373
374func (x *RemovePasskeyRequest) Reset() {
375 *x = RemovePasskeyRequest{}
376 mi := &file_ermite_session_proto_msgTypes[7]
377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
378 ms.StoreMessageInfo(mi)
379}
380
381func (x *RemovePasskeyRequest) String() string {
382 return protoimpl.X.MessageStringOf(x)
383}
384
385func (*RemovePasskeyRequest) ProtoMessage() {}
386
387func (x *RemovePasskeyRequest) ProtoReflect() protoreflect.Message {
388 mi := &file_ermite_session_proto_msgTypes[7]
389 if x != nil {
390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
391 if ms.LoadMessageInfo() == nil {
392 ms.StoreMessageInfo(mi)
393 }
394 return ms
395 }
396 return mi.MessageOf(x)
397}
398
399// Deprecated: Use RemovePasskeyRequest.ProtoReflect.Descriptor instead.
400func (*RemovePasskeyRequest) Descriptor() ([]byte, []int) {
401 return file_ermite_session_proto_rawDescGZIP(), []int{7}
402}
403
404func (x *RemovePasskeyRequest) GetId() string {
405 if x != nil {
406 return x.Id
407 }
408 return ""
409}
410
411// RemovePasskeyResponse is empty.
412type RemovePasskeyResponse struct {
413 state protoimpl.MessageState `protogen:"open.v1"`
414 unknownFields protoimpl.UnknownFields
415 sizeCache protoimpl.SizeCache
416}
417
418func (x *RemovePasskeyResponse) Reset() {
419 *x = RemovePasskeyResponse{}
420 mi := &file_ermite_session_proto_msgTypes[8]
421 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
422 ms.StoreMessageInfo(mi)
423}
424
425func (x *RemovePasskeyResponse) String() string {
426 return protoimpl.X.MessageStringOf(x)
427}
428
429func (*RemovePasskeyResponse) ProtoMessage() {}
430
431func (x *RemovePasskeyResponse) ProtoReflect() protoreflect.Message {
432 mi := &file_ermite_session_proto_msgTypes[8]
433 if x != nil {
434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
435 if ms.LoadMessageInfo() == nil {
436 ms.StoreMessageInfo(mi)
437 }
438 return ms
439 }
440 return mi.MessageOf(x)
441}
442
443// Deprecated: Use RemovePasskeyResponse.ProtoReflect.Descriptor instead.
444func (*RemovePasskeyResponse) Descriptor() ([]byte, []int) {
445 return file_ermite_session_proto_rawDescGZIP(), []int{8}
446}
447
448var File_ermite_session_proto protoreflect.FileDescriptor
449
450const file_ermite_session_proto_rawDesc = "" +
451 "\n" +
452 "\x14ermite/session.proto\x12\x06ermite\x1a\x1fgoogle/protobuf/timestamp.proto\"\x18\n" +
453 "\x16CreateLoginLinkRequest\"f\n" +
454 "\x17CreateLoginLinkResponse\x12\x10\n" +
455 "\x03url\x18\x01 \x01(\tR\x03url\x129\n" +
456 "\n" +
457 "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"\x1a\n" +
458 "\x18SignOutEverywhereRequest\"\x1b\n" +
459 "\x19SignOutEverywhereResponse\"\xbe\x01\n" +
460 "\aPasskey\x12\x0e\n" +
461 "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
462 "\x04name\x18\x02 \x01(\tR\x04name\x129\n" +
463 "\n" +
464 "created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12<\n" +
465 "\flast_used_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
466 "lastUsedAt\x12\x16\n" +
467 "\x06synced\x18\x05 \x01(\bR\x06synced\"\x15\n" +
468 "\x13ListPasskeysRequest\"C\n" +
469 "\x14ListPasskeysResponse\x12+\n" +
470 "\bpasskeys\x18\x01 \x03(\v2\x0f.ermite.PasskeyR\bpasskeys\"&\n" +
471 "\x14RemovePasskeyRequest\x12\x0e\n" +
472 "\x02id\x18\x01 \x01(\tR\x02id\"\x17\n" +
473 "\x15RemovePasskeyResponse2\xd7\x02\n" +
474 "\x0eSessionService\x12R\n" +
475 "\x0fCreateLoginLink\x12\x1e.ermite.CreateLoginLinkRequest\x1a\x1f.ermite.CreateLoginLinkResponse\x12X\n" +
476 "\x11SignOutEverywhere\x12 .ermite.SignOutEverywhereRequest\x1a!.ermite.SignOutEverywhereResponse\x12I\n" +
477 "\fListPasskeys\x12\x1b.ermite.ListPasskeysRequest\x1a\x1c.ermite.ListPasskeysResponse\x12L\n" +
478 "\rRemovePasskey\x12\x1c.ermite.RemovePasskeyRequest\x1a\x1d.ermite.RemovePasskeyResponseBs\n" +
479 "\n" +
480 "com.ermiteB\fSessionProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
481
482var (
483 file_ermite_session_proto_rawDescOnce sync.Once
484 file_ermite_session_proto_rawDescData []byte
485)
486
487func file_ermite_session_proto_rawDescGZIP() []byte {
488 file_ermite_session_proto_rawDescOnce.Do(func() {
489 file_ermite_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_session_proto_rawDesc), len(file_ermite_session_proto_rawDesc)))
490 })
491 return file_ermite_session_proto_rawDescData
492}
493
494var file_ermite_session_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
495var file_ermite_session_proto_goTypes = []any{
496 (*CreateLoginLinkRequest)(nil), // 0: ermite.CreateLoginLinkRequest
497 (*CreateLoginLinkResponse)(nil), // 1: ermite.CreateLoginLinkResponse
498 (*SignOutEverywhereRequest)(nil), // 2: ermite.SignOutEverywhereRequest
499 (*SignOutEverywhereResponse)(nil), // 3: ermite.SignOutEverywhereResponse
500 (*Passkey)(nil), // 4: ermite.Passkey
501 (*ListPasskeysRequest)(nil), // 5: ermite.ListPasskeysRequest
502 (*ListPasskeysResponse)(nil), // 6: ermite.ListPasskeysResponse
503 (*RemovePasskeyRequest)(nil), // 7: ermite.RemovePasskeyRequest
504 (*RemovePasskeyResponse)(nil), // 8: ermite.RemovePasskeyResponse
505 (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp
506}
507var file_ermite_session_proto_depIdxs = []int32{
508 9, // 0: ermite.CreateLoginLinkResponse.expires_at:type_name -> google.protobuf.Timestamp
509 9, // 1: ermite.Passkey.created_at:type_name -> google.protobuf.Timestamp
510 9, // 2: ermite.Passkey.last_used_at:type_name -> google.protobuf.Timestamp
511 4, // 3: ermite.ListPasskeysResponse.passkeys:type_name -> ermite.Passkey
512 0, // 4: ermite.SessionService.CreateLoginLink:input_type -> ermite.CreateLoginLinkRequest
513 2, // 5: ermite.SessionService.SignOutEverywhere:input_type -> ermite.SignOutEverywhereRequest
514 5, // 6: ermite.SessionService.ListPasskeys:input_type -> ermite.ListPasskeysRequest
515 7, // 7: ermite.SessionService.RemovePasskey:input_type -> ermite.RemovePasskeyRequest
516 1, // 8: ermite.SessionService.CreateLoginLink:output_type -> ermite.CreateLoginLinkResponse
517 3, // 9: ermite.SessionService.SignOutEverywhere:output_type -> ermite.SignOutEverywhereResponse
518 6, // 10: ermite.SessionService.ListPasskeys:output_type -> ermite.ListPasskeysResponse
519 8, // 11: ermite.SessionService.RemovePasskey:output_type -> ermite.RemovePasskeyResponse
520 8, // [8:12] is the sub-list for method output_type
521 4, // [4:8] is the sub-list for method input_type
522 4, // [4:4] is the sub-list for extension type_name
523 4, // [4:4] is the sub-list for extension extendee
524 0, // [0:4] is the sub-list for field type_name
525}
526
527func init() { file_ermite_session_proto_init() }
528func file_ermite_session_proto_init() {
529 if File_ermite_session_proto != nil {
530 return
531 }
532 type x struct{}
533 out := protoimpl.TypeBuilder{
534 File: protoimpl.DescBuilder{
535 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
536 RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_session_proto_rawDesc), len(file_ermite_session_proto_rawDesc)),
537 NumEnums: 0,
538 NumMessages: 9,
539 NumExtensions: 0,
540 NumServices: 1,
541 },
542 GoTypes: file_ermite_session_proto_goTypes,
543 DependencyIndexes: file_ermite_session_proto_depIdxs,
544 MessageInfos: file_ermite_session_proto_msgTypes,
545 }.Build()
546 File_ermite_session_proto = out.File
547 file_ermite_session_proto_goTypes = nil
548 file_ermite_session_proto_depIdxs = nil
549}