Skip to content

Commit

Permalink
Added solana_mining_blockchain_account_address field.
Browse files Browse the repository at this point in the history
  • Loading branch information
ice-myles committed Feb 1, 2024
1 parent 183fb86 commit 5b182a2
Show file tree
Hide file tree
Showing 14 changed files with 120 additions and 22 deletions.
18 changes: 18 additions & 0 deletions cmd/eskimo-hut/api/docs.go
Original file line number Diff line number Diff line change
Expand Up @@ -1197,6 +1197,11 @@ const docTemplate = `{
"name": "clearMiningBlockchainAccountAddress",
"in": "formData"
},
{
"type": "boolean",
"name": "clearSolanaMiningBlockchainAccountAddress",
"in": "formData"
},
{
"type": "string",
"description": "Optional. Example: ` + "`" + `{\"key1\":{\"something\":\"somethingElse\"},\"key2\":\"value\"}` + "`" + `.",
Expand Down Expand Up @@ -1279,6 +1284,11 @@ const docTemplate = `{
"name": "resetProfilePicture",
"in": "formData"
},
{
"type": "string",
"name": "solanaMiningBlockchainAccountAddress",
"in": "formData"
},
{
"type": "string",
"description": "Optional. Example:` + "`" + `jdoe` + "`" + `.",
Expand Down Expand Up @@ -1781,6 +1791,10 @@ const docTemplate = `{
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"updatedAt": {
"type": "string",
"example": "2022-01-03T16:20:52.156534Z"
Expand Down Expand Up @@ -2104,6 +2118,10 @@ const docTemplate = `{
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"updatedAt": {
"type": "string",
"example": "2022-01-03T16:20:52.156534Z"
Expand Down
18 changes: 18 additions & 0 deletions cmd/eskimo-hut/api/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -1191,6 +1191,11 @@
"name": "clearMiningBlockchainAccountAddress",
"in": "formData"
},
{
"type": "boolean",
"name": "clearSolanaMiningBlockchainAccountAddress",
"in": "formData"
},
{
"type": "string",
"description": "Optional. Example: `{\"key1\":{\"something\":\"somethingElse\"},\"key2\":\"value\"}`.",
Expand Down Expand Up @@ -1273,6 +1278,11 @@
"name": "resetProfilePicture",
"in": "formData"
},
{
"type": "string",
"name": "solanaMiningBlockchainAccountAddress",
"in": "formData"
},
{
"type": "string",
"description": "Optional. Example:`jdoe`.",
Expand Down Expand Up @@ -1775,6 +1785,10 @@
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"updatedAt": {
"type": "string",
"example": "2022-01-03T16:20:52.156534Z"
Expand Down Expand Up @@ -2098,6 +2112,10 @@
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"updatedAt": {
"type": "string",
"example": "2022-01-03T16:20:52.156534Z"
Expand Down
12 changes: 12 additions & 0 deletions cmd/eskimo-hut/api/swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,9 @@ definitions:
additionalProperties:
type: string
type: object
solanaMiningBlockchainAccountAddress:
example: 0x4B73C58370AEfcEf86A6021afCDe5673511376B2
type: string
updatedAt:
example: "2022-01-03T16:20:52.156534Z"
type: string
Expand Down Expand Up @@ -381,6 +384,9 @@ definitions:
additionalProperties:
type: string
type: object
solanaMiningBlockchainAccountAddress:
example: 0x4B73C58370AEfcEf86A6021afCDe5673511376B2
type: string
updatedAt:
example: "2022-01-03T16:20:52.156534Z"
type: string
Expand Down Expand Up @@ -1346,6 +1352,9 @@ paths:
- in: formData
name: clearMiningBlockchainAccountAddress
type: boolean
- in: formData
name: clearSolanaMiningBlockchainAccountAddress
type: boolean
- description: 'Optional. Example: `{"key1":{"something":"somethingElse"},"key2":"value"}`.'
in: formData
name: clientData
Expand Down Expand Up @@ -1402,6 +1411,9 @@ paths:
in: formData
name: resetProfilePicture
type: boolean
- in: formData
name: solanaMiningBlockchainAccountAddress
type: string
- description: Optional. Example:`jdoe`.
in: formData
name: username
Expand Down
12 changes: 7 additions & 5 deletions cmd/eskimo-hut/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,10 @@ type (
// Optional. Example:`did:ethr:0x4B73C58370AEfcEf86A6021afCDe5673511376B2`.
ReferredBy string `form:"referredBy" formMultipart:"referredBy"`
// Optional. Example: Array of [`globalRank`,`referralCount`,`level`,`role`,`badges`].
HiddenProfileElements *users.Enum[users.HiddenProfileElement] `form:"hiddenProfileElements" formMultipart:"hiddenProfileElements" swaggertype:"array,string" enums:"globalRank,referralCount,level,role,badges"` //nolint:lll // .
ClearHiddenProfileElements *bool `form:"clearHiddenProfileElements" formMultipart:"clearHiddenProfileElements"`
ClearMiningBlockchainAccountAddress *bool `form:"clearMiningBlockchainAccountAddress" formMultipart:"clearMiningBlockchainAccountAddress"` //nolint:lll //.
HiddenProfileElements *users.Enum[users.HiddenProfileElement] `form:"hiddenProfileElements" formMultipart:"hiddenProfileElements" swaggertype:"array,string" enums:"globalRank,referralCount,level,role,badges"` //nolint:lll // .
ClearHiddenProfileElements *bool `form:"clearHiddenProfileElements" formMultipart:"clearHiddenProfileElements"`

Check failure on line 60 in cmd/eskimo-hut/contract.go

View workflow job for this annotation

GitHub Actions / Lint

line is 162 characters (lll)
ClearMiningBlockchainAccountAddress *bool `form:"clearMiningBlockchainAccountAddress" formMultipart:"clearMiningBlockchainAccountAddress"` //nolint:lll //.
ClearSolanaMiningBlockchainAccountAddress *bool `form:"clearSolanaMiningBlockchainAccountAddress" formMultipart:"clearSolanaMiningBlockchainAccountAddress"` //nolint:lll //.
// Optional. Example: `{"key1":{"something":"somethingElse"},"key2":"value"}`.
ClientData *string `form:"clientData" formMultipart:"clientData"`
clientData *users.JSON //nolint:revive // It's meant for internal use only.
Expand All @@ -85,8 +86,9 @@ type (
// Optional. Example:`Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2`.
AgendaPhoneNumberHashes string `form:"agendaPhoneNumberHashes" formMultipart:"agendaPhoneNumberHashes"`
// Optional. Example:`some hash`.
BlockchainAccountAddress string `form:"blockchainAccountAddress" formMultipart:"blockchainAccountAddress"`
MiningBlockchainAccountAddress string `form:"miningBlockchainAccountAddress" formMultipart:"miningBlockchainAccountAddress"`
BlockchainAccountAddress string `form:"blockchainAccountAddress" formMultipart:"blockchainAccountAddress"`
MiningBlockchainAccountAddress string `form:"miningBlockchainAccountAddress" formMultipart:"miningBlockchainAccountAddress"`
SolanaMiningBlockchainAccountAddress string `form:"solanaMiningBlockchainAccountAddress" formMultipart:"solanaMiningBlockchainAccountAddress"`
// Optional. Example:`en`.
Language string `form:"language" formMultipart:"language"`
// Optional. Example:`1232412415326543647657`.
Expand Down
6 changes: 6 additions & 0 deletions cmd/eskimo-hut/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -286,9 +286,13 @@ func buildUserForModification(req *server.Request[ModifyUserRequestBody, ModifyU
usr.AgendaPhoneNumberHashes = &req.Data.AgendaPhoneNumberHashes
usr.BlockchainAccountAddress = req.Data.BlockchainAccountAddress
usr.MiningBlockchainAccountAddress = strings.ToLower(req.Data.MiningBlockchainAccountAddress)
usr.SolanaMiningBlockchainAccountAddress = strings.ToLower(req.Data.SolanaMiningBlockchainAccountAddress)
if req.Data.ClearMiningBlockchainAccountAddress != nil && *req.Data.ClearMiningBlockchainAccountAddress {
usr.MiningBlockchainAccountAddress = usr.ID
}
if req.Data.ClearSolanaMiningBlockchainAccountAddress != nil && *req.Data.ClearSolanaMiningBlockchainAccountAddress {
usr.SolanaMiningBlockchainAccountAddress = usr.ID
}
usr.Language = req.Data.Language
if req.Data.ClearHiddenProfileElements != nil && *req.Data.ClearHiddenProfileElements {
empty := make(users.Enum[users.HiddenProfileElement], 0, 0) //nolint:gosimple // .
Expand Down Expand Up @@ -330,7 +334,9 @@ func (a *ModifyUserRequestBody) verifyIfAtLeastOnePropertyProvided() *server.Res
a.AgendaPhoneNumberHashes == "" &&
a.BlockchainAccountAddress == "" &&
a.MiningBlockchainAccountAddress == "" &&
a.SolanaMiningBlockchainAccountAddress == "" &&
a.ClearMiningBlockchainAccountAddress == nil &&
a.ClearSolanaMiningBlockchainAccountAddress == nil &&
a.HiddenProfileElements == nil &&
a.ClearHiddenProfileElements == nil &&
a.ClientData == nil &&
Expand Down
8 changes: 8 additions & 0 deletions cmd/eskimo/api/docs.go
Original file line number Diff line number Diff line change
Expand Up @@ -762,6 +762,10 @@ const docTemplate = `{
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"t1ReferralCount": {
"type": "integer",
"example": 100
Expand Down Expand Up @@ -1112,6 +1116,10 @@ const docTemplate = `{
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"t1ReferralCount": {
"type": "integer",
"example": 100
Expand Down
8 changes: 8 additions & 0 deletions cmd/eskimo/api/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -756,6 +756,10 @@
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"t1ReferralCount": {
"type": "integer",
"example": 100
Expand Down Expand Up @@ -1106,6 +1110,10 @@
"type": "string"
}
},
"solanaMiningBlockchainAccountAddress": {
"type": "string",
"example": "0x4B73C58370AEfcEf86A6021afCDe5673511376B2"
},
"t1ReferralCount": {
"type": "integer",
"example": 100
Expand Down
6 changes: 6 additions & 0 deletions cmd/eskimo/api/swagger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,9 @@ definitions:
additionalProperties:
type: string
type: object
solanaMiningBlockchainAccountAddress:
example: 0x4B73C58370AEfcEf86A6021afCDe5673511376B2
type: string
t1ReferralCount:
example: 100
type: integer
Expand Down Expand Up @@ -340,6 +343,9 @@ definitions:
additionalProperties:
type: string
type: object
solanaMiningBlockchainAccountAddress:
example: 0x4B73C58370AEfcEf86A6021afCDe5673511376B2
type: string
t1ReferralCount:
example: 100
type: integer
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ require (
github.com/chenzhuoyu/iasm v0.9.1 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
github.com/containerd/cgroups v1.1.0 // indirect
github.com/containerd/containerd v1.7.12 // indirect
github.com/containerd/containerd v1.7.13 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/distribution/reference v0.5.0 // indirect
github.com/docker/distribution v2.8.3+incompatible // indirect
github.com/docker/docker v25.0.1+incompatible // indirect
github.com/docker/docker v25.0.2+incompatible // indirect
github.com/docker/go-connections v0.5.0 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
Expand Down
7 changes: 4 additions & 3 deletions users/DDL.sql
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ CREATE TABLE IF NOT EXISTS users (
kyc_steps_last_updated_at timestamp[],
kyc_steps_created_at timestamp[],
mining_blockchain_account_address text NOT NULL UNIQUE,
solana_mining_blockchain_account_address text NOT NULL UNIQUE,
blockchain_account_address text NOT NULL UNIQUE,
language text NOT NULL DEFAULT 'en',
lookup tsvector NOT NULL)
Expand All @@ -47,9 +48,9 @@ END $$;
ALTER TABLE users ADD COLUMN IF NOT EXISTS kyc_step_blocked smallint NOT NULL DEFAULT 0;
ALTER TABLE users ADD COLUMN IF NOT EXISTS kyc_steps_last_updated_at timestamp[];
ALTER TABLE users ADD COLUMN IF NOT EXISTS kyc_steps_created_at timestamp[];
INSERT INTO users (created_at,updated_at,phone_number,phone_number_hash,email,id,username,profile_picture_name,referred_by,city,country,mining_blockchain_account_address,blockchain_account_address, lookup)
VALUES (current_timestamp,current_timestamp,'bogus','bogus','bogus','bogus','bogus','bogus.jpg','bogus','bogus','RO','bogus','bogus',to_tsvector('bogus')),
(current_timestamp,current_timestamp,'icenetwork','icenetwork','icenetwork','icenetwork','icenetwork','icenetwork.jpg','icenetwork','icenetwork','RO','icenetwork','icenetwork',to_tsvector('icenetwork'))
INSERT INTO users (created_at,updated_at,phone_number,phone_number_hash,email,id,username,profile_picture_name,referred_by,city,country,mining_blockchain_account_address,blockchain_account_address,solana_mining_blockchain_account_address,lookup)
VALUES (current_timestamp,current_timestamp,'bogus','bogus','bogus','bogus','bogus','bogus.jpg','bogus','bogus','RO','bogus','bogus','bogus',to_tsvector('bogus')),
(current_timestamp,current_timestamp,'icenetwork','icenetwork','icenetwork','icenetwork','icenetwork','icenetwork.jpg','icenetwork','icenetwork','RO','icenetwork','icenetwork','icenetwork',to_tsvector('icenetwork'))
ON CONFLICT DO NOTHING;
CREATE INDEX IF NOT EXISTS users_referred_by_ix ON users (referred_by);
CREATE EXTENSION IF NOT EXISTS btree_gin;
Expand Down
19 changes: 10 additions & 9 deletions users/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,16 @@ type (
RepeatableKYCSteps *map[KYCStep]*time.Time `json:"repeatableKYCSteps,omitempty" db:"-"` //nolint:tagliatelle // Nope.
PrivateUserInformation
PublicUserInformation
ReferredBy UserID `json:"referredBy,omitempty" example:"did:ethr:0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"referred_by"`
PhoneNumberHash string `json:"phoneNumberHash,omitempty" example:"Ef86A6021afCDe5673511376B2" swaggerignore:"true" db:"phone_number_hash"`
AgendaPhoneNumberHashes *string `json:"agendaPhoneNumberHashes,omitempty" example:"Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2" db:"-"` //nolint:lll // .
MiningBlockchainAccountAddress string `json:"miningBlockchainAccountAddress,omitempty" example:"0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"mining_blockchain_account_address"` //nolint:lll // .
BlockchainAccountAddress string `json:"blockchainAccountAddress,omitempty" example:"0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"blockchain_account_address"` //nolint:lll // .
Language string `json:"language,omitempty" example:"en" db:"language"`
Lookup string `json:"-" example:"username" db:"lookup"`
AgendaContactUserIDs []string `json:"agendaContactUserIDs,omitempty" swaggerignore:"true" db:"agenda_contact_user_ids"`
HashCode int64 `json:"hashCode,omitempty" example:"43453546464576547" swaggerignore:"true" db:"hash_code"`
ReferredBy UserID `json:"referredBy,omitempty" example:"did:ethr:0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"referred_by"`
PhoneNumberHash string `json:"phoneNumberHash,omitempty" example:"Ef86A6021afCDe5673511376B2" swaggerignore:"true" db:"phone_number_hash"`

Check failure on line 125 in users/contract.go

View workflow job for this annotation

GitHub Actions / Lint

line is 163 characters (lll)
AgendaPhoneNumberHashes *string `json:"agendaPhoneNumberHashes,omitempty" example:"Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2,Ef86A6021afCDe5673511376B2" db:"-"` //nolint:lll // .
MiningBlockchainAccountAddress string `json:"miningBlockchainAccountAddress,omitempty" example:"0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"mining_blockchain_account_address"` //nolint:lll // .
BlockchainAccountAddress string `json:"blockchainAccountAddress,omitempty" example:"0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"blockchain_account_address"` //nolint:lll // .
SolanaMiningBlockchainAccountAddress string `json:"solanaMiningBlockchainAccountAddress,omitempty" example:"0x4B73C58370AEfcEf86A6021afCDe5673511376B2" db:"solana_mining_blockchain_account_address"` //nolint:lll // .
Language string `json:"language,omitempty" example:"en" db:"language"`
Lookup string `json:"-" example:"username" db:"lookup"`
AgendaContactUserIDs []string `json:"agendaContactUserIDs,omitempty" swaggerignore:"true" db:"agenda_contact_user_ids"`
HashCode int64 `json:"hashCode,omitempty" example:"43453546464576547" swaggerignore:"true" db:"hash_code"`
}
MinimalUserProfile struct {
Verified *bool `json:"verified,omitempty" example:"true"`
Expand Down
3 changes: 3 additions & 0 deletions users/users.go
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,9 @@ func (r *repository) sanitizeUser(usr *User) *User {
if usr.MiningBlockchainAccountAddress == usr.ID {
usr.MiningBlockchainAccountAddress = ""
}
if usr.SolanaMiningBlockchainAccountAddress == usr.ID {
usr.SolanaMiningBlockchainAccountAddress = ""
}
if usr.PhoneNumber == usr.ID {
usr.PhoneNumber = ""
}
Expand Down
Loading

0 comments on commit 5b182a2

Please sign in to comment.