File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -260,6 +260,9 @@ var auditLogActivityType = graphql.NewEnum(graphql.EnumConfig{
260260 "ADMIN_API_MUTATION_GENERATE_OOB_OTP_CODE_EXECUTED" : & graphql.EnumValueConfig {
261261 Value : "admin_api.mutation.generate_oob_otp_code.executed" ,
262262 },
263+ "ADMIN_API_MUTATION_RESET_ACCOUNT_LOCKOUT_EXECUTED" : & graphql.EnumValueConfig {
264+ Value : "admin_api.mutation.reset_account_lockout.executed" ,
265+ },
263266 "ADMIN_API_MUTATION_RESET_PASSWORD_EXECUTED" : & graphql.EnumValueConfig {
264267 Value : "admin_api.mutation.reset_password.executed" ,
265268 },
Original file line number Diff line number Diff line change 66 relay "github.com/authgear/authgear-server/pkg/graphqlgo/relay"
77
88 "github.com/authgear/authgear-server/pkg/api/apierrors"
9+ "github.com/authgear/authgear-server/pkg/api/event/nonblocking"
10+ apimodel "github.com/authgear/authgear-server/pkg/api/model"
911 "github.com/authgear/authgear-server/pkg/util/graphqlutil"
1012)
1113
@@ -51,7 +53,24 @@ var _ = registerMutationField(
5153 ctx := p .Context
5254 gqlCtx := GQLContext (ctx )
5355
54- err := gqlCtx .AccountLockoutFacade .ResetAccountLockout (ctx , userID )
56+ previousStatus , err := gqlCtx .AccountLockoutFacade .GetAccountLockoutStatus (ctx , userID )
57+ if err != nil {
58+ return nil , err
59+ }
60+
61+ err = gqlCtx .AccountLockoutFacade .ResetAccountLockout (ctx , userID )
62+ if err != nil {
63+ return nil , err
64+ }
65+
66+ err = gqlCtx .Events .DispatchEventOnCommit (ctx , & nonblocking.AdminAPIMutationResetAccountLockoutExecutedEventPayload {
67+ UserRef : apimodel.UserRef {
68+ Meta : apimodel.Meta {
69+ ID : userID ,
70+ },
71+ },
72+ PreviousLockoutStatus : previousStatus ,
73+ })
5574 if err != nil {
5675 return nil , err
5776 }
Original file line number Diff line number Diff line change 1+ package nonblocking
2+
3+ import (
4+ "github.com/authgear/authgear-server/pkg/api/event"
5+ "github.com/authgear/authgear-server/pkg/api/model"
6+ )
7+
8+ const (
9+ AdminAPIMutationResetAccountLockoutExecuted event.Type = "admin_api.mutation.reset_account_lockout.executed"
10+ )
11+
12+ type AdminAPIMutationResetAccountLockoutExecutedEventPayload struct {
13+ UserRef model.UserRef `json:"-" resolve:"user"`
14+ UserModel model.User `json:"user"`
15+ PreviousLockoutStatus * model.AccountLockoutStatus `json:"previous_lockout_status"`
16+ }
17+
18+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) NonBlockingEventType () event.Type {
19+ return AdminAPIMutationResetAccountLockoutExecuted
20+ }
21+
22+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) UserID () string {
23+ return e .UserModel .ID
24+ }
25+
26+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) GetTriggeredBy () event.TriggeredByType {
27+ return event .TriggeredByTypeAdminAPI
28+ }
29+
30+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) FillContext (ctx * event.Context ) {
31+ }
32+
33+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) ForHook () bool {
34+ return false
35+ }
36+
37+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) ForAudit () bool {
38+ return true
39+ }
40+
41+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) RequireReindexUserIDs () []string {
42+ return nil
43+ }
44+
45+ func (e * AdminAPIMutationResetAccountLockoutExecutedEventPayload ) DeletedUserIDs () []string {
46+ return nil
47+ }
48+
49+ var _ event.NonBlockingPayload = & AdminAPIMutationResetAccountLockoutExecutedEventPayload {}
Original file line number Diff line number Diff line change @@ -201,6 +201,7 @@ export enum AuditLogActivityType {
201201 AdminApiMutationRemoveUserFromGroupsExecuted = 'ADMIN_API_MUTATION_REMOVE_USER_FROM_GROUPS_EXECUTED' ,
202202 AdminApiMutationRemoveUserFromRolesExecuted = 'ADMIN_API_MUTATION_REMOVE_USER_FROM_ROLES_EXECUTED' ,
203203 AdminApiMutationReplaceScopesOfClientidExecuted = 'ADMIN_API_MUTATION_REPLACE_SCOPES_OF_CLIENTID_EXECUTED' ,
204+ AdminApiMutationResetAccountLockoutExecuted = 'ADMIN_API_MUTATION_RESET_ACCOUNT_LOCKOUT_EXECUTED' ,
204205 AdminApiMutationResetPasswordExecuted = 'ADMIN_API_MUTATION_RESET_PASSWORD_EXECUTED' ,
205206 AdminApiMutationRevokeAllSessionsExecuted = 'ADMIN_API_MUTATION_REVOKE_ALL_SESSIONS_EXECUTED' ,
206207 AdminApiMutationRevokeSessionExecuted = 'ADMIN_API_MUTATION_REVOKE_SESSION_EXECUTED' ,
Original file line number Diff line number Diff line change @@ -286,6 +286,9 @@ enum AuditLogActivityType {
286286 """"""
287287 ADMIN_API_MUTATION_REPLACE_SCOPES_OF_CLIENTID_EXECUTED
288288
289+ """"""
290+ ADMIN_API_MUTATION_RESET_ACCOUNT_LOCKOUT_EXECUTED
291+
289292 """"""
290293 ADMIN_API_MUTATION_RESET_PASSWORD_EXECUTED
291294
Original file line number Diff line number Diff line change 14531453 "AuditLogActivityType.ADMIN_API_MUTATION_DELETE_IDENTITY_EXECUTED" : " Admin API Mutation: Delete identity" ,
14541454 "AuditLogActivityType.ADMIN_API_MUTATION_DELETE_USER_EXECUTED" : " Admin API Mutation: Delete user" ,
14551455 "AuditLogActivityType.ADMIN_API_MUTATION_GENERATE_OOB_OTP_CODE_EXECUTED" : " Admin API Mutation: Generate OOB OTP code" ,
1456+ "AuditLogActivityType.ADMIN_API_MUTATION_RESET_ACCOUNT_LOCKOUT_EXECUTED" : " Admin API Mutation: Reset account lockout" ,
14561457 "AuditLogActivityType.ADMIN_API_MUTATION_RESET_PASSWORD_EXECUTED" : " Admin API Mutation: Reset password" ,
14571458 "AuditLogActivityType.ADMIN_API_MUTATION_REVOKE_ALL_SESSIONS_EXECUTED" : " Admin API Mutation: Revoke all sessions" ,
14581459 "AuditLogActivityType.ADMIN_API_MUTATION_REVOKE_SESSION_EXECUTED" : " Admin API Mutation: Revoke session" ,
You can’t perform that action at this time.
0 commit comments