762155a55e
Add the confirm-link edge method (auth.email.confirm_link): a new EmailConfirmLinkRequest/Result fbs table, the transcode const + handler + encoder, and the backend-client call to the existing /sessions/email/confirm-link endpoint — it rides Execute under the existing service prefix, so no proto/Caddy change. Add a language field to EmailRequestRequest and forward it (the backend already seeds it). Add the NotifyProfile sub-kind + notify.ProfileChanged, published by the confirm-link handler on a successful link so an in-app session re-fetches its profile when the email was confirmed in another browser. Regenerated fbs bindings (Go + TS).
67 lines
2.3 KiB
TypeScript
67 lines
2.3 KiB
TypeScript
// automatically generated by the FlatBuffers compiler, do not modify
|
|
|
|
import * as flatbuffers from 'flatbuffers';
|
|
|
|
import { Session } from '../scrabblefb/session.js';
|
|
|
|
|
|
export class EmailConfirmLinkResult {
|
|
bb: flatbuffers.ByteBuffer|null = null;
|
|
bb_pos = 0;
|
|
__init(i:number, bb:flatbuffers.ByteBuffer):EmailConfirmLinkResult {
|
|
this.bb_pos = i;
|
|
this.bb = bb;
|
|
return this;
|
|
}
|
|
|
|
static getRootAsEmailConfirmLinkResult(bb:flatbuffers.ByteBuffer, obj?:EmailConfirmLinkResult):EmailConfirmLinkResult {
|
|
return (obj || new EmailConfirmLinkResult()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
|
}
|
|
|
|
static getSizePrefixedRootAsEmailConfirmLinkResult(bb:flatbuffers.ByteBuffer, obj?:EmailConfirmLinkResult):EmailConfirmLinkResult {
|
|
bb.setPosition(bb.position() + flatbuffers.SIZE_PREFIX_LENGTH);
|
|
return (obj || new EmailConfirmLinkResult()).__init(bb.readInt32(bb.position()) + bb.position(), bb);
|
|
}
|
|
|
|
purpose():string|null
|
|
purpose(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
|
|
purpose(optionalEncoding?:any):string|Uint8Array|null {
|
|
const offset = this.bb!.__offset(this.bb_pos, 4);
|
|
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
|
|
}
|
|
|
|
status():string|null
|
|
status(optionalEncoding:flatbuffers.Encoding):string|Uint8Array|null
|
|
status(optionalEncoding?:any):string|Uint8Array|null {
|
|
const offset = this.bb!.__offset(this.bb_pos, 6);
|
|
return offset ? this.bb!.__string(this.bb_pos + offset, optionalEncoding) : null;
|
|
}
|
|
|
|
session(obj?:Session):Session|null {
|
|
const offset = this.bb!.__offset(this.bb_pos, 8);
|
|
return offset ? (obj || new Session()).__init(this.bb!.__indirect(this.bb_pos + offset), this.bb!) : null;
|
|
}
|
|
|
|
static startEmailConfirmLinkResult(builder:flatbuffers.Builder) {
|
|
builder.startObject(3);
|
|
}
|
|
|
|
static addPurpose(builder:flatbuffers.Builder, purposeOffset:flatbuffers.Offset) {
|
|
builder.addFieldOffset(0, purposeOffset, 0);
|
|
}
|
|
|
|
static addStatus(builder:flatbuffers.Builder, statusOffset:flatbuffers.Offset) {
|
|
builder.addFieldOffset(1, statusOffset, 0);
|
|
}
|
|
|
|
static addSession(builder:flatbuffers.Builder, sessionOffset:flatbuffers.Offset) {
|
|
builder.addFieldOffset(2, sessionOffset, 0);
|
|
}
|
|
|
|
static endEmailConfirmLinkResult(builder:flatbuffers.Builder):flatbuffers.Offset {
|
|
const offset = builder.endObject();
|
|
return offset;
|
|
}
|
|
|
|
}
|