From 1bedcd92a07cd968b1185833f373305f27cbe63b Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Sun, 5 Apr 2026 08:59:26 +0300 Subject: [PATCH] fix: little fixes --- gen/ts/category.ts | 51 ++++++++++++ gen/ts/google/protobuf/timestamp.ts | 119 ++++++++++++++++++++++++++++ gen/ts/movie.ts | 84 ++++++++++++++++++++ gen/ts/users.ts | 1 + proto/category.proto | 6 +- proto/movie.proto | 2 +- 6 files changed, 259 insertions(+), 4 deletions(-) create mode 100644 gen/ts/category.ts create mode 100644 gen/ts/google/protobuf/timestamp.ts create mode 100644 gen/ts/movie.ts diff --git a/gen/ts/category.ts b/gen/ts/category.ts new file mode 100644 index 0000000..510c7d4 --- /dev/null +++ b/gen/ts/category.ts @@ -0,0 +1,51 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.0 +// protoc v6.33.4 +// source: category.proto + +/* eslint-disable */ +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; +import { Empty } from "./google/protobuf/empty"; + +export const protobufPackage = "category.v1"; + +export interface GetAllCategoriesResponse { + categories: Category[]; +} + +export interface Category { + id: string; + title: string; + slug: string; +} + +export const CATEGORY_V1_PACKAGE_NAME = "category.v1"; + +export interface CategoryServiceClient { + getAllCategories(request: Empty): Observable; +} + +export interface CategoryServiceController { + getAllCategories( + request: Empty, + ): Promise | Observable | GetAllCategoriesResponse; +} + +export function CategoryServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = ["getAllCategories"]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("CategoryService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("CategoryService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const CATEGORY_SERVICE_NAME = "CategoryService"; diff --git a/gen/ts/google/protobuf/timestamp.ts b/gen/ts/google/protobuf/timestamp.ts new file mode 100644 index 0000000..e0176ff --- /dev/null +++ b/gen/ts/google/protobuf/timestamp.ts @@ -0,0 +1,119 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.0 +// protoc v6.33.4 +// source: google/protobuf/timestamp.proto + +/* eslint-disable */ + +export const protobufPackage = "google.protobuf"; + +/** + * A Timestamp represents a point in time independent of any time zone or local + * calendar, encoded as a count of seconds and fractions of seconds at + * nanosecond resolution. The count is relative to an epoch at UTC midnight on + * January 1, 1970, in the proleptic Gregorian calendar which extends the + * Gregorian calendar backwards to year one. + * + * All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap + * second table is needed for interpretation, using a [24-hour linear + * smear](https://developers.google.com/time/smear). + * + * The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By + * restricting to that range, we ensure that we can convert to and from [RFC + * 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings. + * + * # Examples + * + * Example 1: Compute Timestamp from POSIX `time()`. + * + * Timestamp timestamp; + * timestamp.set_seconds(time(NULL)); + * timestamp.set_nanos(0); + * + * Example 2: Compute Timestamp from POSIX `gettimeofday()`. + * + * struct timeval tv; + * gettimeofday(&tv, NULL); + * + * Timestamp timestamp; + * timestamp.set_seconds(tv.tv_sec); + * timestamp.set_nanos(tv.tv_usec * 1000); + * + * Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. + * + * FILETIME ft; + * GetSystemTimeAsFileTime(&ft); + * UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; + * + * // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z + * // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. + * Timestamp timestamp; + * timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); + * timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); + * + * Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. + * + * long millis = System.currentTimeMillis(); + * + * Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) + * .setNanos((int) ((millis % 1000) * 1000000)).build(); + * + * Example 5: Compute Timestamp from Java `Instant.now()`. + * + * Instant now = Instant.now(); + * + * Timestamp timestamp = + * Timestamp.newBuilder().setSeconds(now.getEpochSecond()) + * .setNanos(now.getNano()).build(); + * + * Example 6: Compute Timestamp from current time in Python. + * + * timestamp = Timestamp() + * timestamp.GetCurrentTime() + * + * # JSON Mapping + * + * In JSON format, the Timestamp type is encoded as a string in the + * [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the + * format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" + * where {year} is always expressed using four digits while {month}, {day}, + * {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional + * seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), + * are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone + * is required. A proto3 JSON serializer should always use UTC (as indicated by + * "Z") when printing the Timestamp type and a proto3 JSON parser should be + * able to accept both UTC and other timezones (as indicated by an offset). + * + * For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past + * 01:30 UTC on January 15, 2017. + * + * In JavaScript, one can convert a Date object to this format using the + * standard + * [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString) + * method. In Python, a standard `datetime.datetime` object can be converted + * to this format using + * [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with + * the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use + * the Joda Time's [`ISODateTimeFormat.dateTime()`]( + * http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime() + * ) to obtain a formatter capable of generating timestamps in this format. + */ +export interface Timestamp { + /** + * Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must + * be between -315576000000 and 315576000000 inclusive (which corresponds to + * 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). + */ + seconds: number; + /** + * Non-negative fractions of a second at nanosecond resolution. This field is + * the nanosecond portion of the duration, not an alternative to seconds. + * Negative second values with fractions must still have non-negative nanos + * values that count forward in time. Must be between 0 and 999,999,999 + * inclusive. + */ + nanos: number; +} + +export const GOOGLE_PROTOBUF_PACKAGE_NAME = "google.protobuf"; diff --git a/gen/ts/movie.ts b/gen/ts/movie.ts new file mode 100644 index 0000000..0815f0e --- /dev/null +++ b/gen/ts/movie.ts @@ -0,0 +1,84 @@ +// Code generated by protoc-gen-ts_proto. DO NOT EDIT. +// versions: +// protoc-gen-ts_proto v2.11.0 +// protoc v6.33.4 +// source: movie.proto + +/* eslint-disable */ +import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices"; +import { Observable } from "rxjs"; +import { Timestamp } from "./google/protobuf/timestamp"; + +export const protobufPackage = "movie.v1"; + +export interface ListMovieRequest { + category: string; + random: boolean; + limit: number; +} + +export interface ListMovieResponse { + movies: Movie[]; +} + +export interface GetMovieRequest { + id?: string | undefined; + slug?: string | undefined; +} + +export interface GetMovieResponse { + movie: MovieDetails | undefined; +} + +export interface Movie { + id: string; + title: string; + slug: string; + poster: string; + ratingAge: string; + timestamp: Timestamp | undefined; +} + +export interface MovieDetails { + id: string; + title: string; + slug: string; + description: string; + poster: string; + banner: string; + duration: number; + ratingAge: string; + country: string; + timestamp: Timestamp | undefined; +} + +export const MOVIE_V1_PACKAGE_NAME = "movie.v1"; + +export interface MovieServiceClient { + listMovies(request: ListMovieRequest): Observable; + + getMovie(request: GetMovieRequest): Observable; +} + +export interface MovieServiceController { + listMovies(request: ListMovieRequest): Promise | Observable | ListMovieResponse; + + getMovie(request: GetMovieRequest): Promise | Observable | GetMovieResponse; +} + +export function MovieServiceControllerMethods() { + return function (constructor: Function) { + const grpcMethods: string[] = ["listMovies", "getMovie"]; + for (const method of grpcMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcMethod("MovieService", method)(constructor.prototype[method], method, descriptor); + } + const grpcStreamMethods: string[] = []; + for (const method of grpcStreamMethods) { + const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method); + GrpcStreamMethod("MovieService", method)(constructor.prototype[method], method, descriptor); + } + }; +} + +export const MOVIE_SERVICE_NAME = "MovieService"; diff --git a/gen/ts/users.ts b/gen/ts/users.ts index 96bf6ea..be410b6 100644 --- a/gen/ts/users.ts +++ b/gen/ts/users.ts @@ -37,6 +37,7 @@ export interface User { export interface PatchUserRequest { userId: string; name?: string | undefined; + avatar?: string | undefined; } export interface PatchUserResponse { diff --git a/proto/category.proto b/proto/category.proto index 8ccc0e5..8b01c81 100644 --- a/proto/category.proto +++ b/proto/category.proto @@ -1,11 +1,11 @@ syntax = "proto3"; -import "google/protobuf/empty.proto" - package category.v1; +import "google/protobuf/empty.proto"; + service CategoryService { - rpc GetAllCategories (google.protobuf.Empty) returns GetAllCategoriesResponse; + rpc GetAllCategories (google.protobuf.Empty) returns (GetAllCategoriesResponse); } message GetAllCategoriesResponse { diff --git a/proto/movie.proto b/proto/movie.proto index eccb478..a75a10d 100644 --- a/proto/movie.proto +++ b/proto/movie.proto @@ -11,7 +11,7 @@ service MovieService { message ListMovieRequest { string category = 1; bool random = 2; - int32 limit = 3 + int32 limit = 3; } message ListMovieResponse {