feature: verify tokens

This commit is contained in:
2024-11-17 22:28:29 +05:30
parent 26a00c9f7c
commit 9d40c9d7ec
57 changed files with 4188 additions and 276 deletions

View File

@@ -15,6 +15,7 @@ import (
"gitserver.in/patialtech/rano/db/ent/predicate"
"gitserver.in/patialtech/rano/db/ent/user"
"gitserver.in/patialtech/rano/db/ent/usersession"
"gitserver.in/patialtech/rano/db/ent/verifytoken"
)
// UserUpdate is the builder for updating User entities.
@@ -279,6 +280,21 @@ func (uu *UserUpdate) AddAuditLogs(a ...*Audit) *UserUpdate {
return uu.AddAuditLogIDs(ids...)
}
// AddVerifyTokenIDs adds the "verify_tokens" edge to the VerifyToken entity by IDs.
func (uu *UserUpdate) AddVerifyTokenIDs(ids ...int64) *UserUpdate {
uu.mutation.AddVerifyTokenIDs(ids...)
return uu
}
// AddVerifyTokens adds the "verify_tokens" edges to the VerifyToken entity.
func (uu *UserUpdate) AddVerifyTokens(v ...*VerifyToken) *UserUpdate {
ids := make([]int64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return uu.AddVerifyTokenIDs(ids...)
}
// Mutation returns the UserMutation object of the builder.
func (uu *UserUpdate) Mutation() *UserMutation {
return uu.mutation
@@ -326,6 +342,27 @@ func (uu *UserUpdate) RemoveAuditLogs(a ...*Audit) *UserUpdate {
return uu.RemoveAuditLogIDs(ids...)
}
// ClearVerifyTokens clears all "verify_tokens" edges to the VerifyToken entity.
func (uu *UserUpdate) ClearVerifyTokens() *UserUpdate {
uu.mutation.ClearVerifyTokens()
return uu
}
// RemoveVerifyTokenIDs removes the "verify_tokens" edge to VerifyToken entities by IDs.
func (uu *UserUpdate) RemoveVerifyTokenIDs(ids ...int64) *UserUpdate {
uu.mutation.RemoveVerifyTokenIDs(ids...)
return uu
}
// RemoveVerifyTokens removes "verify_tokens" edges to VerifyToken entities.
func (uu *UserUpdate) RemoveVerifyTokens(v ...*VerifyToken) *UserUpdate {
ids := make([]int64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return uu.RemoveVerifyTokenIDs(ids...)
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (uu *UserUpdate) Save(ctx context.Context) (int, error) {
uu.defaults()
@@ -566,6 +603,51 @@ func (uu *UserUpdate) sqlSave(ctx context.Context) (n int, err error) {
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if uu.mutation.VerifyTokensCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: user.VerifyTokensTable,
Columns: []string{user.VerifyTokensColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(verifytoken.FieldID, field.TypeInt64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := uu.mutation.RemovedVerifyTokensIDs(); len(nodes) > 0 && !uu.mutation.VerifyTokensCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: user.VerifyTokensTable,
Columns: []string{user.VerifyTokensColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(verifytoken.FieldID, field.TypeInt64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := uu.mutation.VerifyTokensIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: user.VerifyTokensTable,
Columns: []string{user.VerifyTokensColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(verifytoken.FieldID, field.TypeInt64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if n, err = sqlgraph.UpdateNodes(ctx, uu.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{user.Label}
@@ -835,6 +917,21 @@ func (uuo *UserUpdateOne) AddAuditLogs(a ...*Audit) *UserUpdateOne {
return uuo.AddAuditLogIDs(ids...)
}
// AddVerifyTokenIDs adds the "verify_tokens" edge to the VerifyToken entity by IDs.
func (uuo *UserUpdateOne) AddVerifyTokenIDs(ids ...int64) *UserUpdateOne {
uuo.mutation.AddVerifyTokenIDs(ids...)
return uuo
}
// AddVerifyTokens adds the "verify_tokens" edges to the VerifyToken entity.
func (uuo *UserUpdateOne) AddVerifyTokens(v ...*VerifyToken) *UserUpdateOne {
ids := make([]int64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return uuo.AddVerifyTokenIDs(ids...)
}
// Mutation returns the UserMutation object of the builder.
func (uuo *UserUpdateOne) Mutation() *UserMutation {
return uuo.mutation
@@ -882,6 +979,27 @@ func (uuo *UserUpdateOne) RemoveAuditLogs(a ...*Audit) *UserUpdateOne {
return uuo.RemoveAuditLogIDs(ids...)
}
// ClearVerifyTokens clears all "verify_tokens" edges to the VerifyToken entity.
func (uuo *UserUpdateOne) ClearVerifyTokens() *UserUpdateOne {
uuo.mutation.ClearVerifyTokens()
return uuo
}
// RemoveVerifyTokenIDs removes the "verify_tokens" edge to VerifyToken entities by IDs.
func (uuo *UserUpdateOne) RemoveVerifyTokenIDs(ids ...int64) *UserUpdateOne {
uuo.mutation.RemoveVerifyTokenIDs(ids...)
return uuo
}
// RemoveVerifyTokens removes "verify_tokens" edges to VerifyToken entities.
func (uuo *UserUpdateOne) RemoveVerifyTokens(v ...*VerifyToken) *UserUpdateOne {
ids := make([]int64, len(v))
for i := range v {
ids[i] = v[i].ID
}
return uuo.RemoveVerifyTokenIDs(ids...)
}
// Where appends a list predicates to the UserUpdate builder.
func (uuo *UserUpdateOne) Where(ps ...predicate.User) *UserUpdateOne {
uuo.mutation.Where(ps...)
@@ -1152,6 +1270,51 @@ func (uuo *UserUpdateOne) sqlSave(ctx context.Context) (_node *User, err error)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if uuo.mutation.VerifyTokensCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: user.VerifyTokensTable,
Columns: []string{user.VerifyTokensColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(verifytoken.FieldID, field.TypeInt64),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := uuo.mutation.RemovedVerifyTokensIDs(); len(nodes) > 0 && !uuo.mutation.VerifyTokensCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: user.VerifyTokensTable,
Columns: []string{user.VerifyTokensColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(verifytoken.FieldID, field.TypeInt64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := uuo.mutation.VerifyTokensIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: user.VerifyTokensTable,
Columns: []string{user.VerifyTokensColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(verifytoken.FieldID, field.TypeInt64),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
_node = &User{config: uuo.config}
_spec.Assign = _node.assignValues
_spec.ScanValues = _node.scanValues