diff --git a/build.zsh b/build.zsh index d832889..8a15cf0 100755 --- a/build.zsh +++ b/build.zsh @@ -7,8 +7,5 @@ su=4000 go generate ./... sed -i '' "s/255/$su/g" $d/ent/ogent/oas_parameters_gen.go sed -i '' "s/255/$su/g" $d/ent/openapi.json -cp -rf $d/ent/ogent/oas_parameters_gen.go $d/tmp/ogent/oas_parameters_gen.go -cp -rf $d/ent/ogent/openapi.json $d/tmp/openapi.json cp -rf $d/tmp/ogent ent/ -cp -rf $d/tmp/openapi.json ent/ diff --git a/ent/migrate/schema.go b/ent/migrate/schema.go index 538c568..7f33429 100644 --- a/ent/migrate/schema.go +++ b/ent/migrate/schema.go @@ -59,6 +59,8 @@ var ( {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "username", Type: field.TypeString, Unique: true, Size: 100}, {Name: "did", Type: field.TypeString, Nullable: true}, + {Name: "bsky", Type: field.TypeBool, Nullable: true, Default: false}, + {Name: "mastodon", Type: field.TypeBool, Nullable: true, Default: true}, {Name: "delete", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "handle", Type: field.TypeBool, Nullable: true, Default: false}, {Name: "token", Type: field.TypeString, Nullable: true}, @@ -81,7 +83,7 @@ var ( {Name: "ten_post", Type: field.TypeString, Nullable: true}, {Name: "ten_get", Type: field.TypeString, Nullable: true}, {Name: "ten_at", Type: field.TypeTime, Nullable: true}, - {Name: "next", Type: field.TypeString, Nullable: true, Default: "20230708"}, + {Name: "next", Type: field.TypeString, Nullable: true, Default: "20230710"}, {Name: "group_users", Type: field.TypeInt, Nullable: true}, } // UsersTable holds the schema information for the "users" table. @@ -92,7 +94,7 @@ var ( ForeignKeys: []*schema.ForeignKey{ { Symbol: "users_groups_users", - Columns: []*schema.Column{UsersColumns[26]}, + Columns: []*schema.Column{UsersColumns[28]}, RefColumns: []*schema.Column{GroupsColumns[0]}, OnDelete: schema.SetNull, }, diff --git a/ent/mutation.go b/ent/mutation.go index ef77df7..08f7e55 100644 --- a/ent/mutation.go +++ b/ent/mutation.go @@ -1490,6 +1490,8 @@ type UserMutation struct { id *int username *string did *string + bsky *bool + mastodon *bool delete *bool handle *bool token *string @@ -1712,6 +1714,104 @@ func (m *UserMutation) ResetDid() { delete(m.clearedFields, user.FieldDid) } +// SetBsky sets the "bsky" field. +func (m *UserMutation) SetBsky(b bool) { + m.bsky = &b +} + +// Bsky returns the value of the "bsky" field in the mutation. +func (m *UserMutation) Bsky() (r bool, exists bool) { + v := m.bsky + if v == nil { + return + } + return *v, true +} + +// OldBsky returns the old "bsky" field's value of the User entity. +// If the User object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *UserMutation) OldBsky(ctx context.Context) (v bool, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldBsky is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldBsky requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldBsky: %w", err) + } + return oldValue.Bsky, nil +} + +// ClearBsky clears the value of the "bsky" field. +func (m *UserMutation) ClearBsky() { + m.bsky = nil + m.clearedFields[user.FieldBsky] = struct{}{} +} + +// BskyCleared returns if the "bsky" field was cleared in this mutation. +func (m *UserMutation) BskyCleared() bool { + _, ok := m.clearedFields[user.FieldBsky] + return ok +} + +// ResetBsky resets all changes to the "bsky" field. +func (m *UserMutation) ResetBsky() { + m.bsky = nil + delete(m.clearedFields, user.FieldBsky) +} + +// SetMastodon sets the "mastodon" field. +func (m *UserMutation) SetMastodon(b bool) { + m.mastodon = &b +} + +// Mastodon returns the value of the "mastodon" field in the mutation. +func (m *UserMutation) Mastodon() (r bool, exists bool) { + v := m.mastodon + if v == nil { + return + } + return *v, true +} + +// OldMastodon returns the old "mastodon" field's value of the User entity. +// If the User object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *UserMutation) OldMastodon(ctx context.Context) (v bool, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldMastodon is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldMastodon requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldMastodon: %w", err) + } + return oldValue.Mastodon, nil +} + +// ClearMastodon clears the value of the "mastodon" field. +func (m *UserMutation) ClearMastodon() { + m.mastodon = nil + m.clearedFields[user.FieldMastodon] = struct{}{} +} + +// MastodonCleared returns if the "mastodon" field was cleared in this mutation. +func (m *UserMutation) MastodonCleared() bool { + _, ok := m.clearedFields[user.FieldMastodon] + return ok +} + +// ResetMastodon resets all changes to the "mastodon" field. +func (m *UserMutation) ResetMastodon() { + m.mastodon = nil + delete(m.clearedFields, user.FieldMastodon) +} + // SetDelete sets the "delete" field. func (m *UserMutation) SetDelete(b bool) { m.delete = &b @@ -3061,13 +3161,19 @@ func (m *UserMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *UserMutation) Fields() []string { - fields := make([]string, 0, 25) + fields := make([]string, 0, 27) if m.username != nil { fields = append(fields, user.FieldUsername) } if m.did != nil { fields = append(fields, user.FieldDid) } + if m.bsky != nil { + fields = append(fields, user.FieldBsky) + } + if m.mastodon != nil { + fields = append(fields, user.FieldMastodon) + } if m.delete != nil { fields = append(fields, user.FieldDelete) } @@ -3149,6 +3255,10 @@ func (m *UserMutation) Field(name string) (ent.Value, bool) { return m.Username() case user.FieldDid: return m.Did() + case user.FieldBsky: + return m.Bsky() + case user.FieldMastodon: + return m.Mastodon() case user.FieldDelete: return m.Delete() case user.FieldHandle: @@ -3208,6 +3318,10 @@ func (m *UserMutation) OldField(ctx context.Context, name string) (ent.Value, er return m.OldUsername(ctx) case user.FieldDid: return m.OldDid(ctx) + case user.FieldBsky: + return m.OldBsky(ctx) + case user.FieldMastodon: + return m.OldMastodon(ctx) case user.FieldDelete: return m.OldDelete(ctx) case user.FieldHandle: @@ -3277,6 +3391,20 @@ func (m *UserMutation) SetField(name string, value ent.Value) error { } m.SetDid(v) return nil + case user.FieldBsky: + v, ok := value.(bool) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetBsky(v) + return nil + case user.FieldMastodon: + v, ok := value.(bool) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetMastodon(v) + return nil case user.FieldDelete: v, ok := value.(bool) if !ok { @@ -3558,6 +3686,12 @@ func (m *UserMutation) ClearedFields() []string { if m.FieldCleared(user.FieldDid) { fields = append(fields, user.FieldDid) } + if m.FieldCleared(user.FieldBsky) { + fields = append(fields, user.FieldBsky) + } + if m.FieldCleared(user.FieldMastodon) { + fields = append(fields, user.FieldMastodon) + } if m.FieldCleared(user.FieldDelete) { fields = append(fields, user.FieldDelete) } @@ -3641,6 +3775,12 @@ func (m *UserMutation) ClearField(name string) error { case user.FieldDid: m.ClearDid() return nil + case user.FieldBsky: + m.ClearBsky() + return nil + case user.FieldMastodon: + m.ClearMastodon() + return nil case user.FieldDelete: m.ClearDelete() return nil @@ -3721,6 +3861,12 @@ func (m *UserMutation) ResetField(name string) error { case user.FieldDid: m.ResetDid() return nil + case user.FieldBsky: + m.ResetBsky() + return nil + case user.FieldMastodon: + m.ResetMastodon() + return nil case user.FieldDelete: m.ResetDelete() return nil diff --git a/ent/ogent/oas_json_gen.go b/ent/ogent/oas_json_gen.go index 678d35a..98a68b8 100644 --- a/ent/ogent/oas_json_gen.go +++ b/ent/ogent/oas_json_gen.go @@ -437,6 +437,18 @@ func (s *CardOwnerRead) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -565,31 +577,33 @@ func (s *CardOwnerRead) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfCardOwnerRead = [24]string{ +var jsonFieldsNameOfCardOwnerRead = [26]string{ 0: "id", 1: "username", 2: "did", - 3: "delete", - 4: "handle", - 5: "created_at", - 6: "updated_at", - 7: "raid_at", - 8: "luck", - 9: "luck_at", - 10: "like", - 11: "like_rank", - 12: "like_at", - 13: "fav", - 14: "ten", - 15: "ten_su", - 16: "ten_kai", - 17: "aiten", - 18: "ten_card", - 19: "ten_delete", - 20: "ten_post", - 21: "ten_get", - 22: "ten_at", - 23: "next", + 3: "bsky", + 4: "mastodon", + 5: "delete", + 6: "handle", + 7: "created_at", + 8: "updated_at", + 9: "raid_at", + 10: "luck", + 11: "luck_at", + 12: "like", + 13: "like_rank", + 14: "like_at", + 15: "fav", + 16: "ten", + 17: "ten_su", + 18: "ten_kai", + 19: "aiten", + 20: "ten_card", + 21: "ten_delete", + 22: "ten_post", + 23: "ten_get", + 24: "ten_at", + 25: "next", } // Decode decodes CardOwnerRead from json. @@ -597,7 +611,7 @@ func (s *CardOwnerRead) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode CardOwnerRead to nil") } - var requiredBitSet [3]uint8 + var requiredBitSet [4]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -635,6 +649,26 @@ func (s *CardOwnerRead) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -854,10 +888,11 @@ func (s *CardOwnerRead) Decode(d *jx.Decoder) error { } // Validate required fields. var failures []validate.FieldError - for i, mask := range [3]uint8{ + for i, mask := range [4]uint8{ 0b00000011, 0b00000000, 0b00000000, + 0b00000000, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. @@ -1701,6 +1736,18 @@ func (s *CreateUserReq) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -1850,33 +1897,35 @@ func (s *CreateUserReq) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfCreateUserReq = [26]string{ +var jsonFieldsNameOfCreateUserReq = [28]string{ 0: "username", 1: "did", - 2: "delete", - 3: "handle", - 4: "token", - 5: "password", - 6: "created_at", - 7: "updated_at", - 8: "raid_at", - 9: "luck", - 10: "luck_at", - 11: "like", - 12: "like_rank", - 13: "like_at", - 14: "fav", - 15: "ten", - 16: "ten_su", - 17: "ten_kai", - 18: "aiten", - 19: "ten_card", - 20: "ten_delete", - 21: "ten_post", - 22: "ten_get", - 23: "ten_at", - 24: "next", - 25: "card", + 2: "bsky", + 3: "mastodon", + 4: "delete", + 5: "handle", + 6: "token", + 7: "password", + 8: "created_at", + 9: "updated_at", + 10: "raid_at", + 11: "luck", + 12: "luck_at", + 13: "like", + 14: "like_rank", + 15: "like_at", + 16: "fav", + 17: "ten", + 18: "ten_su", + 19: "ten_kai", + 20: "aiten", + 21: "ten_card", + 22: "ten_delete", + 23: "ten_post", + 24: "ten_get", + 25: "ten_at", + 26: "next", + 27: "card", } // Decode decodes CreateUserReq from json. @@ -1910,6 +1959,26 @@ func (s *CreateUserReq) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -1941,7 +2010,7 @@ func (s *CreateUserReq) Decode(d *jx.Decoder) error { return errors.Wrap(err, "decode field \"token\"") } case "password": - requiredBitSet[0] |= 1 << 5 + requiredBitSet[0] |= 1 << 7 if err := func() error { v, err := d.Str() s.Password = string(v) @@ -2171,7 +2240,7 @@ func (s *CreateUserReq) Decode(d *jx.Decoder) error { // Validate required fields. var failures []validate.FieldError for i, mask := range [4]uint8{ - 0b00100001, + 0b10000001, 0b00000000, 0b00000000, 0b00000000, @@ -2705,6 +2774,18 @@ func (s *GroupUsersList) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -2833,31 +2914,33 @@ func (s *GroupUsersList) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfGroupUsersList = [24]string{ +var jsonFieldsNameOfGroupUsersList = [26]string{ 0: "id", 1: "username", 2: "did", - 3: "delete", - 4: "handle", - 5: "created_at", - 6: "updated_at", - 7: "raid_at", - 8: "luck", - 9: "luck_at", - 10: "like", - 11: "like_rank", - 12: "like_at", - 13: "fav", - 14: "ten", - 15: "ten_su", - 16: "ten_kai", - 17: "aiten", - 18: "ten_card", - 19: "ten_delete", - 20: "ten_post", - 21: "ten_get", - 22: "ten_at", - 23: "next", + 3: "bsky", + 4: "mastodon", + 5: "delete", + 6: "handle", + 7: "created_at", + 8: "updated_at", + 9: "raid_at", + 10: "luck", + 11: "luck_at", + 12: "like", + 13: "like_rank", + 14: "like_at", + 15: "fav", + 16: "ten", + 17: "ten_su", + 18: "ten_kai", + 19: "aiten", + 20: "ten_card", + 21: "ten_delete", + 22: "ten_post", + 23: "ten_get", + 24: "ten_at", + 25: "next", } // Decode decodes GroupUsersList from json. @@ -2865,7 +2948,7 @@ func (s *GroupUsersList) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode GroupUsersList to nil") } - var requiredBitSet [3]uint8 + var requiredBitSet [4]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -2903,6 +2986,26 @@ func (s *GroupUsersList) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -3122,10 +3225,11 @@ func (s *GroupUsersList) Decode(d *jx.Decoder) error { } // Validate required fields. var failures []validate.FieldError - for i, mask := range [3]uint8{ + for i, mask := range [4]uint8{ 0b00000011, 0b00000000, 0b00000000, + 0b00000000, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. @@ -4336,6 +4440,18 @@ func (s *UpdateUserReq) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -4474,30 +4590,32 @@ func (s *UpdateUserReq) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfUpdateUserReq = [23]string{ +var jsonFieldsNameOfUpdateUserReq = [25]string{ 0: "did", - 1: "delete", - 2: "handle", - 3: "token", - 4: "updated_at", - 5: "raid_at", - 6: "luck", - 7: "luck_at", - 8: "like", - 9: "like_rank", - 10: "like_at", - 11: "fav", - 12: "ten", - 13: "ten_su", - 14: "ten_kai", - 15: "aiten", - 16: "ten_card", - 17: "ten_delete", - 18: "ten_post", - 19: "ten_get", - 20: "ten_at", - 21: "next", - 22: "card", + 1: "bsky", + 2: "mastodon", + 3: "delete", + 4: "handle", + 5: "token", + 6: "updated_at", + 7: "raid_at", + 8: "luck", + 9: "luck_at", + 10: "like", + 11: "like_rank", + 12: "like_at", + 13: "fav", + 14: "ten", + 15: "ten_su", + 16: "ten_kai", + 17: "aiten", + 18: "ten_card", + 19: "ten_delete", + 20: "ten_post", + 21: "ten_get", + 22: "ten_at", + 23: "next", + 24: "card", } // Decode decodes UpdateUserReq from json. @@ -4518,6 +4636,26 @@ func (s *UpdateUserReq) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -4995,6 +5133,18 @@ func (s *UserCreate) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -5123,31 +5273,33 @@ func (s *UserCreate) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfUserCreate = [24]string{ +var jsonFieldsNameOfUserCreate = [26]string{ 0: "id", 1: "username", 2: "did", - 3: "delete", - 4: "handle", - 5: "created_at", - 6: "updated_at", - 7: "raid_at", - 8: "luck", - 9: "luck_at", - 10: "like", - 11: "like_rank", - 12: "like_at", - 13: "fav", - 14: "ten", - 15: "ten_su", - 16: "ten_kai", - 17: "aiten", - 18: "ten_card", - 19: "ten_delete", - 20: "ten_post", - 21: "ten_get", - 22: "ten_at", - 23: "next", + 3: "bsky", + 4: "mastodon", + 5: "delete", + 6: "handle", + 7: "created_at", + 8: "updated_at", + 9: "raid_at", + 10: "luck", + 11: "luck_at", + 12: "like", + 13: "like_rank", + 14: "like_at", + 15: "fav", + 16: "ten", + 17: "ten_su", + 18: "ten_kai", + 19: "aiten", + 20: "ten_card", + 21: "ten_delete", + 22: "ten_post", + 23: "ten_get", + 24: "ten_at", + 25: "next", } // Decode decodes UserCreate from json. @@ -5155,7 +5307,7 @@ func (s *UserCreate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode UserCreate to nil") } - var requiredBitSet [3]uint8 + var requiredBitSet [4]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5193,6 +5345,26 @@ func (s *UserCreate) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -5412,10 +5584,11 @@ func (s *UserCreate) Decode(d *jx.Decoder) error { } // Validate required fields. var failures []validate.FieldError - for i, mask := range [3]uint8{ + for i, mask := range [4]uint8{ 0b00000011, 0b00000000, 0b00000000, + 0b00000000, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. @@ -5486,6 +5659,18 @@ func (s *UserList) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -5614,31 +5799,33 @@ func (s *UserList) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfUserList = [24]string{ +var jsonFieldsNameOfUserList = [26]string{ 0: "id", 1: "username", 2: "did", - 3: "delete", - 4: "handle", - 5: "created_at", - 6: "updated_at", - 7: "raid_at", - 8: "luck", - 9: "luck_at", - 10: "like", - 11: "like_rank", - 12: "like_at", - 13: "fav", - 14: "ten", - 15: "ten_su", - 16: "ten_kai", - 17: "aiten", - 18: "ten_card", - 19: "ten_delete", - 20: "ten_post", - 21: "ten_get", - 22: "ten_at", - 23: "next", + 3: "bsky", + 4: "mastodon", + 5: "delete", + 6: "handle", + 7: "created_at", + 8: "updated_at", + 9: "raid_at", + 10: "luck", + 11: "luck_at", + 12: "like", + 13: "like_rank", + 14: "like_at", + 15: "fav", + 16: "ten", + 17: "ten_su", + 18: "ten_kai", + 19: "aiten", + 20: "ten_card", + 21: "ten_delete", + 22: "ten_post", + 23: "ten_get", + 24: "ten_at", + 25: "next", } // Decode decodes UserList from json. @@ -5646,7 +5833,7 @@ func (s *UserList) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode UserList to nil") } - var requiredBitSet [3]uint8 + var requiredBitSet [4]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -5684,6 +5871,26 @@ func (s *UserList) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -5903,10 +6110,11 @@ func (s *UserList) Decode(d *jx.Decoder) error { } // Validate required fields. var failures []validate.FieldError - for i, mask := range [3]uint8{ + for i, mask := range [4]uint8{ 0b00000011, 0b00000000, 0b00000000, + 0b00000000, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. @@ -5977,6 +6185,18 @@ func (s *UserRead) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -6105,31 +6325,33 @@ func (s *UserRead) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfUserRead = [24]string{ +var jsonFieldsNameOfUserRead = [26]string{ 0: "id", 1: "username", 2: "did", - 3: "delete", - 4: "handle", - 5: "created_at", - 6: "updated_at", - 7: "raid_at", - 8: "luck", - 9: "luck_at", - 10: "like", - 11: "like_rank", - 12: "like_at", - 13: "fav", - 14: "ten", - 15: "ten_su", - 16: "ten_kai", - 17: "aiten", - 18: "ten_card", - 19: "ten_delete", - 20: "ten_post", - 21: "ten_get", - 22: "ten_at", - 23: "next", + 3: "bsky", + 4: "mastodon", + 5: "delete", + 6: "handle", + 7: "created_at", + 8: "updated_at", + 9: "raid_at", + 10: "luck", + 11: "luck_at", + 12: "like", + 13: "like_rank", + 14: "like_at", + 15: "fav", + 16: "ten", + 17: "ten_su", + 18: "ten_kai", + 19: "aiten", + 20: "ten_card", + 21: "ten_delete", + 22: "ten_post", + 23: "ten_get", + 24: "ten_at", + 25: "next", } // Decode decodes UserRead from json. @@ -6137,7 +6359,7 @@ func (s *UserRead) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode UserRead to nil") } - var requiredBitSet [3]uint8 + var requiredBitSet [4]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6175,6 +6397,26 @@ func (s *UserRead) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -6394,10 +6636,11 @@ func (s *UserRead) Decode(d *jx.Decoder) error { } // Validate required fields. var failures []validate.FieldError - for i, mask := range [3]uint8{ + for i, mask := range [4]uint8{ 0b00000011, 0b00000000, 0b00000000, + 0b00000000, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. @@ -6468,6 +6711,18 @@ func (s *UserUpdate) encodeFields(e *jx.Encoder) { s.Did.Encode(e) } } + { + if s.Bsky.Set { + e.FieldStart("bsky") + s.Bsky.Encode(e) + } + } + { + if s.Mastodon.Set { + e.FieldStart("mastodon") + s.Mastodon.Encode(e) + } + } { if s.Delete.Set { e.FieldStart("delete") @@ -6596,31 +6851,33 @@ func (s *UserUpdate) encodeFields(e *jx.Encoder) { } } -var jsonFieldsNameOfUserUpdate = [24]string{ +var jsonFieldsNameOfUserUpdate = [26]string{ 0: "id", 1: "username", 2: "did", - 3: "delete", - 4: "handle", - 5: "created_at", - 6: "updated_at", - 7: "raid_at", - 8: "luck", - 9: "luck_at", - 10: "like", - 11: "like_rank", - 12: "like_at", - 13: "fav", - 14: "ten", - 15: "ten_su", - 16: "ten_kai", - 17: "aiten", - 18: "ten_card", - 19: "ten_delete", - 20: "ten_post", - 21: "ten_get", - 22: "ten_at", - 23: "next", + 3: "bsky", + 4: "mastodon", + 5: "delete", + 6: "handle", + 7: "created_at", + 8: "updated_at", + 9: "raid_at", + 10: "luck", + 11: "luck_at", + 12: "like", + 13: "like_rank", + 14: "like_at", + 15: "fav", + 16: "ten", + 17: "ten_su", + 18: "ten_kai", + 19: "aiten", + 20: "ten_card", + 21: "ten_delete", + 22: "ten_post", + 23: "ten_get", + 24: "ten_at", + 25: "next", } // Decode decodes UserUpdate from json. @@ -6628,7 +6885,7 @@ func (s *UserUpdate) Decode(d *jx.Decoder) error { if s == nil { return errors.New("invalid: unable to decode UserUpdate to nil") } - var requiredBitSet [3]uint8 + var requiredBitSet [4]uint8 if err := d.ObjBytes(func(d *jx.Decoder, k []byte) error { switch string(k) { @@ -6666,6 +6923,26 @@ func (s *UserUpdate) Decode(d *jx.Decoder) error { }(); err != nil { return errors.Wrap(err, "decode field \"did\"") } + case "bsky": + if err := func() error { + s.Bsky.Reset() + if err := s.Bsky.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"bsky\"") + } + case "mastodon": + if err := func() error { + s.Mastodon.Reset() + if err := s.Mastodon.Decode(d); err != nil { + return err + } + return nil + }(); err != nil { + return errors.Wrap(err, "decode field \"mastodon\"") + } case "delete": if err := func() error { s.Delete.Reset() @@ -6885,10 +7162,11 @@ func (s *UserUpdate) Decode(d *jx.Decoder) error { } // Validate required fields. var failures []validate.FieldError - for i, mask := range [3]uint8{ + for i, mask := range [4]uint8{ 0b00000011, 0b00000000, 0b00000000, + 0b00000000, } { if result := (requiredBitSet[i] & mask) ^ mask; result != 0 { // Mask only required fields and check equality to mask using XOR. diff --git a/ent/ogent/oas_schemas_gen.go b/ent/ogent/oas_schemas_gen.go index 60e7a2c..65f1627 100644 --- a/ent/ogent/oas_schemas_gen.go +++ b/ent/ogent/oas_schemas_gen.go @@ -177,6 +177,8 @@ type CardOwnerRead struct { ID int `json:"id"` Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` CreatedAt OptDateTime `json:"created_at"` @@ -215,6 +217,16 @@ func (s *CardOwnerRead) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *CardOwnerRead) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *CardOwnerRead) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *CardOwnerRead) GetDelete() OptBool { return s.Delete @@ -335,6 +347,16 @@ func (s *CardOwnerRead) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *CardOwnerRead) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *CardOwnerRead) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *CardOwnerRead) SetDelete(val OptBool) { s.Delete = val @@ -749,6 +771,8 @@ func (s *CreateGroupReq) SetUsers(val []int) { type CreateUserReq struct { Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` Token OptString `json:"token"` @@ -785,6 +809,16 @@ func (s *CreateUserReq) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *CreateUserReq) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *CreateUserReq) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *CreateUserReq) GetDelete() OptBool { return s.Delete @@ -915,6 +949,16 @@ func (s *CreateUserReq) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *CreateUserReq) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *CreateUserReq) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *CreateUserReq) SetDelete(val OptBool) { s.Delete = val @@ -1171,6 +1215,8 @@ type GroupUsersList struct { ID int `json:"id"` Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` CreatedAt OptDateTime `json:"created_at"` @@ -1209,6 +1255,16 @@ func (s *GroupUsersList) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *GroupUsersList) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *GroupUsersList) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *GroupUsersList) GetDelete() OptBool { return s.Delete @@ -1329,6 +1385,16 @@ func (s *GroupUsersList) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *GroupUsersList) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *GroupUsersList) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *GroupUsersList) SetDelete(val OptBool) { s.Delete = val @@ -1940,6 +2006,8 @@ func (s *UpdateGroupReq) SetUsers(val []int) { type UpdateUserReq struct { Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` Token OptString `json:"token"` @@ -1969,6 +2037,16 @@ func (s *UpdateUserReq) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *UpdateUserReq) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *UpdateUserReq) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *UpdateUserReq) GetDelete() OptBool { return s.Delete @@ -2084,6 +2162,16 @@ func (s *UpdateUserReq) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *UpdateUserReq) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *UpdateUserReq) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *UpdateUserReq) SetDelete(val OptBool) { s.Delete = val @@ -2280,6 +2368,8 @@ type UserCreate struct { ID int `json:"id"` Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` CreatedAt OptDateTime `json:"created_at"` @@ -2318,6 +2408,16 @@ func (s *UserCreate) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *UserCreate) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *UserCreate) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *UserCreate) GetDelete() OptBool { return s.Delete @@ -2438,6 +2538,16 @@ func (s *UserCreate) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *UserCreate) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *UserCreate) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *UserCreate) SetDelete(val OptBool) { s.Delete = val @@ -2550,6 +2660,8 @@ type UserList struct { ID int `json:"id"` Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` CreatedAt OptDateTime `json:"created_at"` @@ -2588,6 +2700,16 @@ func (s *UserList) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *UserList) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *UserList) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *UserList) GetDelete() OptBool { return s.Delete @@ -2708,6 +2830,16 @@ func (s *UserList) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *UserList) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *UserList) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *UserList) SetDelete(val OptBool) { s.Delete = val @@ -2818,6 +2950,8 @@ type UserRead struct { ID int `json:"id"` Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` CreatedAt OptDateTime `json:"created_at"` @@ -2856,6 +2990,16 @@ func (s *UserRead) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *UserRead) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *UserRead) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *UserRead) GetDelete() OptBool { return s.Delete @@ -2976,6 +3120,16 @@ func (s *UserRead) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *UserRead) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *UserRead) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *UserRead) SetDelete(val OptBool) { s.Delete = val @@ -3088,6 +3242,8 @@ type UserUpdate struct { ID int `json:"id"` Username string `json:"username"` Did OptString `json:"did"` + Bsky OptBool `json:"bsky"` + Mastodon OptBool `json:"mastodon"` Delete OptBool `json:"delete"` Handle OptBool `json:"handle"` CreatedAt OptDateTime `json:"created_at"` @@ -3126,6 +3282,16 @@ func (s *UserUpdate) GetDid() OptString { return s.Did } +// GetBsky returns the value of Bsky. +func (s *UserUpdate) GetBsky() OptBool { + return s.Bsky +} + +// GetMastodon returns the value of Mastodon. +func (s *UserUpdate) GetMastodon() OptBool { + return s.Mastodon +} + // GetDelete returns the value of Delete. func (s *UserUpdate) GetDelete() OptBool { return s.Delete @@ -3246,6 +3412,16 @@ func (s *UserUpdate) SetDid(val OptString) { s.Did = val } +// SetBsky sets the value of Bsky. +func (s *UserUpdate) SetBsky(val OptBool) { + s.Bsky = val +} + +// SetMastodon sets the value of Mastodon. +func (s *UserUpdate) SetMastodon(val OptBool) { + s.Mastodon = val +} + // SetDelete sets the value of Delete. func (s *UserUpdate) SetDelete(val OptBool) { s.Delete = val diff --git a/ent/ogent/ogent.go b/ent/ogent/ogent.go index 8c87fbe..4a15d0a 100644 --- a/ent/ogent/ogent.go +++ b/ent/ogent/ogent.go @@ -493,6 +493,13 @@ func (h *OgentHandler) CreateUser(ctx context.Context, req *CreateUserReq) (Crea if v, ok := req.Did.Get(); ok { b.SetDid(v) } + if v, ok := req.Bsky.Get(); ok { + b.SetBsky(v) + } + if v, ok := req.Mastodon.Get(); ok { + b.SetMastodon(v) + } + if v, ok := req.Delete.Get(); ok { b.SetDelete(v) } @@ -629,6 +636,12 @@ func (h *OgentHandler) UpdateUser(ctx context.Context, req *UpdateUserReq, param if v, ok := req.Did.Get(); ok { b.SetDid(v) } + if v, ok := req.Bsky.Get(); ok { + b.SetBsky(v) + } + if v, ok := req.Mastodon.Get(); ok { + b.SetMastodon(v) + } if v, ok := req.Delete.Get(); ok { b.SetDelete(v) } diff --git a/ent/ogent/responses.go b/ent/ogent/responses.go index cf63912..6ad8125 100644 --- a/ent/ogent/responses.go +++ b/ent/ogent/responses.go @@ -144,6 +144,8 @@ func NewCardOwnerRead(e *ent.User) *CardOwnerRead { ret.ID = e.ID ret.Username = e.Username ret.Did = NewOptString(e.Did) + ret.Bsky = NewOptBool(e.Bsky) + ret.Mastodon = NewOptBool(e.Mastodon) ret.Delete = NewOptBool(e.Delete) ret.Handle = NewOptBool(e.Handle) ret.CreatedAt = NewOptDateTime(e.CreatedAt) @@ -306,6 +308,8 @@ func NewGroupUsersList(e *ent.User) *GroupUsersList { ret.ID = e.ID ret.Username = e.Username ret.Did = NewOptString(e.Did) + ret.Bsky = NewOptBool(e.Bsky) + ret.Mastodon = NewOptBool(e.Mastodon) ret.Delete = NewOptBool(e.Delete) ret.Handle = NewOptBool(e.Handle) ret.CreatedAt = NewOptDateTime(e.CreatedAt) @@ -356,6 +360,8 @@ func NewUserCreate(e *ent.User) *UserCreate { ret.ID = e.ID ret.Username = e.Username ret.Did = NewOptString(e.Did) + ret.Bsky = NewOptBool(e.Bsky) + ret.Mastodon = NewOptBool(e.Mastodon) ret.Delete = NewOptBool(e.Delete) ret.Handle = NewOptBool(e.Handle) ret.CreatedAt = NewOptDateTime(e.CreatedAt) @@ -406,6 +412,8 @@ func NewUserList(e *ent.User) *UserList { ret.ID = e.ID ret.Username = e.Username ret.Did = NewOptString(e.Did) + ret.Bsky = NewOptBool(e.Bsky) + ret.Mastodon = NewOptBool(e.Mastodon) ret.Delete = NewOptBool(e.Delete) ret.Handle = NewOptBool(e.Handle) ret.CreatedAt = NewOptDateTime(e.CreatedAt) @@ -456,6 +464,8 @@ func NewUserRead(e *ent.User) *UserRead { ret.ID = e.ID ret.Username = e.Username ret.Did = NewOptString(e.Did) + ret.Bsky = NewOptBool(e.Bsky) + ret.Mastodon = NewOptBool(e.Mastodon) ret.Delete = NewOptBool(e.Delete) ret.Handle = NewOptBool(e.Handle) ret.CreatedAt = NewOptDateTime(e.CreatedAt) @@ -506,6 +516,8 @@ func NewUserUpdate(e *ent.User) *UserUpdate { ret.ID = e.ID ret.Username = e.Username ret.Did = NewOptString(e.Did) + ret.Bsky = NewOptBool(e.Bsky) + ret.Mastodon = NewOptBool(e.Mastodon) ret.Delete = NewOptBool(e.Delete) ret.Handle = NewOptBool(e.Handle) ret.CreatedAt = NewOptDateTime(e.CreatedAt) diff --git a/ent/openapi.json b/ent/openapi.json index c66b773..e5ffe12 100644 --- a/ent/openapi.json +++ b/ent/openapi.json @@ -30,7 +30,7 @@ "description": "item count to render per page", "schema": { "type": "integer", - "maximum": 3000, + "maximum": 4000, "minimum": 1 } } @@ -89,6 +89,9 @@ "status": { "type": "string" }, + "token": { + "type": "string" + }, "cp": { "type": "integer" }, @@ -243,6 +246,15 @@ "skill": { "type": "string" }, + "status": { + "type": "string" + }, + "token": { + "type": "string" + }, + "cp": { + "type": "integer" + }, "owner": { "type": "integer" } @@ -372,7 +384,7 @@ "description": "item count to render per page", "schema": { "type": "integer", - "maximum": 3000, + "maximum": 4000, "minimum": 1 } } @@ -698,7 +710,7 @@ "description": "item count to render per page", "schema": { "type": "integer", - "maximum": 3000, + "maximum": 4000, "minimum": 1 } } @@ -751,9 +763,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "token": { "type": "string" }, @@ -789,6 +810,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -798,6 +822,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -964,9 +991,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "token": { "type": "string" }, @@ -995,6 +1031,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1004,6 +1043,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1171,6 +1213,9 @@ "status": { "type": "string" }, + "token": { + "type": "string" + }, "cp": { "type": "integer" }, @@ -1323,9 +1368,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "created_at": { "type": "string", "format": "date-time" @@ -1355,6 +1409,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1364,6 +1421,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1486,9 +1546,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "created_at": { "type": "string", "format": "date-time" @@ -1518,6 +1587,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1527,6 +1599,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1564,9 +1639,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "token": { "type": "string" }, @@ -1602,6 +1686,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1611,6 +1698,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1655,9 +1745,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "created_at": { "type": "string", "format": "date-time" @@ -1687,6 +1786,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1696,6 +1798,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1733,9 +1838,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "created_at": { "type": "string", "format": "date-time" @@ -1765,6 +1879,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1774,6 +1891,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1811,9 +1931,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "created_at": { "type": "string", "format": "date-time" @@ -1843,6 +1972,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1852,6 +1984,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -1889,9 +2024,18 @@ "did": { "type": "string" }, + "bsky": { + "type": "boolean" + }, + "mastodon": { + "type": "boolean" + }, "delete": { "type": "boolean" }, + "handle": { + "type": "boolean" + }, "created_at": { "type": "string", "format": "date-time" @@ -1921,6 +2065,9 @@ "type": "string", "format": "date-time" }, + "fav": { + "type": "integer" + }, "ten": { "type": "boolean" }, @@ -1930,6 +2077,9 @@ "ten_kai": { "type": "integer" }, + "aiten": { + "type": "integer" + }, "ten_card": { "type": "string" }, @@ -2104,4 +2254,4 @@ } } } -} +} \ No newline at end of file diff --git a/ent/runtime.go b/ent/runtime.go index a6b5c29..099f9e3 100644 --- a/ent/runtime.go +++ b/ent/runtime.go @@ -70,44 +70,52 @@ func init() { return nil } }() + // userDescBsky is the schema descriptor for bsky field. + userDescBsky := userFields[2].Descriptor() + // user.DefaultBsky holds the default value on creation for the bsky field. + user.DefaultBsky = userDescBsky.Default.(bool) + // userDescMastodon is the schema descriptor for mastodon field. + userDescMastodon := userFields[3].Descriptor() + // user.DefaultMastodon holds the default value on creation for the mastodon field. + user.DefaultMastodon = userDescMastodon.Default.(bool) // userDescDelete is the schema descriptor for delete field. - userDescDelete := userFields[2].Descriptor() + userDescDelete := userFields[4].Descriptor() // user.DefaultDelete holds the default value on creation for the delete field. user.DefaultDelete = userDescDelete.Default.(bool) // userDescHandle is the schema descriptor for handle field. - userDescHandle := userFields[3].Descriptor() + userDescHandle := userFields[5].Descriptor() // user.DefaultHandle holds the default value on creation for the handle field. user.DefaultHandle = userDescHandle.Default.(bool) // userDescPassword is the schema descriptor for password field. - userDescPassword := userFields[5].Descriptor() + userDescPassword := userFields[7].Descriptor() // user.PasswordValidator is a validator for the "password" field. It is called by the builders before save. user.PasswordValidator = userDescPassword.Validators[0].(func(string) error) // userDescCreatedAt is the schema descriptor for created_at field. - userDescCreatedAt := userFields[6].Descriptor() + userDescCreatedAt := userFields[8].Descriptor() // user.DefaultCreatedAt holds the default value on creation for the created_at field. user.DefaultCreatedAt = userDescCreatedAt.Default.(func() time.Time) // userDescUpdatedAt is the schema descriptor for updated_at field. - userDescUpdatedAt := userFields[7].Descriptor() + userDescUpdatedAt := userFields[9].Descriptor() // user.DefaultUpdatedAt holds the default value on creation for the updated_at field. user.DefaultUpdatedAt = userDescUpdatedAt.Default.(func() time.Time) // userDescRaidAt is the schema descriptor for raid_at field. - userDescRaidAt := userFields[8].Descriptor() + userDescRaidAt := userFields[10].Descriptor() // user.DefaultRaidAt holds the default value on creation for the raid_at field. user.DefaultRaidAt = userDescRaidAt.Default.(func() time.Time) // userDescLuckAt is the schema descriptor for luck_at field. - userDescLuckAt := userFields[10].Descriptor() + userDescLuckAt := userFields[12].Descriptor() // user.DefaultLuckAt holds the default value on creation for the luck_at field. user.DefaultLuckAt = userDescLuckAt.Default.(func() time.Time) // userDescLikeAt is the schema descriptor for like_at field. - userDescLikeAt := userFields[13].Descriptor() + userDescLikeAt := userFields[15].Descriptor() // user.DefaultLikeAt holds the default value on creation for the like_at field. user.DefaultLikeAt = userDescLikeAt.Default.(func() time.Time) // userDescTenAt is the schema descriptor for ten_at field. - userDescTenAt := userFields[23].Descriptor() + userDescTenAt := userFields[25].Descriptor() // user.DefaultTenAt holds the default value on creation for the ten_at field. user.DefaultTenAt = userDescTenAt.Default.(func() time.Time) // userDescNext is the schema descriptor for next field. - userDescNext := userFields[24].Descriptor() + userDescNext := userFields[26].Descriptor() // user.DefaultNext holds the default value on creation for the next field. user.DefaultNext = userDescNext.Default.(string) } diff --git a/ent/schema/user.go b/ent/schema/user.go index ca06ce2..9328c2a 100644 --- a/ent/schema/user.go +++ b/ent/schema/user.go @@ -38,6 +38,14 @@ func (User) Fields() []ent.Field { field.String("did"). Optional(), + field.Bool("bsky"). + Default(false). + Optional(), + + field.Bool("mastodon"). + Default(true). + Optional(), + field.Bool("delete"). Default(false). Optional(), diff --git a/ent/user.go b/ent/user.go index 2f266ba..c3711bc 100644 --- a/ent/user.go +++ b/ent/user.go @@ -20,6 +20,10 @@ type User struct { Username string `json:"username,omitempty"` // Did holds the value of the "did" field. Did string `json:"did,omitempty"` + // Bsky holds the value of the "bsky" field. + Bsky bool `json:"bsky,omitempty"` + // Mastodon holds the value of the "mastodon" field. + Mastodon bool `json:"mastodon,omitempty"` // Delete holds the value of the "delete" field. Delete bool `json:"delete,omitempty"` // Handle holds the value of the "handle" field. @@ -95,7 +99,7 @@ func (*User) scanValues(columns []string) ([]any, error) { values := make([]any, len(columns)) for i := range columns { switch columns[i] { - case user.FieldDelete, user.FieldHandle, user.FieldTen: + case user.FieldBsky, user.FieldMastodon, user.FieldDelete, user.FieldHandle, user.FieldTen: values[i] = new(sql.NullBool) case user.FieldID, user.FieldLuck, user.FieldLike, user.FieldLikeRank, user.FieldFav, user.FieldTenSu, user.FieldTenKai, user.FieldAiten: values[i] = new(sql.NullInt64) @@ -138,6 +142,18 @@ func (u *User) assignValues(columns []string, values []any) error { } else if value.Valid { u.Did = value.String } + case user.FieldBsky: + if value, ok := values[i].(*sql.NullBool); !ok { + return fmt.Errorf("unexpected type %T for field bsky", values[i]) + } else if value.Valid { + u.Bsky = value.Bool + } + case user.FieldMastodon: + if value, ok := values[i].(*sql.NullBool); !ok { + return fmt.Errorf("unexpected type %T for field mastodon", values[i]) + } else if value.Valid { + u.Mastodon = value.Bool + } case user.FieldDelete: if value, ok := values[i].(*sql.NullBool); !ok { return fmt.Errorf("unexpected type %T for field delete", values[i]) @@ -322,6 +338,12 @@ func (u *User) String() string { builder.WriteString("did=") builder.WriteString(u.Did) builder.WriteString(", ") + builder.WriteString("bsky=") + builder.WriteString(fmt.Sprintf("%v", u.Bsky)) + builder.WriteString(", ") + builder.WriteString("mastodon=") + builder.WriteString(fmt.Sprintf("%v", u.Mastodon)) + builder.WriteString(", ") builder.WriteString("delete=") builder.WriteString(fmt.Sprintf("%v", u.Delete)) builder.WriteString(", ") diff --git a/ent/user/user.go b/ent/user/user.go index aa35bf2..8f24f74 100644 --- a/ent/user/user.go +++ b/ent/user/user.go @@ -15,6 +15,10 @@ const ( FieldUsername = "username" // FieldDid holds the string denoting the did field in the database. FieldDid = "did" + // FieldBsky holds the string denoting the bsky field in the database. + FieldBsky = "bsky" + // FieldMastodon holds the string denoting the mastodon field in the database. + FieldMastodon = "mastodon" // FieldDelete holds the string denoting the delete field in the database. FieldDelete = "delete" // FieldHandle holds the string denoting the handle field in the database. @@ -79,6 +83,8 @@ var Columns = []string{ FieldID, FieldUsername, FieldDid, + FieldBsky, + FieldMastodon, FieldDelete, FieldHandle, FieldToken, @@ -128,6 +134,10 @@ func ValidColumn(column string) bool { var ( // UsernameValidator is a validator for the "username" field. It is called by the builders before save. UsernameValidator func(string) error + // DefaultBsky holds the default value on creation for the "bsky" field. + DefaultBsky bool + // DefaultMastodon holds the default value on creation for the "mastodon" field. + DefaultMastodon bool // DefaultDelete holds the default value on creation for the "delete" field. DefaultDelete bool // DefaultHandle holds the default value on creation for the "handle" field. diff --git a/ent/user/where.go b/ent/user/where.go index 728683f..ecb58cd 100644 --- a/ent/user/where.go +++ b/ent/user/where.go @@ -65,6 +65,16 @@ func Did(v string) predicate.User { return predicate.User(sql.FieldEQ(FieldDid, v)) } +// Bsky applies equality check predicate on the "bsky" field. It's identical to BskyEQ. +func Bsky(v bool) predicate.User { + return predicate.User(sql.FieldEQ(FieldBsky, v)) +} + +// Mastodon applies equality check predicate on the "mastodon" field. It's identical to MastodonEQ. +func Mastodon(v bool) predicate.User { + return predicate.User(sql.FieldEQ(FieldMastodon, v)) +} + // Delete applies equality check predicate on the "delete" field. It's identical to DeleteEQ. func Delete(v bool) predicate.User { return predicate.User(sql.FieldEQ(FieldDelete, v)) @@ -320,6 +330,46 @@ func DidContainsFold(v string) predicate.User { return predicate.User(sql.FieldContainsFold(FieldDid, v)) } +// BskyEQ applies the EQ predicate on the "bsky" field. +func BskyEQ(v bool) predicate.User { + return predicate.User(sql.FieldEQ(FieldBsky, v)) +} + +// BskyNEQ applies the NEQ predicate on the "bsky" field. +func BskyNEQ(v bool) predicate.User { + return predicate.User(sql.FieldNEQ(FieldBsky, v)) +} + +// BskyIsNil applies the IsNil predicate on the "bsky" field. +func BskyIsNil() predicate.User { + return predicate.User(sql.FieldIsNull(FieldBsky)) +} + +// BskyNotNil applies the NotNil predicate on the "bsky" field. +func BskyNotNil() predicate.User { + return predicate.User(sql.FieldNotNull(FieldBsky)) +} + +// MastodonEQ applies the EQ predicate on the "mastodon" field. +func MastodonEQ(v bool) predicate.User { + return predicate.User(sql.FieldEQ(FieldMastodon, v)) +} + +// MastodonNEQ applies the NEQ predicate on the "mastodon" field. +func MastodonNEQ(v bool) predicate.User { + return predicate.User(sql.FieldNEQ(FieldMastodon, v)) +} + +// MastodonIsNil applies the IsNil predicate on the "mastodon" field. +func MastodonIsNil() predicate.User { + return predicate.User(sql.FieldIsNull(FieldMastodon)) +} + +// MastodonNotNil applies the NotNil predicate on the "mastodon" field. +func MastodonNotNil() predicate.User { + return predicate.User(sql.FieldNotNull(FieldMastodon)) +} + // DeleteEQ applies the EQ predicate on the "delete" field. func DeleteEQ(v bool) predicate.User { return predicate.User(sql.FieldEQ(FieldDelete, v)) diff --git a/ent/user_create.go b/ent/user_create.go index 9fb3c2d..5e0e546 100644 --- a/ent/user_create.go +++ b/ent/user_create.go @@ -41,6 +41,34 @@ func (uc *UserCreate) SetNillableDid(s *string) *UserCreate { return uc } +// SetBsky sets the "bsky" field. +func (uc *UserCreate) SetBsky(b bool) *UserCreate { + uc.mutation.SetBsky(b) + return uc +} + +// SetNillableBsky sets the "bsky" field if the given value is not nil. +func (uc *UserCreate) SetNillableBsky(b *bool) *UserCreate { + if b != nil { + uc.SetBsky(*b) + } + return uc +} + +// SetMastodon sets the "mastodon" field. +func (uc *UserCreate) SetMastodon(b bool) *UserCreate { + uc.mutation.SetMastodon(b) + return uc +} + +// SetNillableMastodon sets the "mastodon" field if the given value is not nil. +func (uc *UserCreate) SetNillableMastodon(b *bool) *UserCreate { + if b != nil { + uc.SetMastodon(*b) + } + return uc +} + // SetDelete sets the "delete" field. func (uc *UserCreate) SetDelete(b bool) *UserCreate { uc.mutation.SetDelete(b) @@ -405,6 +433,14 @@ func (uc *UserCreate) ExecX(ctx context.Context) { // defaults sets the default values of the builder before save. func (uc *UserCreate) defaults() { + if _, ok := uc.mutation.Bsky(); !ok { + v := user.DefaultBsky + uc.mutation.SetBsky(v) + } + if _, ok := uc.mutation.Mastodon(); !ok { + v := user.DefaultMastodon + uc.mutation.SetMastodon(v) + } if _, ok := uc.mutation.Delete(); !ok { v := user.DefaultDelete uc.mutation.SetDelete(v) @@ -495,6 +531,14 @@ func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { _spec.SetField(user.FieldDid, field.TypeString, value) _node.Did = value } + if value, ok := uc.mutation.Bsky(); ok { + _spec.SetField(user.FieldBsky, field.TypeBool, value) + _node.Bsky = value + } + if value, ok := uc.mutation.Mastodon(); ok { + _spec.SetField(user.FieldMastodon, field.TypeBool, value) + _node.Mastodon = value + } if value, ok := uc.mutation.Delete(); ok { _spec.SetField(user.FieldDelete, field.TypeBool, value) _node.Delete = value diff --git a/ent/user_update.go b/ent/user_update.go index 415a499..d72e30b 100644 --- a/ent/user_update.go +++ b/ent/user_update.go @@ -49,6 +49,46 @@ func (uu *UserUpdate) ClearDid() *UserUpdate { return uu } +// SetBsky sets the "bsky" field. +func (uu *UserUpdate) SetBsky(b bool) *UserUpdate { + uu.mutation.SetBsky(b) + return uu +} + +// SetNillableBsky sets the "bsky" field if the given value is not nil. +func (uu *UserUpdate) SetNillableBsky(b *bool) *UserUpdate { + if b != nil { + uu.SetBsky(*b) + } + return uu +} + +// ClearBsky clears the value of the "bsky" field. +func (uu *UserUpdate) ClearBsky() *UserUpdate { + uu.mutation.ClearBsky() + return uu +} + +// SetMastodon sets the "mastodon" field. +func (uu *UserUpdate) SetMastodon(b bool) *UserUpdate { + uu.mutation.SetMastodon(b) + return uu +} + +// SetNillableMastodon sets the "mastodon" field if the given value is not nil. +func (uu *UserUpdate) SetNillableMastodon(b *bool) *UserUpdate { + if b != nil { + uu.SetMastodon(*b) + } + return uu +} + +// ClearMastodon clears the value of the "mastodon" field. +func (uu *UserUpdate) ClearMastodon() *UserUpdate { + uu.mutation.ClearMastodon() + return uu +} + // SetDelete sets the "delete" field. func (uu *UserUpdate) SetDelete(b bool) *UserUpdate { uu.mutation.SetDelete(b) @@ -601,6 +641,18 @@ func (uu *UserUpdate) sqlSave(ctx context.Context) (n int, err error) { if uu.mutation.DidCleared() { _spec.ClearField(user.FieldDid, field.TypeString) } + if value, ok := uu.mutation.Bsky(); ok { + _spec.SetField(user.FieldBsky, field.TypeBool, value) + } + if uu.mutation.BskyCleared() { + _spec.ClearField(user.FieldBsky, field.TypeBool) + } + if value, ok := uu.mutation.Mastodon(); ok { + _spec.SetField(user.FieldMastodon, field.TypeBool, value) + } + if uu.mutation.MastodonCleared() { + _spec.ClearField(user.FieldMastodon, field.TypeBool) + } if value, ok := uu.mutation.Delete(); ok { _spec.SetField(user.FieldDelete, field.TypeBool, value) } @@ -836,6 +888,46 @@ func (uuo *UserUpdateOne) ClearDid() *UserUpdateOne { return uuo } +// SetBsky sets the "bsky" field. +func (uuo *UserUpdateOne) SetBsky(b bool) *UserUpdateOne { + uuo.mutation.SetBsky(b) + return uuo +} + +// SetNillableBsky sets the "bsky" field if the given value is not nil. +func (uuo *UserUpdateOne) SetNillableBsky(b *bool) *UserUpdateOne { + if b != nil { + uuo.SetBsky(*b) + } + return uuo +} + +// ClearBsky clears the value of the "bsky" field. +func (uuo *UserUpdateOne) ClearBsky() *UserUpdateOne { + uuo.mutation.ClearBsky() + return uuo +} + +// SetMastodon sets the "mastodon" field. +func (uuo *UserUpdateOne) SetMastodon(b bool) *UserUpdateOne { + uuo.mutation.SetMastodon(b) + return uuo +} + +// SetNillableMastodon sets the "mastodon" field if the given value is not nil. +func (uuo *UserUpdateOne) SetNillableMastodon(b *bool) *UserUpdateOne { + if b != nil { + uuo.SetMastodon(*b) + } + return uuo +} + +// ClearMastodon clears the value of the "mastodon" field. +func (uuo *UserUpdateOne) ClearMastodon() *UserUpdateOne { + uuo.mutation.ClearMastodon() + return uuo +} + // SetDelete sets the "delete" field. func (uuo *UserUpdateOne) SetDelete(b bool) *UserUpdateOne { uuo.mutation.SetDelete(b) @@ -1418,6 +1510,18 @@ func (uuo *UserUpdateOne) sqlSave(ctx context.Context) (_node *User, err error) if uuo.mutation.DidCleared() { _spec.ClearField(user.FieldDid, field.TypeString) } + if value, ok := uuo.mutation.Bsky(); ok { + _spec.SetField(user.FieldBsky, field.TypeBool, value) + } + if uuo.mutation.BskyCleared() { + _spec.ClearField(user.FieldBsky, field.TypeBool) + } + if value, ok := uuo.mutation.Mastodon(); ok { + _spec.SetField(user.FieldMastodon, field.TypeBool, value) + } + if uuo.mutation.MastodonCleared() { + _spec.ClearField(user.FieldMastodon, field.TypeBool) + } if value, ok := uuo.mutation.Delete(); ok { _spec.SetField(user.FieldDelete, field.TypeBool, value) } diff --git a/tmp/card_add.zsh b/tmp/card_add.zsh index 84d994a..2486ac3 100755 --- a/tmp/card_add.zsh +++ b/tmp/card_add.zsh @@ -1,6 +1,5 @@ #!/bin/zsh -echo username card cp -read + host=https://api.syui.ai pass=`cat ~/.config/atr/api_card.json|jq -r .password` if [ -z "$1" ];then @@ -18,5 +17,6 @@ read id=`curl -sL "$host/users?itemsPerPage=2000"|jq ".[]|select(.username == \"$1\")"|jq -r .id` card=$2 cp=$3 -s="normal" -curl -X POST -H "Content-Type: application/json" -d "{\"owner\":$id,\"card\":$card,\"status\":\"$s\",\"cp\":$cp,\"password\":\"$pass\"}" -sL $host/cards +s=super +skill=normal +curl -X POST -H "Content-Type: application/json" -d "{\"owner\":$id,\"card\":$card,\"status\":\"$s\",\"cp\":$cp,\"password\":\"$pass\",\"skill\":\"$skill\"}" -sL $host/cards diff --git a/tmp/card_test.zsh b/tmp/card_test.zsh index a003649..94fa5bc 100755 --- a/tmp/card_test.zsh +++ b/tmp/card_test.zsh @@ -6,8 +6,8 @@ case $OSTYPE in ;; esac -username=syui -id=1 +username=ai +id=2 host=https://api.syui.ai token=`cat ~/.config/atr/api_card.json|jq -r .token` @@ -17,10 +17,24 @@ data=`curl -sL "$host_users"|jq .` nd=`date +"%Y%m%d"` nd=20230101 -title=card_patch -echo $title -card_id=1 -curl -X PATCH -H "Content-Type: application/json" -d "{\"cp\":1,\"token\":\"$token\"}" $host/cards/$card_id +#title=card_patch +#echo $title +#card_id=1 +#curl -X PATCH -H "Content-Type: application/json" -d "{\"cp\":1,\"token\":\"$token\"}" $host/cards/$card_id +#read +# +## card pass +echo "\ntest get card (no password)" +curl -X POST -H "Content-Type: application/json" -d "{\"owner\":$id}" $host/cards +echo "\ntest select card (no password)" +curl -X POST -H "Content-Type: application/json" -d "{\"owner\":$id,\"card\":0,\"status\":\"normal\",\"cp\":1}" $host/cards + +## token +echo "\ntest token (no token)" +curl -X PATCH -H "Content-Type: application/json" -d "{\"next\":\"1\"}" -s $host/users/$id +echo "\ntest token (yes token)" +curl -X PATCH -H "Content-Type: application/json" -d "{\"next\":\"$nd\",\"token\":\"$token\"}" -s $host/users/$id + read ## users @@ -35,11 +49,7 @@ read curl -sL "$host/cards?itemsPerPage=2550"|jq . read -## token -echo "\ntest token (no token)" -curl -X PATCH -H "Content-Type: application/json" -d "{\"next\":\"$nd\"}" -s $host/users/$id -echo "\ntest token (yes token)" -curl -X PATCH -H "Content-Type: application/json" -d "{\"next\":\"$nd\",\"token\":\"$token\"}" -s $host/users/$id + read ## delete diff --git a/tmp/ogent/oas_parameters_gen.go b/tmp/ogent/oas_parameters_gen.go deleted file mode 100644 index c9ce70c..0000000 --- a/tmp/ogent/oas_parameters_gen.go +++ /dev/null @@ -1,1587 +0,0 @@ -// Code generated by ogen, DO NOT EDIT. - -package ogent - -import ( - "net/http" - "net/url" - - "github.com/go-faster/errors" - - "github.com/ogen-go/ogen/conv" - "github.com/ogen-go/ogen/middleware" - "github.com/ogen-go/ogen/ogenerrors" - "github.com/ogen-go/ogen/uri" - "github.com/ogen-go/ogen/validate" -) - -// DeleteCardParams is parameters of deleteCard operation. -type DeleteCardParams struct { - // ID of the Card. - ID int -} - -func unpackDeleteCardParams(packed middleware.Parameters) (params DeleteCardParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeDeleteCardParams(args [1]string, r *http.Request) (params DeleteCardParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// DeleteGroupParams is parameters of deleteGroup operation. -type DeleteGroupParams struct { - // ID of the Group. - ID int -} - -func unpackDeleteGroupParams(packed middleware.Parameters) (params DeleteGroupParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeDeleteGroupParams(args [1]string, r *http.Request) (params DeleteGroupParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// DeleteUserParams is parameters of deleteUser operation. -type DeleteUserParams struct { - // ID of the User. - ID int -} - -func unpackDeleteUserParams(packed middleware.Parameters) (params DeleteUserParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeDeleteUserParams(args [1]string, r *http.Request) (params DeleteUserParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// DrawDoneParams is parameters of drawDone operation. -type DrawDoneParams struct { - ID int -} - -func unpackDrawDoneParams(packed middleware.Parameters) (params DrawDoneParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeDrawDoneParams(args [1]string, r *http.Request) (params DrawDoneParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// DrawStartParams is parameters of drawStart operation. -type DrawStartParams struct { - ID int -} - -func unpackDrawStartParams(packed middleware.Parameters) (params DrawStartParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeDrawStartParams(args [1]string, r *http.Request) (params DrawStartParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// ListCardParams is parameters of listCard operation. -type ListCardParams struct { - // What page to render. - Page OptInt - // Item count to render per page. - ItemsPerPage OptInt -} - -func unpackListCardParams(packed middleware.Parameters) (params ListCardParams) { - { - key := middleware.ParameterKey{ - Name: "page", - In: "query", - } - if v, ok := packed[key]; ok { - params.Page = v.(OptInt) - } - } - { - key := middleware.ParameterKey{ - Name: "itemsPerPage", - In: "query", - } - if v, ok := packed[key]; ok { - params.ItemsPerPage = v.(OptInt) - } - } - return params -} - -func decodeListCardParams(args [0]string, r *http.Request) (params ListCardParams, _ error) { - q := uri.NewQueryDecoder(r.URL.Query()) - // Decode query: page. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "page", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotPageVal = c - return nil - }(); err != nil { - return err - } - params.Page.SetTo(paramsDotPageVal) - return nil - }); err != nil { - return err - } - if err := func() error { - if params.Page.Set { - if err := func() error { - if err := (validate.Int{ - MinSet: true, - Min: 1, - MaxSet: false, - Max: 0, - MinExclusive: false, - MaxExclusive: false, - MultipleOfSet: false, - MultipleOf: 0, - }).Validate(int64(params.Page.Value)); err != nil { - return errors.Wrap(err, "int") - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "page", - In: "query", - Err: err, - } - } - // Decode query: itemsPerPage. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "itemsPerPage", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotItemsPerPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotItemsPerPageVal = c - return nil - }(); err != nil { - return err - } - params.ItemsPerPage.SetTo(paramsDotItemsPerPageVal) - return nil - }); err != nil { - return err - } - if err := func() error { - if params.ItemsPerPage.Set { - if err := func() error { - if err := (validate.Int{ - MinSet: true, - Min: 1, - MaxSet: true, - Max: 4000, - MinExclusive: false, - MaxExclusive: false, - MultipleOfSet: false, - MultipleOf: 0, - }).Validate(int64(params.ItemsPerPage.Value)); err != nil { - return errors.Wrap(err, "int") - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "itemsPerPage", - In: "query", - Err: err, - } - } - return params, nil -} - -// ListGroupParams is parameters of listGroup operation. -type ListGroupParams struct { - // What page to render. - Page OptInt - // Item count to render per page. - ItemsPerPage OptInt -} - -func unpackListGroupParams(packed middleware.Parameters) (params ListGroupParams) { - { - key := middleware.ParameterKey{ - Name: "page", - In: "query", - } - if v, ok := packed[key]; ok { - params.Page = v.(OptInt) - } - } - { - key := middleware.ParameterKey{ - Name: "itemsPerPage", - In: "query", - } - if v, ok := packed[key]; ok { - params.ItemsPerPage = v.(OptInt) - } - } - return params -} - -func decodeListGroupParams(args [0]string, r *http.Request) (params ListGroupParams, _ error) { - q := uri.NewQueryDecoder(r.URL.Query()) - // Decode query: page. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "page", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotPageVal = c - return nil - }(); err != nil { - return err - } - params.Page.SetTo(paramsDotPageVal) - return nil - }); err != nil { - return err - } - if err := func() error { - if params.Page.Set { - if err := func() error { - if err := (validate.Int{ - MinSet: true, - Min: 1, - MaxSet: false, - Max: 0, - MinExclusive: false, - MaxExclusive: false, - MultipleOfSet: false, - MultipleOf: 0, - }).Validate(int64(params.Page.Value)); err != nil { - return errors.Wrap(err, "int") - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "page", - In: "query", - Err: err, - } - } - // Decode query: itemsPerPage. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "itemsPerPage", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotItemsPerPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotItemsPerPageVal = c - return nil - }(); err != nil { - return err - } - params.ItemsPerPage.SetTo(paramsDotItemsPerPageVal) - return nil - }); err != nil { - return err - } - if err := func() error { - if params.ItemsPerPage.Set { - if err := func() error { - if err := (validate.Int{ - MinSet: true, - Min: 1, - MaxSet: true, - Max: 4000, - MinExclusive: false, - MaxExclusive: false, - MultipleOfSet: false, - MultipleOf: 0, - }).Validate(int64(params.ItemsPerPage.Value)); err != nil { - return errors.Wrap(err, "int") - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "itemsPerPage", - In: "query", - Err: err, - } - } - return params, nil -} - -// ListGroupUsersParams is parameters of listGroupUsers operation. -type ListGroupUsersParams struct { - // ID of the Group. - ID int - // What page to render. - Page OptInt - // Item count to render per page. - ItemsPerPage OptInt -} - -func unpackListGroupUsersParams(packed middleware.Parameters) (params ListGroupUsersParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - { - key := middleware.ParameterKey{ - Name: "page", - In: "query", - } - if v, ok := packed[key]; ok { - params.Page = v.(OptInt) - } - } - { - key := middleware.ParameterKey{ - Name: "itemsPerPage", - In: "query", - } - if v, ok := packed[key]; ok { - params.ItemsPerPage = v.(OptInt) - } - } - return params -} - -func decodeListGroupUsersParams(args [1]string, r *http.Request) (params ListGroupUsersParams, _ error) { - q := uri.NewQueryDecoder(r.URL.Query()) - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - // Decode query: page. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "page", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotPageVal = c - return nil - }(); err != nil { - return err - } - params.Page.SetTo(paramsDotPageVal) - return nil - }); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "page", - In: "query", - Err: err, - } - } - // Decode query: itemsPerPage. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "itemsPerPage", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotItemsPerPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotItemsPerPageVal = c - return nil - }(); err != nil { - return err - } - params.ItemsPerPage.SetTo(paramsDotItemsPerPageVal) - return nil - }); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "itemsPerPage", - In: "query", - Err: err, - } - } - return params, nil -} - -// ListUserParams is parameters of listUser operation. -type ListUserParams struct { - // What page to render. - Page OptInt - // Item count to render per page. - ItemsPerPage OptInt -} - -func unpackListUserParams(packed middleware.Parameters) (params ListUserParams) { - { - key := middleware.ParameterKey{ - Name: "page", - In: "query", - } - if v, ok := packed[key]; ok { - params.Page = v.(OptInt) - } - } - { - key := middleware.ParameterKey{ - Name: "itemsPerPage", - In: "query", - } - if v, ok := packed[key]; ok { - params.ItemsPerPage = v.(OptInt) - } - } - return params -} - -func decodeListUserParams(args [0]string, r *http.Request) (params ListUserParams, _ error) { - q := uri.NewQueryDecoder(r.URL.Query()) - // Decode query: page. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "page", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotPageVal = c - return nil - }(); err != nil { - return err - } - params.Page.SetTo(paramsDotPageVal) - return nil - }); err != nil { - return err - } - if err := func() error { - if params.Page.Set { - if err := func() error { - if err := (validate.Int{ - MinSet: true, - Min: 1, - MaxSet: false, - Max: 0, - MinExclusive: false, - MaxExclusive: false, - MultipleOfSet: false, - MultipleOf: 0, - }).Validate(int64(params.Page.Value)); err != nil { - return errors.Wrap(err, "int") - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "page", - In: "query", - Err: err, - } - } - // Decode query: itemsPerPage. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "itemsPerPage", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotItemsPerPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotItemsPerPageVal = c - return nil - }(); err != nil { - return err - } - params.ItemsPerPage.SetTo(paramsDotItemsPerPageVal) - return nil - }); err != nil { - return err - } - if err := func() error { - if params.ItemsPerPage.Set { - if err := func() error { - if err := (validate.Int{ - MinSet: true, - Min: 1, - MaxSet: true, - Max: 4000, - MinExclusive: false, - MaxExclusive: false, - MultipleOfSet: false, - MultipleOf: 0, - }).Validate(int64(params.ItemsPerPage.Value)); err != nil { - return errors.Wrap(err, "int") - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "itemsPerPage", - In: "query", - Err: err, - } - } - return params, nil -} - -// ListUserCardParams is parameters of listUserCard operation. -type ListUserCardParams struct { - // ID of the User. - ID int - // What page to render. - Page OptInt - // Item count to render per page. - ItemsPerPage OptInt -} - -func unpackListUserCardParams(packed middleware.Parameters) (params ListUserCardParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - { - key := middleware.ParameterKey{ - Name: "page", - In: "query", - } - if v, ok := packed[key]; ok { - params.Page = v.(OptInt) - } - } - { - key := middleware.ParameterKey{ - Name: "itemsPerPage", - In: "query", - } - if v, ok := packed[key]; ok { - params.ItemsPerPage = v.(OptInt) - } - } - return params -} - -func decodeListUserCardParams(args [1]string, r *http.Request) (params ListUserCardParams, _ error) { - q := uri.NewQueryDecoder(r.URL.Query()) - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - // Decode query: page. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "page", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotPageVal = c - return nil - }(); err != nil { - return err - } - params.Page.SetTo(paramsDotPageVal) - return nil - }); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "page", - In: "query", - Err: err, - } - } - // Decode query: itemsPerPage. - if err := func() error { - cfg := uri.QueryParameterDecodingConfig{ - Name: "itemsPerPage", - Style: uri.QueryStyleForm, - Explode: true, - } - - if err := q.HasParam(cfg); err == nil { - if err := q.DecodeParam(cfg, func(d uri.Decoder) error { - var paramsDotItemsPerPageVal int - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - paramsDotItemsPerPageVal = c - return nil - }(); err != nil { - return err - } - params.ItemsPerPage.SetTo(paramsDotItemsPerPageVal) - return nil - }); err != nil { - return err - } - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "itemsPerPage", - In: "query", - Err: err, - } - } - return params, nil -} - -// ReadCardParams is parameters of readCard operation. -type ReadCardParams struct { - // ID of the Card. - ID int -} - -func unpackReadCardParams(packed middleware.Parameters) (params ReadCardParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeReadCardParams(args [1]string, r *http.Request) (params ReadCardParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// ReadCardOwnerParams is parameters of readCardOwner operation. -type ReadCardOwnerParams struct { - // ID of the Card. - ID int -} - -func unpackReadCardOwnerParams(packed middleware.Parameters) (params ReadCardOwnerParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeReadCardOwnerParams(args [1]string, r *http.Request) (params ReadCardOwnerParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// ReadGroupParams is parameters of readGroup operation. -type ReadGroupParams struct { - // ID of the Group. - ID int -} - -func unpackReadGroupParams(packed middleware.Parameters) (params ReadGroupParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeReadGroupParams(args [1]string, r *http.Request) (params ReadGroupParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// ReadUserParams is parameters of readUser operation. -type ReadUserParams struct { - // ID of the User. - ID int -} - -func unpackReadUserParams(packed middleware.Parameters) (params ReadUserParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeReadUserParams(args [1]string, r *http.Request) (params ReadUserParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// UpdateCardParams is parameters of updateCard operation. -type UpdateCardParams struct { - // ID of the Card. - ID int -} - -func unpackUpdateCardParams(packed middleware.Parameters) (params UpdateCardParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeUpdateCardParams(args [1]string, r *http.Request) (params UpdateCardParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// UpdateGroupParams is parameters of updateGroup operation. -type UpdateGroupParams struct { - // ID of the Group. - ID int -} - -func unpackUpdateGroupParams(packed middleware.Parameters) (params UpdateGroupParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeUpdateGroupParams(args [1]string, r *http.Request) (params UpdateGroupParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} - -// UpdateUserParams is parameters of updateUser operation. -type UpdateUserParams struct { - // ID of the User. - ID int -} - -func unpackUpdateUserParams(packed middleware.Parameters) (params UpdateUserParams) { - { - key := middleware.ParameterKey{ - Name: "id", - In: "path", - } - params.ID = packed[key].(int) - } - return params -} - -func decodeUpdateUserParams(args [1]string, r *http.Request) (params UpdateUserParams, _ error) { - // Decode path: id. - if err := func() error { - param, err := url.PathUnescape(args[0]) - if err != nil { - return errors.Wrap(err, "unescape path") - } - if len(param) > 0 { - d := uri.NewPathDecoder(uri.PathDecoderConfig{ - Param: "id", - Value: param, - Style: uri.PathStyleSimple, - Explode: false, - }) - - if err := func() error { - val, err := d.DecodeValue() - if err != nil { - return err - } - - c, err := conv.ToInt(val) - if err != nil { - return err - } - - params.ID = c - return nil - }(); err != nil { - return err - } - } else { - return validate.ErrFieldRequired - } - return nil - }(); err != nil { - return params, &ogenerrors.DecodeParamError{ - Name: "id", - In: "path", - Err: err, - } - } - return params, nil -} diff --git a/tmp/ogent/oas_response_encoders_gen.go b/tmp/ogent/oas_response_encoders_gen.go new file mode 100644 index 0000000..09de6c3 --- /dev/null +++ b/tmp/ogent/oas_response_encoders_gen.go @@ -0,0 +1,1184 @@ +// Code generated by ogen, DO NOT EDIT. + +package ogent + +import ( + "net/http" + + "github.com/go-faster/errors" + "github.com/go-faster/jx" + "go.opentelemetry.io/otel/codes" + "go.opentelemetry.io/otel/trace" +) + +func encodeCreateCardResponse(response CreateCardRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *CardCreate: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeCreateGroupResponse(response CreateGroupRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *GroupCreate: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeCreateUserResponse(response CreateUserRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *UserCreate: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeDeleteCardResponse(response DeleteCardRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *DeleteCardNoContent: + w.WriteHeader(204) + span.SetStatus(codes.Ok, http.StatusText(204)) + + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeDeleteGroupResponse(response DeleteGroupRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *DeleteGroupNoContent: + w.WriteHeader(204) + span.SetStatus(codes.Ok, http.StatusText(204)) + + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeDeleteUserResponse(response DeleteUserRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *DeleteUserNoContent: + w.WriteHeader(204) + span.SetStatus(codes.Ok, http.StatusText(204)) + + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeDrawDoneResponse(response *DrawDoneNoContent, w http.ResponseWriter, span trace.Span) error { + w.WriteHeader(204) + span.SetStatus(codes.Ok, http.StatusText(204)) + + return nil +} + +func encodeDrawStartResponse(response *DrawStartNoContent, w http.ResponseWriter, span trace.Span) error { + w.WriteHeader(204) + span.SetStatus(codes.Ok, http.StatusText(204)) + + return nil +} + +func encodeListCardResponse(response ListCardRes, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai") + switch response := response.(type) { + case *ListCardOKApplicationJSON: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeListGroupResponse(response ListGroupRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *ListGroupOKApplicationJSON: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeListGroupUsersResponse(response ListGroupUsersRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *ListGroupUsersOKApplicationJSON: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeListUserResponse(response ListUserRes, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai") + switch response := response.(type) { + case *ListUserOKApplicationJSON: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeListUserCardResponse(response ListUserCardRes, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai") + switch response := response.(type) { + case *ListUserCardOKApplicationJSON: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeReadCardResponse(response ReadCardRes, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai") + switch response := response.(type) { + case *CardRead: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeReadCardOwnerResponse(response ReadCardOwnerRes, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai") + switch response := response.(type) { + case *CardOwnerRead: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeReadGroupResponse(response ReadGroupRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *GroupRead: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeReadUserResponse(response ReadUserRes, w http.ResponseWriter, span trace.Span) error { + w.Header().Set("Access-Control-Allow-Origin", "https://card.syui.ai") + switch response := response.(type) { + case *UserRead: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeUpdateCardResponse(response UpdateCardRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *CardUpdate: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeUpdateGroupResponse(response UpdateGroupRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *GroupUpdate: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} + +func encodeUpdateUserResponse(response UpdateUserRes, w http.ResponseWriter, span trace.Span) error { + switch response := response.(type) { + case *UserUpdate: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(200) + span.SetStatus(codes.Ok, http.StatusText(200)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R400: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(400) + span.SetStatus(codes.Error, http.StatusText(400)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R404: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(404) + span.SetStatus(codes.Error, http.StatusText(404)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R409: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(409) + span.SetStatus(codes.Error, http.StatusText(409)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + case *R500: + w.Header().Set("Content-Type", "application/json") + w.WriteHeader(500) + span.SetStatus(codes.Error, http.StatusText(500)) + + e := jx.GetEncoder() + response.Encode(e) + if _, err := e.WriteTo(w); err != nil { + return errors.Wrap(err, "write") + } + return nil + + default: + return errors.Errorf("unexpected response type: %T", response) + } +} diff --git a/tmp/ogent/ogent.go b/tmp/ogent/ogent.go index 8c87fbe..4a15d0a 100644 --- a/tmp/ogent/ogent.go +++ b/tmp/ogent/ogent.go @@ -493,6 +493,13 @@ func (h *OgentHandler) CreateUser(ctx context.Context, req *CreateUserReq) (Crea if v, ok := req.Did.Get(); ok { b.SetDid(v) } + if v, ok := req.Bsky.Get(); ok { + b.SetBsky(v) + } + if v, ok := req.Mastodon.Get(); ok { + b.SetMastodon(v) + } + if v, ok := req.Delete.Get(); ok { b.SetDelete(v) } @@ -629,6 +636,12 @@ func (h *OgentHandler) UpdateUser(ctx context.Context, req *UpdateUserReq, param if v, ok := req.Did.Get(); ok { b.SetDid(v) } + if v, ok := req.Bsky.Get(); ok { + b.SetBsky(v) + } + if v, ok := req.Mastodon.Get(); ok { + b.SetMastodon(v) + } if v, ok := req.Delete.Get(); ok { b.SetDelete(v) } diff --git a/tmp/t.zsh b/tmp/t.zsh new file mode 100644 index 0000000..a28c4ef --- /dev/null +++ b/tmp/t.zsh @@ -0,0 +1,24 @@ +#!/bin/zsh +host=https://api.syui.ai +uid=`curl -sL "$host/users?itemsPerPage=2000"|jq ".[]|select(.username == \"$1\")"|jq -r .id` +did=`curl -sL "$host/users?itemsPerPage=2000"|jq ".[]|select(.username == \"$1\")"|jq -r .did` +pass=`cat ~/.config/atr/api_card.json|jq -r .password` +card=36 +cp=`echo $(($RANDOM % 1000 + 400))` +s=$(($RANDOM % 7)) +if [ $s -eq 1 ];then + s=super + skill=post + plus=$(($RANDOM % 1000 + 300)) + cp=$((cp + plus)) +else + s=normal + skill=ten +fi +tmp=`curl -X POST -H "Content-Type: application/json" -d "{\"owner\":$uid,\"card\":$card,\"status\":\"$s\",\"cp\":$cp,\"password\":\"$pass\",\"skill\":\"$skill\"}" -sL $host/cards` + +card=`echo $tmp|jq -r .card` +cp=`echo $tmp|jq -r .cp` +body="[card]\nid : $card\ncp : $cp" + +atr @ $did -p "`echo $body`"