Unverified Commit d2434111 authored by Mehad Nadeem's avatar Mehad Nadeem Committed by GitHub

chore: impl compact mode setting (#2935)

* chore: backend/DB related files for compact view setting.

* fix: passing lint errors

* fix2: passing linter errors
parent 559e427c
...@@ -170,16 +170,12 @@ paths: ...@@ -170,16 +170,12 @@ paths:
type: integer type: integer
format: int32 format: int32
- name: pageToken - name: pageToken
description: |- description: "A page token, received from a previous `ListMemos` call.\r\nProvide this to retrieve the subsequent page."
A page token, received from a previous `ListMemos` call.
Provide this to retrieve the subsequent page.
in: query in: query
required: false required: false
type: string type: string
- name: filter - name: filter
description: |- description: "Filter is used to filter memos returned in the list.\r\nFormat: \"creator == users/{username} && visibilities == ['PUBLIC', 'PROTECTED']\""
Filter is used to filter memos returned in the list.
Format: "creator == users/{username} && visibilities == ['PUBLIC', 'PROTECTED']"
in: query in: query
required: false required: false
type: string type: string
...@@ -240,17 +236,12 @@ paths: ...@@ -240,17 +236,12 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "name is the name of the user to get stats for.\r\nFormat: users/{username}"
name is the name of the user to get stats for.
Format: users/{username}
in: query in: query
required: false required: false
type: string type: string
- name: timezone - name: timezone
description: |- description: "timezone location\r\nFormat: uses tz identifier\r\nhttps://en.wikipedia.org/wiki/List_of_tz_database_time_zones"
timezone location
Format: uses tz identifier
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
in: query in: query
required: false required: false
type: string type: string
...@@ -483,9 +474,7 @@ paths: ...@@ -483,9 +474,7 @@ paths:
$ref: '#/definitions/apiv2RowStatus' $ref: '#/definitions/apiv2RowStatus'
creator: creator:
type: string type: string
title: |- title: "The name of the creator.\r\nFormat: users/{username}"
The name of the creator.
Format: users/{username}
creatorId: creatorId:
type: integer type: integer
format: int32 format: int32
...@@ -712,9 +701,7 @@ paths: ...@@ -712,9 +701,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: user - name: user
description: |- description: "The creator of tags.\r\nFormat: users/{username}"
The creator of tags.
Format: users/{username}
in: query in: query
required: false required: false
type: string type: string
...@@ -738,9 +725,7 @@ paths: ...@@ -738,9 +725,7 @@ paths:
required: false required: false
type: string type: string
- name: tag.creator - name: tag.creator
description: |- description: "The creator of tags.\r\nFormat: users/{username}"
The creator of tags.
Format: users/{username}
in: query in: query
required: false required: false
type: string type: string
...@@ -780,9 +765,7 @@ paths: ...@@ -780,9 +765,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: user - name: user
description: |- description: "The creator of tags.\r\nFormat: users/{username}"
The creator of tags.
Format: users/{username}
in: query in: query
required: false required: false
type: string type: string
...@@ -805,9 +788,7 @@ paths: ...@@ -805,9 +788,7 @@ paths:
- TagService - TagService
/api/v2/tags:rename: /api/v2/tags:rename:
patch: patch:
summary: |- summary: "RenameTag renames a tag.\r\nAll related memos will be updated."
RenameTag renames a tag.
All related memos will be updated.
operationId: TagService_RenameTag operationId: TagService_RenameTag
responses: responses:
"200": "200":
...@@ -820,9 +801,7 @@ paths: ...@@ -820,9 +801,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: user - name: user
description: |- description: "The creator of tags.\r\nFormat: users/{username}"
The creator of tags.
Format: users/{username}
in: query in: query
required: false required: false
type: string type: string
...@@ -1046,9 +1025,7 @@ paths: ...@@ -1046,9 +1025,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: inbox.name - name: inbox.name
description: |- description: "The name of the inbox.\r\nFormat: inboxes/{uid}"
The name of the inbox.
Format: inboxes/{uid}
in: path in: path
required: true required: true
type: string type: string
...@@ -1092,9 +1069,7 @@ paths: ...@@ -1092,9 +1069,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name_1 - name: name_1
description: |- description: "The name of the inbox to delete.\r\nFormat: inboxes/{uid}"
The name of the inbox to delete.
Format: inboxes/{uid}
in: path in: path
required: true required: true
type: string type: string
...@@ -1116,9 +1091,7 @@ paths: ...@@ -1116,9 +1091,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1139,9 +1112,7 @@ paths: ...@@ -1139,9 +1112,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1163,9 +1134,7 @@ paths: ...@@ -1163,9 +1134,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1186,9 +1155,7 @@ paths: ...@@ -1186,9 +1155,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1215,9 +1182,7 @@ paths: ...@@ -1215,9 +1182,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1244,9 +1209,7 @@ paths: ...@@ -1244,9 +1209,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: name - name: name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1268,9 +1231,7 @@ paths: ...@@ -1268,9 +1231,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: setting.name - name: setting.name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1313,9 +1274,7 @@ paths: ...@@ -1313,9 +1274,7 @@ paths:
$ref: '#/definitions/googlerpcStatus' $ref: '#/definitions/googlerpcStatus'
parameters: parameters:
- name: user.name - name: user.name
description: |- description: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
in: path in: path
required: true required: true
type: string type: string
...@@ -1438,9 +1397,7 @@ definitions: ...@@ -1438,9 +1397,7 @@ definitions:
properties: properties:
name: name:
type: string type: string
title: |- title: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
locale: locale:
type: string type: string
description: The preferred locale of the user. description: The preferred locale of the user.
...@@ -1625,9 +1582,7 @@ definitions: ...@@ -1625,9 +1582,7 @@ definitions:
additionalProperties: additionalProperties:
type: integer type: integer
format: int32 format: int32
description: |- description: "stats is the stats of memo creating/updating activities.\r\nkey is the year-month-day string. e.g. \"2020-01-01\"."
stats is the stats of memo creating/updating activities.
key is the year-month-day string. e.g. "2020-01-01".
v2GetUserResponse: v2GetUserResponse:
type: object type: object
properties: properties:
...@@ -1653,9 +1608,7 @@ definitions: ...@@ -1653,9 +1608,7 @@ definitions:
properties: properties:
name: name:
type: string type: string
title: |- title: "The name of the inbox.\r\nFormat: inboxes/{uid}"
The name of the inbox.
Format: inboxes/{uid}
sender: sender:
type: string type: string
title: 'Format: users/{username}' title: 'Format: users/{username}'
...@@ -1728,9 +1681,7 @@ definitions: ...@@ -1728,9 +1681,7 @@ definitions:
$ref: '#/definitions/v2Memo' $ref: '#/definitions/v2Memo'
nextPageToken: nextPageToken:
type: string type: string
description: |- description: "A token, which can be sent as `page_token` to retrieve the next page.\r\nIf this field is omitted, there are no subsequent pages."
A token, which can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
v2ListResourcesResponse: v2ListResourcesResponse:
type: object type: object
properties: properties:
...@@ -1785,9 +1736,7 @@ definitions: ...@@ -1785,9 +1736,7 @@ definitions:
$ref: '#/definitions/apiv2RowStatus' $ref: '#/definitions/apiv2RowStatus'
creator: creator:
type: string type: string
title: |- title: "The name of the creator.\r\nFormat: users/{username}"
The name of the creator.
Format: users/{username}
creatorId: creatorId:
type: integer type: integer
format: int32 format: int32
...@@ -1898,9 +1847,7 @@ definitions: ...@@ -1898,9 +1847,7 @@ definitions:
type: string type: string
creator: creator:
type: string type: string
title: |- title: "The creator of tags.\r\nFormat: users/{username}"
The creator of tags.
Format: users/{username}
v2UpdateInboxResponse: v2UpdateInboxResponse:
type: object type: object
properties: properties:
...@@ -1951,9 +1898,7 @@ definitions: ...@@ -1951,9 +1898,7 @@ definitions:
properties: properties:
name: name:
type: string type: string
title: |- title: "The name of the user.\r\nFormat: users/{username}"
The name of the user.
Format: users/{username}
id: id:
type: integer type: integer
format: int32 format: int32
......
...@@ -3,6 +3,7 @@ package mysql ...@@ -3,6 +3,7 @@ package mysql
import ( import (
"context" "context"
"database/sql" "database/sql"
"strconv"
"strings" "strings"
"github.com/pkg/errors" "github.com/pkg/errors"
...@@ -29,6 +30,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting) ...@@ -29,6 +30,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting)
valueString = upsert.GetMemoVisibility() valueString = upsert.GetMemoVisibility()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID { } else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID {
valueString = upsert.GetTelegramUserId() valueString = upsert.GetTelegramUserId()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
valueString = strconv.FormatBool(upsert.GetCompactView())
} else { } else {
return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String()) return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String())
} }
...@@ -93,6 +96,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting) ...@@ -93,6 +96,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting)
userSetting.Value = &storepb.UserSetting_TelegramUserId{ userSetting.Value = &storepb.UserSetting_TelegramUserId{
TelegramUserId: valueString, TelegramUserId: valueString,
} }
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
compactView, err := strconv.ParseBool(valueString)
if err != nil {
return nil, errors.Wrapf(err, "failed to parse compact view value: %s", valueString)
}
userSetting.Value = &storepb.UserSetting_CompactView{
CompactView: compactView,
}
} else { } else {
// Skip unknown user setting key. // Skip unknown user setting key.
continue continue
......
...@@ -3,6 +3,7 @@ package postgres ...@@ -3,6 +3,7 @@ package postgres
import ( import (
"context" "context"
"database/sql" "database/sql"
"strconv"
"strings" "strings"
"github.com/pkg/errors" "github.com/pkg/errors"
...@@ -36,6 +37,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting) ...@@ -36,6 +37,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting)
valueString = upsert.GetMemoVisibility() valueString = upsert.GetMemoVisibility()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID { } else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID {
valueString = upsert.GetTelegramUserId() valueString = upsert.GetTelegramUserId()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
valueString = strconv.FormatBool(upsert.GetCompactView())
} else { } else {
return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String()) return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String())
} }
...@@ -106,6 +109,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting) ...@@ -106,6 +109,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting)
userSetting.Value = &storepb.UserSetting_TelegramUserId{ userSetting.Value = &storepb.UserSetting_TelegramUserId{
TelegramUserId: valueString, TelegramUserId: valueString,
} }
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
compactView, err := strconv.ParseBool(valueString)
if err != nil {
return nil, errors.Wrapf(err, "failed to parse compact view value: %s", valueString)
}
userSetting.Value = &storepb.UserSetting_CompactView{
CompactView: compactView,
}
} else { } else {
// Skip unknown user setting key. // Skip unknown user setting key.
continue continue
......
...@@ -3,6 +3,7 @@ package sqlite ...@@ -3,6 +3,7 @@ package sqlite
import ( import (
"context" "context"
"database/sql" "database/sql"
"strconv"
"strings" "strings"
"github.com/pkg/errors" "github.com/pkg/errors"
...@@ -36,6 +37,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting) ...@@ -36,6 +37,8 @@ func (d *DB) UpsertUserSetting(ctx context.Context, upsert *storepb.UserSetting)
valueString = upsert.GetMemoVisibility() valueString = upsert.GetMemoVisibility()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID { } else if upsert.Key == storepb.UserSettingKey_USER_SETTING_TELEGRAM_USER_ID {
valueString = upsert.GetTelegramUserId() valueString = upsert.GetTelegramUserId()
} else if upsert.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
valueString = strconv.FormatBool(upsert.GetCompactView())
} else { } else {
return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String()) return nil, errors.Errorf("unknown user setting key: %s", upsert.Key.String())
} }
...@@ -106,6 +109,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting) ...@@ -106,6 +109,14 @@ func (d *DB) ListUserSettings(ctx context.Context, find *store.FindUserSetting)
userSetting.Value = &storepb.UserSetting_TelegramUserId{ userSetting.Value = &storepb.UserSetting_TelegramUserId{
TelegramUserId: valueString, TelegramUserId: valueString,
} }
} else if userSetting.Key == storepb.UserSettingKey_USER_SETTING_COMPACT_VIEW {
compactView, err := strconv.ParseBool(valueString)
if err != nil {
return nil, errors.Wrapf(err, "failed to parse compact view value: %s", valueString)
}
userSetting.Value = &storepb.UserSetting_CompactView{
CompactView: compactView,
}
} else { } else {
// Skip unknown user setting key. // Skip unknown user setting key.
continue continue
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment