github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/registry/appws.vsql (about) 1 -- Copyright (c) 2021-present unTill Pro, Ltd. 2 -- @author Denis Gribanov 3 4 ALTER WORKSPACE AppWorkspaceWS ( 5 6 TABLE Login INHERITS CDoc ( 7 ProfileCluster int32 NOT NULL, 8 PwdHash bytes NOT NULL, 9 AppName varchar NOT NULL, 10 SubjectKind int32, 11 LoginHash varchar NOT NULL, 12 WSID int64, -- to be written after workspace init 13 WSError varchar(1024), -- to be written after workspace init 14 WSKindInitializationData varchar(1024) NOT NULL 15 ); 16 17 TYPE CreateLoginParams ( 18 Login text NOT NULL, 19 AppName text NOT NULL, 20 SubjectKind int32 NOT NULL, 21 WSKindInitializationData text(1024) NOT NULL, 22 ProfileCluster int32 NOT NULL 23 ); 24 25 TYPE CreateLoginUnloggedParams ( 26 Password text NOT NULL 27 ); 28 29 TYPE IssuePrincipalTokenParams ( 30 Login text NOT NULL, 31 Password text NOT NULL, 32 AppName text NOT NULL 33 ); 34 35 TYPE IssuePrincipalTokenResult ( 36 PrincipalToken text NOT NULL, 37 WSID int64 NOT NULL, 38 WSError text(1024) NOT NULL 39 ); 40 41 TYPE ChangePasswordParams ( 42 Login text NOT NULL, 43 AppName text NOT NULL 44 ); 45 46 TYPE ChangePasswordUnloggedParams ( 47 OldPassword text NOT NULL, 48 NewPassword text NOT NULL 49 ); 50 51 TYPE InitiateResetPasswordByEmailParams ( 52 AppName text NOT NULL, 53 Email text NOT NULL, 54 Language text 55 ); 56 57 TYPE InitiateResetPasswordByEmailResult ( 58 VerificationToken text NOT NULL, 59 ProfileWSID int64 NOT NULL 60 ); 61 62 TYPE IssueVerifiedValueTokenForResetPasswordParams ( 63 VerificationToken varchar(32768) NOT NULL, 64 VerificationCode text NOT NULL, 65 ProfileWSID int64 NOT NULL, 66 AppName text NOT NULL 67 ); 68 69 TYPE IssueVerifiedValueTokenForResetPasswordResult ( 70 VerifiedValueToken text NOT NULL 71 ); 72 73 TYPE ResetPasswordByEmailParams ( 74 AppName text NOT NULL 75 ); 76 77 TYPE ResetPasswordByEmailUnloggedParams ( 78 Email text NOT NULL VERIFIABLE, 79 NewPwd text NOT NULL 80 ); 81 82 VIEW LoginIdx ( 83 AppWSID int64 NOT NULL, 84 AppIDLoginHash text NOT NULL, 85 CDocLoginID ref(Login) NOT NULL, 86 PRIMARY KEY((AppWSID), AppIDLoginHash) 87 ) AS RESULT OF ProjectorLoginIdx; 88 89 EXTENSION ENGINE BUILTIN ( 90 COMMAND CreateLogin (CreateLoginParams, UNLOGGED CreateLoginUnloggedParams); 91 COMMAND ChangePassword (ChangePasswordParams, UNLOGGED ChangePasswordUnloggedParams); 92 COMMAND ResetPasswordByEmail (ResetPasswordByEmailParams, UNLOGGED ResetPasswordByEmailUnloggedParams); 93 QUERY IssuePrincipalToken (IssuePrincipalTokenParams) RETURNS IssuePrincipalTokenResult; 94 QUERY InitiateResetPasswordByEmail (InitiateResetPasswordByEmailParams) RETURNS InitiateResetPasswordByEmailResult; 95 QUERY IssueVerifiedValueTokenForResetPassword (IssueVerifiedValueTokenForResetPasswordParams) RETURNS IssueVerifiedValueTokenForResetPasswordResult; 96 SYNC PROJECTOR ProjectorLoginIdx AFTER INSERT ON Login INTENTS(View(LoginIdx)); 97 PROJECTOR InvokeCreateWorkspaceID_registry AFTER INSERT ON(Login); 98 ); 99 );