// SPDX-License-Identifier: MIT // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.12 // protoc (unknown) // source: ermite/session.proto package ermite import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // CreateLoginLinkRequest is empty. type CreateLoginLinkRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CreateLoginLinkRequest) Reset() { *x = CreateLoginLinkRequest{} mi := &file_ermite_session_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CreateLoginLinkRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateLoginLinkRequest) ProtoMessage() {} func (x *CreateLoginLinkRequest) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateLoginLinkRequest.ProtoReflect.Descriptor instead. func (*CreateLoginLinkRequest) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{0} } // CreateLoginLinkResponse holds the link. type CreateLoginLinkResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Url is the absolute link to open in a browser, on the public URL of the // server. It holds a secret: clients print it to the terminal and nowhere // else, and never log it. Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` // ExpiresAt is when the link stops working if it is not used. ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CreateLoginLinkResponse) Reset() { *x = CreateLoginLinkResponse{} mi := &file_ermite_session_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CreateLoginLinkResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreateLoginLinkResponse) ProtoMessage() {} func (x *CreateLoginLinkResponse) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreateLoginLinkResponse.ProtoReflect.Descriptor instead. func (*CreateLoginLinkResponse) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{1} } func (x *CreateLoginLinkResponse) GetUrl() string { if x != nil { return x.Url } return "" } func (x *CreateLoginLinkResponse) GetExpiresAt() *timestamppb.Timestamp { if x != nil { return x.ExpiresAt } return nil } // SignOutEverywhereRequest is empty. type SignOutEverywhereRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SignOutEverywhereRequest) Reset() { *x = SignOutEverywhereRequest{} mi := &file_ermite_session_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SignOutEverywhereRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignOutEverywhereRequest) ProtoMessage() {} func (x *SignOutEverywhereRequest) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SignOutEverywhereRequest.ProtoReflect.Descriptor instead. func (*SignOutEverywhereRequest) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{2} } // SignOutEverywhereResponse is empty. type SignOutEverywhereResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SignOutEverywhereResponse) Reset() { *x = SignOutEverywhereResponse{} mi := &file_ermite_session_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SignOutEverywhereResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SignOutEverywhereResponse) ProtoMessage() {} func (x *SignOutEverywhereResponse) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SignOutEverywhereResponse.ProtoReflect.Descriptor instead. func (*SignOutEverywhereResponse) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{3} } // Passkey is a WebAuthn credential that can sign the owner in. It never // carries key material. type Passkey struct { state protoimpl.MessageState `protogen:"open.v1"` // Id is the credential id, base64url without padding. Pass it to // RemovePasskey. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Name is the label the owner gave the passkey when registering it. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // CreatedAt is when the passkey was registered. CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` // LastUsedAt is when the passkey last signed the owner in. It is unset // when the passkey was never used. LastUsedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_used_at,json=lastUsedAt,proto3" json:"last_used_at,omitempty"` // Synced is true when the authenticator reports the credential as backed // up (the backup state flag), for example a passkey synced by a platform or // a password manager. Synced bool `protobuf:"varint,5,opt,name=synced,proto3" json:"synced,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Passkey) Reset() { *x = Passkey{} mi := &file_ermite_session_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Passkey) String() string { return protoimpl.X.MessageStringOf(x) } func (*Passkey) ProtoMessage() {} func (x *Passkey) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Passkey.ProtoReflect.Descriptor instead. func (*Passkey) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{4} } func (x *Passkey) GetId() string { if x != nil { return x.Id } return "" } func (x *Passkey) GetName() string { if x != nil { return x.Name } return "" } func (x *Passkey) GetCreatedAt() *timestamppb.Timestamp { if x != nil { return x.CreatedAt } return nil } func (x *Passkey) GetLastUsedAt() *timestamppb.Timestamp { if x != nil { return x.LastUsedAt } return nil } func (x *Passkey) GetSynced() bool { if x != nil { return x.Synced } return false } // ListPasskeysRequest is empty. type ListPasskeysRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListPasskeysRequest) Reset() { *x = ListPasskeysRequest{} mi := &file_ermite_session_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListPasskeysRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPasskeysRequest) ProtoMessage() {} func (x *ListPasskeysRequest) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPasskeysRequest.ProtoReflect.Descriptor instead. func (*ListPasskeysRequest) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{5} } // ListPasskeysResponse holds the passkeys. type ListPasskeysResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Passkeys are the registered passkeys, oldest first. Passkeys []*Passkey `protobuf:"bytes,1,rep,name=passkeys,proto3" json:"passkeys,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListPasskeysResponse) Reset() { *x = ListPasskeysResponse{} mi := &file_ermite_session_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListPasskeysResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPasskeysResponse) ProtoMessage() {} func (x *ListPasskeysResponse) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPasskeysResponse.ProtoReflect.Descriptor instead. func (*ListPasskeysResponse) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{6} } func (x *ListPasskeysResponse) GetPasskeys() []*Passkey { if x != nil { return x.Passkeys } return nil } // RemovePasskeyRequest names the passkey to remove. type RemovePasskeyRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Id is the credential id from Passkey.id. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RemovePasskeyRequest) Reset() { *x = RemovePasskeyRequest{} mi := &file_ermite_session_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RemovePasskeyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemovePasskeyRequest) ProtoMessage() {} func (x *RemovePasskeyRequest) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemovePasskeyRequest.ProtoReflect.Descriptor instead. func (*RemovePasskeyRequest) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{7} } func (x *RemovePasskeyRequest) GetId() string { if x != nil { return x.Id } return "" } // RemovePasskeyResponse is empty. type RemovePasskeyResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *RemovePasskeyResponse) Reset() { *x = RemovePasskeyResponse{} mi := &file_ermite_session_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *RemovePasskeyResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*RemovePasskeyResponse) ProtoMessage() {} func (x *RemovePasskeyResponse) ProtoReflect() protoreflect.Message { mi := &file_ermite_session_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use RemovePasskeyResponse.ProtoReflect.Descriptor instead. func (*RemovePasskeyResponse) Descriptor() ([]byte, []int) { return file_ermite_session_proto_rawDescGZIP(), []int{8} } var File_ermite_session_proto protoreflect.FileDescriptor const file_ermite_session_proto_rawDesc = "" + "\n" + "\x14ermite/session.proto\x12\x06ermite\x1a\x1fgoogle/protobuf/timestamp.proto\"\x18\n" + "\x16CreateLoginLinkRequest\"f\n" + "\x17CreateLoginLinkResponse\x12\x10\n" + "\x03url\x18\x01 \x01(\tR\x03url\x129\n" + "\n" + "expires_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"\x1a\n" + "\x18SignOutEverywhereRequest\"\x1b\n" + "\x19SignOutEverywhereResponse\"\xbe\x01\n" + "\aPasskey\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x129\n" + "\n" + "created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12<\n" + "\flast_used_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + "lastUsedAt\x12\x16\n" + "\x06synced\x18\x05 \x01(\bR\x06synced\"\x15\n" + "\x13ListPasskeysRequest\"C\n" + "\x14ListPasskeysResponse\x12+\n" + "\bpasskeys\x18\x01 \x03(\v2\x0f.ermite.PasskeyR\bpasskeys\"&\n" + "\x14RemovePasskeyRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"\x17\n" + "\x15RemovePasskeyResponse2\xd7\x02\n" + "\x0eSessionService\x12R\n" + "\x0fCreateLoginLink\x12\x1e.ermite.CreateLoginLinkRequest\x1a\x1f.ermite.CreateLoginLinkResponse\x12X\n" + "\x11SignOutEverywhere\x12 .ermite.SignOutEverywhereRequest\x1a!.ermite.SignOutEverywhereResponse\x12I\n" + "\fListPasskeys\x12\x1b.ermite.ListPasskeysRequest\x1a\x1c.ermite.ListPasskeysResponse\x12L\n" + "\rRemovePasskey\x12\x1c.ermite.RemovePasskeyRequest\x1a\x1d.ermite.RemovePasskeyResponseBs\n" + "\n" + "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" var ( file_ermite_session_proto_rawDescOnce sync.Once file_ermite_session_proto_rawDescData []byte ) func file_ermite_session_proto_rawDescGZIP() []byte { file_ermite_session_proto_rawDescOnce.Do(func() { file_ermite_session_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_session_proto_rawDesc), len(file_ermite_session_proto_rawDesc))) }) return file_ermite_session_proto_rawDescData } var file_ermite_session_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_ermite_session_proto_goTypes = []any{ (*CreateLoginLinkRequest)(nil), // 0: ermite.CreateLoginLinkRequest (*CreateLoginLinkResponse)(nil), // 1: ermite.CreateLoginLinkResponse (*SignOutEverywhereRequest)(nil), // 2: ermite.SignOutEverywhereRequest (*SignOutEverywhereResponse)(nil), // 3: ermite.SignOutEverywhereResponse (*Passkey)(nil), // 4: ermite.Passkey (*ListPasskeysRequest)(nil), // 5: ermite.ListPasskeysRequest (*ListPasskeysResponse)(nil), // 6: ermite.ListPasskeysResponse (*RemovePasskeyRequest)(nil), // 7: ermite.RemovePasskeyRequest (*RemovePasskeyResponse)(nil), // 8: ermite.RemovePasskeyResponse (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp } var file_ermite_session_proto_depIdxs = []int32{ 9, // 0: ermite.CreateLoginLinkResponse.expires_at:type_name -> google.protobuf.Timestamp 9, // 1: ermite.Passkey.created_at:type_name -> google.protobuf.Timestamp 9, // 2: ermite.Passkey.last_used_at:type_name -> google.protobuf.Timestamp 4, // 3: ermite.ListPasskeysResponse.passkeys:type_name -> ermite.Passkey 0, // 4: ermite.SessionService.CreateLoginLink:input_type -> ermite.CreateLoginLinkRequest 2, // 5: ermite.SessionService.SignOutEverywhere:input_type -> ermite.SignOutEverywhereRequest 5, // 6: ermite.SessionService.ListPasskeys:input_type -> ermite.ListPasskeysRequest 7, // 7: ermite.SessionService.RemovePasskey:input_type -> ermite.RemovePasskeyRequest 1, // 8: ermite.SessionService.CreateLoginLink:output_type -> ermite.CreateLoginLinkResponse 3, // 9: ermite.SessionService.SignOutEverywhere:output_type -> ermite.SignOutEverywhereResponse 6, // 10: ermite.SessionService.ListPasskeys:output_type -> ermite.ListPasskeysResponse 8, // 11: ermite.SessionService.RemovePasskey:output_type -> ermite.RemovePasskeyResponse 8, // [8:12] is the sub-list for method output_type 4, // [4:8] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_ermite_session_proto_init() } func file_ermite_session_proto_init() { if File_ermite_session_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_session_proto_rawDesc), len(file_ermite_session_proto_rawDesc)), NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 1, }, GoTypes: file_ermite_session_proto_goTypes, DependencyIndexes: file_ermite_session_proto_depIdxs, MessageInfos: file_ermite_session_proto_msgTypes, }.Build() File_ermite_session_proto = out.File file_ermite_session_proto_goTypes = nil file_ermite_session_proto_depIdxs = nil }