syntax = "proto3"; package device.v1; // import "buf/validate/validate.proto"; import "device/v1/get.proto"; option go_package = "github.com/tigorlazuardi/bluemage/go/gen/proto/device/v1"; message ListDevicesRequest { // searches the name and slug of the devices. // case insensitive. // // If empty or not given, lists all devices. // (Limit, Offset, Order, Sort still applies). // // default: empty string. string search = 1; // disabled limit the listing devides only // to disabled devices. // // default: false. bool disabled = 2; // limits the number of results. // // if value is 0 or not given, limit is set to 25. // // if limit is higher than 100, it is clamped to 100. uint32 limit = 3; // offset for the given data. // // If offset is 0 or not given, the query begins from start. uint32 offset = 4; // order_by is the field to order the devices by. // // If not given, the default is `created_at`. OrderBy order_by = 5; // sort is the direction of the order_by result. // // If not given, the default is `ascending`. Sort sort = 6; } message ListDevicesResponse { uint64 count = 1; repeated GetDeviceResponse devices = 2; } enum OrderBy { ORDER_BY_UNSPECIFIED = 0; ORDER_BY_SLUG = 1; ORDER_BY_DISABLED = 2; ORDER_BY_NAME = 3; ORDER_BY_RESOLUTION_X = 4; ORDER_BY_RESOLUTION_Y = 5; ORDER_BY_ASPECT_RATIO_TOLERANCE = 6; ORDER_BY_MIN_X = 7; ORDER_BY_MIN_Y = 8; ORDER_BY_MAX_X = 9; ORDER_BY_MAX_Y = 10; ORDER_BY_NSFW = 11; ORDER_BY_SINGLE_FOLDER_MODE = 12; ORDER_BY_CREATED_AT = 13; ORDER_BY_UPDATED_AT = 14; } enum Sort { SORT_UNSPECIFIED = 0; SORT_ASCENDING = 1; SORT_DESCENDING = 2; }