diff --git a/api/_build/openapi.yaml b/api/_build/openapi.yaml index ad0c9be..9ed5b5f 100644 --- a/api/_build/openapi.yaml +++ b/api/_build/openapi.yaml @@ -395,9 +395,6 @@ paths: rate: type: integer format: int32 - ftime: - type: string - format: date-time required: - title_id - status @@ -481,9 +478,6 @@ paths: rate: type: integer format: int32 - ftime: - type: string - format: date-time responses: '200': description: Title successfully updated diff --git a/api/api.gen.go b/api/api.gen.go index 04d10c0..d93e925 100644 --- a/api/api.gen.go +++ b/api/api.gen.go @@ -262,8 +262,7 @@ type GetUserTitlesParams struct { // AddUserTitleJSONBody defines parameters for AddUserTitle. type AddUserTitleJSONBody struct { - Ftime *time.Time `json:"ftime,omitempty"` - Rate *int32 `json:"rate,omitempty"` + Rate *int32 `json:"rate,omitempty"` // Status User's title status Status UserTitleStatus `json:"status"` @@ -272,8 +271,7 @@ type AddUserTitleJSONBody struct { // UpdateUserTitleJSONBody defines parameters for UpdateUserTitle. type UpdateUserTitleJSONBody struct { - Ftime *time.Time `json:"ftime,omitempty"` - Rate *int32 `json:"rate,omitempty"` + Rate *int32 `json:"rate,omitempty"` // Status User's title status Status *UserTitleStatus `json:"status,omitempty"` diff --git a/api/paths/users-id-titles-id.yaml b/api/paths/users-id-titles-id.yaml index 20a174f..1da2b81 100644 --- a/api/paths/users-id-titles-id.yaml +++ b/api/paths/users-id-titles-id.yaml @@ -61,9 +61,6 @@ patch: rate: type: integer format: int32 - ftime: - type: string - format: date-time responses: '200': description: Title successfully updated diff --git a/api/paths/users-id-titles.yaml b/api/paths/users-id-titles.yaml index f1e5e95..75f5461 100644 --- a/api/paths/users-id-titles.yaml +++ b/api/paths/users-id-titles.yaml @@ -122,9 +122,6 @@ post: rate: type: integer format: int32 - ftime: - type: string - format: date-time responses: '200': description: Title successfully added to user diff --git a/modules/backend/handlers/users.go b/modules/backend/handlers/users.go index eecd82f..995d5af 100644 --- a/modules/backend/handlers/users.go +++ b/modules/backend/handlers/users.go @@ -69,16 +69,6 @@ func sqlDate2oapi(p_date pgtype.Timestamptz) *time.Time { return nil } -func oapiDate2sql(t *time.Time) pgtype.Timestamptz { - if t == nil { - return pgtype.Timestamptz{Valid: false} - } - return pgtype.Timestamptz{ - Time: *t, - Valid: true, - } -} - // func UserTitleStatus2Sqlc(s *[]oapi.UserTitleStatus) (*SqlcUserStatus, error) { // var sqlc_status SqlcUserStatus // if s == nil { @@ -375,7 +365,6 @@ func (s Server) AddUserTitle(ctx context.Context, request oapi.AddUserTitleReque TitleID: request.Body.TitleId, Status: *status, Rate: request.Body.Rate, - Ftime: oapiDate2sql(request.Body.Ftime), } user_title, err := s.db.InsertUserTitle(ctx, params) @@ -439,7 +428,6 @@ func (s Server) UpdateUserTitle(ctx context.Context, request oapi.UpdateUserTitl Rate: request.Body.Rate, UserID: request.UserId, TitleID: request.TitleId, - Ftime: oapiDate2sql(request.Body.Ftime), } user_title, err := s.db.UpdateUserTitle(ctx, params) diff --git a/modules/backend/queries.sql b/modules/backend/queries.sql index 19971e5..03502c4 100644 --- a/modules/backend/queries.sql +++ b/modules/backend/queries.sql @@ -400,14 +400,13 @@ FROM reviews WHERE review_id = sqlc.arg('review_id')::bigint; -- name: InsertUserTitle :one -INSERT INTO usertitles (user_id, title_id, status, rate, review_id, ctime) +INSERT INTO usertitles (user_id, title_id, status, rate, review_id) VALUES ( sqlc.arg('user_id')::bigint, sqlc.arg('title_id')::bigint, sqlc.arg('status')::usertitle_status_t, sqlc.narg('rate')::int, - sqlc.narg('review_id')::bigint, - sqlc.narg('ftime')::timestamptz + sqlc.narg('review_id')::bigint ) RETURNING user_id, title_id, status, rate, review_id, ctime; @@ -416,8 +415,7 @@ RETURNING user_id, title_id, status, rate, review_id, ctime; UPDATE usertitles SET status = COALESCE(sqlc.narg('status')::usertitle_status_t, status), - rate = COALESCE(sqlc.narg('rate')::int, rate), - ctime = COALESCE(sqlc.narg('ftime')::timestamptz, ctime) + rate = COALESCE(sqlc.narg('rate')::int, rate) WHERE user_id = sqlc.arg('user_id') AND title_id = sqlc.arg('title_id') diff --git a/modules/frontend/src/api/client.gen.ts b/modules/frontend/src/api/client.gen.ts index 952c663..2de06ac 100644 --- a/modules/frontend/src/api/client.gen.ts +++ b/modules/frontend/src/api/client.gen.ts @@ -13,4 +13,4 @@ import type { ClientOptions as ClientOptions2 } from './types.gen'; */ export type CreateClientConfig = (override?: Config) => Config & T>; -export const client = createClient(createConfig({ baseUrl: '/api/v1' })); +export const client = createClient(createConfig({ baseUrl: 'http://10.1.0.65:8081/api/v1' })); diff --git a/modules/frontend/src/api/sdk.gen.ts b/modules/frontend/src/api/sdk.gen.ts index 7d46120..5359156 100644 --- a/modules/frontend/src/api/sdk.gen.ts +++ b/modules/frontend/src/api/sdk.gen.ts @@ -2,7 +2,7 @@ import type { Client, Options as Options2, TDataShape } from './client'; import { client } from './client.gen'; -import type { AddUserTitleData, AddUserTitleErrors, AddUserTitleResponses, DeleteUserTitleData, DeleteUserTitleErrors, DeleteUserTitleResponses, GetTitleData, GetTitleErrors, GetTitleResponses, GetTitlesData, GetTitlesErrors, GetTitlesResponses, GetUsersData, GetUsersErrors, GetUsersIdData, GetUsersIdErrors, GetUsersIdResponses, GetUsersResponses, GetUserTitleData, GetUserTitleErrors, GetUserTitleResponses, GetUserTitlesData, GetUserTitlesErrors, GetUserTitlesResponses, UpdateUserData, UpdateUserErrors, UpdateUserResponses, UpdateUserTitleData, UpdateUserTitleErrors, UpdateUserTitleResponses } from './types.gen'; +import type { AddUserTitleData, AddUserTitleErrors, AddUserTitleResponses, DeleteUserTitleData, DeleteUserTitleErrors, DeleteUserTitleResponses, GetTitleData, GetTitleErrors, GetTitleResponses, GetTitlesData, GetTitlesErrors, GetTitlesResponses, GetUsersIdData, GetUsersIdErrors, GetUsersIdResponses, GetUserTitleData, GetUserTitleErrors, GetUserTitleResponses, GetUserTitlesData, GetUserTitlesErrors, GetUserTitlesResponses, UpdateUserData, UpdateUserErrors, UpdateUserResponses, UpdateUserTitleData, UpdateUserTitleErrors, UpdateUserTitleResponses } from './types.gen'; export type Options = Options2 & { /** @@ -32,11 +32,6 @@ export const getTitles = (options?: Option */ export const getTitle = (options: Options) => (options.client ?? client).get({ url: '/titles/{title_id}', ...options }); -/** - * Search user by nickname or dispname (both in one param), response is always sorted by id - */ -export const getUsers = (options?: Options) => (options?.client ?? client).get({ url: '/users/', ...options }); - /** * Get user info */ diff --git a/modules/frontend/src/api/types.gen.ts b/modules/frontend/src/api/types.gen.ts index d4526a7..ce4db4b 100644 --- a/modules/frontend/src/api/types.gen.ts +++ b/modules/frontend/src/api/types.gen.ts @@ -60,12 +60,6 @@ export type Title = { title_names: { [key: string]: Array; }; - /** - * Localized description. Key = language (ISO 639-1), value = description. - */ - title_desc?: { - [key: string]: string; - }; studio?: Studio; tags: Tags; poster?: Image; @@ -237,50 +231,6 @@ export type GetTitleResponses = { export type GetTitleResponse = GetTitleResponses[keyof GetTitleResponses]; -export type GetUsersData = { - body?: never; - path?: never; - query?: { - word?: string; - limit?: number; - /** - * pass cursor naked - */ - cursor_id?: number; - }; - url: '/users/'; -}; - -export type GetUsersErrors = { - /** - * Request params are not correct - */ - 400: unknown; - /** - * Unknown server error - */ - 500: unknown; -}; - -export type GetUsersResponses = { - /** - * List of users with cursor - */ - 200: { - /** - * List of users - */ - data: Array; - cursor: number; - }; - /** - * No users found - */ - 204: void; -}; - -export type GetUsersResponse = GetUsersResponses[keyof GetUsersResponses]; - export type GetUsersIdData = { body?: never; path: { diff --git a/modules/frontend/src/pages/UsersPage/UsersPage.tsx b/modules/frontend/src/pages/UsersPage/UsersPage.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/sql/migrations/000001_init.up.sql b/sql/migrations/000001_init.up.sql index 369e455..946fe7e 100644 --- a/sql/migrations/000001_init.up.sql +++ b/sql/migrations/000001_init.up.sql @@ -169,4 +169,17 @@ EXECUTE FUNCTION update_title_rating(); CREATE TRIGGER trg_notify_new_signal AFTER INSERT ON signals FOR EACH ROW -EXECUTE FUNCTION notify_new_signal(); \ No newline at end of file +EXECUTE FUNCTION notify_new_signal(); + +CREATE OR REPLACE FUNCTION set_ctime() +RETURNS TRIGGER AS $$ +BEGIN + NEW.ctime = now(); + RETURN NEW; +END; +$$ LANGUAGE plpgsql; + +CREATE TRIGGER set_ctime_on_update +BEFORE UPDATE ON usertitles +FOR EACH ROW +EXECUTE FUNCTION set_ctime(); \ No newline at end of file diff --git a/sql/queries.sql.go b/sql/queries.sql.go index 0384ccd..2d4067d 100644 --- a/sql/queries.sql.go +++ b/sql/queries.sql.go @@ -9,8 +9,6 @@ import ( "context" "encoding/json" "time" - - "github.com/jackc/pgx/v5/pgtype" ) const createImage = `-- name: CreateImage :one @@ -438,25 +436,23 @@ func (q *Queries) InsertTitleTags(ctx context.Context, arg InsertTitleTagsParams } const insertUserTitle = `-- name: InsertUserTitle :one -INSERT INTO usertitles (user_id, title_id, status, rate, review_id, ctime) +INSERT INTO usertitles (user_id, title_id, status, rate, review_id) VALUES ( $1::bigint, $2::bigint, $3::usertitle_status_t, $4::int, - $5::bigint, - $6::timestamptz + $5::bigint ) RETURNING user_id, title_id, status, rate, review_id, ctime ` type InsertUserTitleParams struct { - UserID int64 `json:"user_id"` - TitleID int64 `json:"title_id"` - Status UsertitleStatusT `json:"status"` - Rate *int32 `json:"rate"` - ReviewID *int64 `json:"review_id"` - Ftime pgtype.Timestamptz `json:"ftime"` + UserID int64 `json:"user_id"` + TitleID int64 `json:"title_id"` + Status UsertitleStatusT `json:"status"` + Rate *int32 `json:"rate"` + ReviewID *int64 `json:"review_id"` } func (q *Queries) InsertUserTitle(ctx context.Context, arg InsertUserTitleParams) (Usertitle, error) { @@ -466,7 +462,6 @@ func (q *Queries) InsertUserTitle(ctx context.Context, arg InsertUserTitleParams arg.Status, arg.Rate, arg.ReviewID, - arg.Ftime, ) var i Usertitle err := row.Scan( @@ -1064,20 +1059,18 @@ const updateUserTitle = `-- name: UpdateUserTitle :one UPDATE usertitles SET status = COALESCE($1::usertitle_status_t, status), - rate = COALESCE($2::int, rate), - ctime = COALESCE($3::timestamptz, ctime) + rate = COALESCE($2::int, rate) WHERE - user_id = $4 - AND title_id = $5 + user_id = $3 + AND title_id = $4 RETURNING user_id, title_id, status, rate, review_id, ctime ` type UpdateUserTitleParams struct { - Status *UsertitleStatusT `json:"status"` - Rate *int32 `json:"rate"` - Ftime pgtype.Timestamptz `json:"ftime"` - UserID int64 `json:"user_id"` - TitleID int64 `json:"title_id"` + Status *UsertitleStatusT `json:"status"` + Rate *int32 `json:"rate"` + UserID int64 `json:"user_id"` + TitleID int64 `json:"title_id"` } // Fails with sql.ErrNoRows if (user_id, title_id) not found @@ -1085,7 +1078,6 @@ func (q *Queries) UpdateUserTitle(ctx context.Context, arg UpdateUserTitleParams row := q.db.QueryRow(ctx, updateUserTitle, arg.Status, arg.Rate, - arg.Ftime, arg.UserID, arg.TitleID, )