New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fib-app

Package Overview
Dependencies
Maintainers
1
Versions
115
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fib-app - npm Package Compare versions

Comparing version 1.13.9 to 1.13.10

19

@types/app.d.ts

@@ -127,2 +127,6 @@ /// <reference types="fibjs" />

}
interface FibAppIneternalApiFindResult<ReponseT = any> {
count: number
results: ReponseT[]
}

@@ -224,4 +228,17 @@ interface FibAppInternalViewApis {

order?: string
// it's numberType, but it's designed as boolean
/**
* it's numberType, but it's designed as boolean like count_required
* @history this is mostly for arg from http get url like
*
* // from http
* `http://localhost:8080/api/user?count=1`
*/
count?: number
/**
* // from http
* `http://localhost:8080/api/user?count_required=1&skip=10` -> `count_required = true`
* `http://localhost:8080/api/user?count_required=0&skip=10` -> `count_required = true`
* `http://localhost:8080/api/user?count_required=&skip=10` -> `count_required = false`
*/
count_required?: boolean

@@ -228,0 +245,0 @@ [extraField: string]: any;

v1.13.9 / 2018-12-10
v1.13.10 / 2018-12-13
==================
* [grahpql]support paging in *2m assoc (including reverse-hasOne and hasMany)
* comment update.
* more clean internal find work-flow.
* add test case about extend fields' filter.
v1.13.9 / 2018-12-10
====================
* Release v1.13.9
* upgrade orm version

@@ -6,0 +15,0 @@ * [injected rest request info] little fix; robust for `attachInteralApiRequestInfoToInstnace`.

@@ -0,0 +0,0 @@ const mq = require("mq");

@@ -0,0 +0,0 @@ const orm = require("@fxjs/orm");

3

lib/http/base.js

@@ -10,2 +10,3 @@ /// <reference types="@fxjs/orm" />

const orm_assoc_1 = require("../utils/orm-assoc");
const query_1 = require("../utils/query");
function map_ro_result(ro) {

@@ -119,3 +120,3 @@ return {

return {
success: _find(req, cls.find())
success: query_1.found_result_selector(_find(req, cls.find()), !query_1.is_count_required(req.query) ? 'results' : '')
};

@@ -122,0 +123,0 @@ };

@@ -10,2 +10,3 @@ Object.defineProperty(exports, "__esModule", { value: true });

const orm_assoc_1 = require("../utils/orm-assoc");
const query_1 = require("../utils/query");
function map_ro_result(ro) {

@@ -218,3 +219,3 @@ return {

return {
success: _find(req, obj.inst[_association.getAccessor].call(obj.inst), obj.inst, extend)
success: query_1.found_result_selector(_find(req, obj.inst[_association.getAccessor].call(obj.inst), obj.inst, extend), !query_1.is_count_required(req.query) ? 'results' : '')
};

@@ -221,0 +222,0 @@ };

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -32,2 +32,7 @@ const util = require("util");

};
function get_extend_paging_unique_name(m, rel_model, extend) {
if (rel_model.type === 'hasOne' && rel_model.reversed)
return `extend_paging__reverse_${rel_model.model.model_name}_${rel_model.type}_${extend}_${m.model_name}`;
return `extend_paging__${m.model_name}_${rel_model.type}_${extend}_${rel_model.model.model_name}`;
}
module.exports = function (app, db) {

@@ -55,11 +60,11 @@ var types = {};

case 'find_only':
args.count = 0;
args.count_required = false;
break;
case 'count_only':
args.count = 1;
args.count_required = true;
args.limit = 0;
selector = success => success.count;
selector = (success) => success.count;
break;
case 'paging':
args.count = 1;
args.count_required = true;
break;

@@ -78,13 +83,3 @@ }

}
function paging_resolve(m) {
return {
results: {
type: new graphql.GraphQLList(types[m.model_name].type),
},
count: {
type: graphql.GraphQLInt
}
};
}
function get_resolve_one(m, f) {
function eget_resolve(m, f) {
return (function (parent, args, req) {

@@ -104,4 +99,13 @@ var res = debug_1.debugFunctionWrapper(app.api.eget)({

}
function get_resolve_many(m, f) {
function efind_many_resolve(m, f, mode = '') {
const is_paging_mode = mode === 'paging';
return (function (parent, args, req) {
if (is_paging_mode) {
args.count = 1;
args.count_required = true;
}
else {
args.count = 0;
args.count_required = false;
}
var res = debug_1.debugFunctionWrapper(app.api.efind)({

@@ -118,6 +122,11 @@ session: req.session,

}
function get_resolve_extra_in_many(m, f) {
return (function (parent, args, req) {
return parent.extra;
});
function paging_fields(list_item_type) {
return {
results: {
type: list_item_type,
},
count: {
type: graphql.GraphQLInt
}
};
}

@@ -142,3 +151,5 @@ function get_fields_hasmanyextra_alone(m, extend, many_association, getter) {

}),
resolve: get_resolve_extra_in_many(m, extend)
resolve: function (parent, args, req) {
return parent.extra;
}
};

@@ -163,2 +174,3 @@ return basic_fields;

}
var extend_paging_types = {};
function get_fields(m, no_extra_fields = false) {

@@ -186,30 +198,50 @@ return (function () {

type: types[rel_model.model.model_name].type,
resolve: get_resolve_one(m, f)
resolve: eget_resolve(m, f)
};
else
else {
let type_has_many = new graphql.GraphQLList(types[rel_model.model.model_name].type);
let type_has_many_mixin_extra = null;
let has_many_association = null;
if (!no_extra_fields) {
has_many_association = orm_assoc_1.check_hasmany_extend_extraprops((new m()), f);
if (has_many_association) {
// hasMany-assoc-style result: alone mode(recommendation)
type_has_many = new graphql.GraphQLList(new graphql.GraphQLObjectType({
name: `${m.model_name}__${f}__aloneExtraWrapper`,
fields: get_fields_hasmanyextra_alone(m, f, has_many_association, get_fields(rel_model.model, true)),
}));
// hasMany-assoc-style result: mixin mode
type_has_many_mixin_extra = new graphql.GraphQLList(new graphql.GraphQLObjectType({
name: `${m.model_name}__${f}__mixinExtraWrapper`,
fields: get_fields_hasmanyextra_mixins(m, has_many_association, get_fields(rel_model.model, true)),
}));
}
}
fields[f] = {
type: new graphql.GraphQLList(types[rel_model.model.model_name].type),
type: type_has_many,
args: hasManyArgs,
resolve: get_resolve_many(m, f)
resolve: efind_many_resolve(m, f)
};
if (no_extra_fields)
continue;
var has_many_association = orm_assoc_1.check_hasmany_extend_extraprops((new m()), f);
if (has_many_association) {
fields[`${f}`] = {
type: new graphql.GraphQLList(new graphql.GraphQLObjectType({
name: `${m.model_name}__${f}__aloneExtraWrapper`,
fields: get_fields_hasmanyextra_alone(m, f, has_many_association, get_fields(rel_model.model, true)),
})),
var extend_paging_uname = get_extend_paging_unique_name(m, rel_model, f);
fields[`paging_${f}`] = {
type: (
/**
* there maybe repeative call to `get_fields`, and the name of this type should always keep unique
*/
extend_paging_types[extend_paging_uname] = extend_paging_types[extend_paging_uname]
|| new graphql.GraphQLObjectType({
name: extend_paging_uname,
args: hasManyArgs,
fields: paging_fields(fields[f].type)
})),
args: hasManyArgs,
resolve: get_resolve_many(m, f)
resolve: efind_many_resolve(m, f, 'paging')
};
fields[`${f}__extra`] = {
type: new graphql.GraphQLList(new graphql.GraphQLObjectType({
name: `${m.model_name}__${f}__mixinExtraWrapper`,
fields: get_fields_hasmanyextra_mixins(m, has_many_association, get_fields(rel_model.model, true)),
})),
args: hasManyArgs,
resolve: get_resolve_many(m, f)
};
if (type_has_many_mixin_extra) {
fields[`${f}__extra`] = {
type: type_has_many_mixin_extra,
args: hasManyArgs,
resolve: efind_many_resolve(m, f)
};
}
}

@@ -250,3 +282,3 @@ }

name: `paging_${k}`,
fields: paging_resolve(m)
fields: paging_fields(new graphql.GraphQLList(types[m.model_name].type))
}),

@@ -253,0 +285,0 @@ args: hasManyArgs,

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

module.exports = require('./app');

@@ -0,0 +0,0 @@ /// <reference path="../../@types/index.d.ts" />

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ /// <reference types="@fxjs/orm" />

@@ -0,0 +0,0 @@ const orm = require("@fxjs/orm");

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ var Viz = require('viz.js');

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ /// <reference path="../../@types/index.d.ts" />

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -33,3 +33,3 @@ const checkout_acl_1 = require("./checkout_acl");

});
if (query_1.isCountOnly(query))
if (query_1.is_count_required(query))
return {

@@ -39,3 +39,6 @@ results: objs,

};
return objs;
return {
results: objs,
count: 0
};
};

@@ -0,0 +0,0 @@ /// <reference path="../../@types/index.d.ts" />

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -0,0 +0,0 @@ Object.defineProperty(exports, "__esModule", { value: true });

@@ -26,5 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });

exports.filterLimit = filterLimit;
function isCountOnly(query) {
return query.count == 1;
function is_count_required(query) {
if (!query)
return false;
return query.count_required == true || query.count == 1;
}
exports.isCountOnly = isCountOnly;
exports.is_count_required = is_count_required;
function found_result_selector(result, fetch_field = '') {
return fetch_field ? result[fetch_field] : result;
}
exports.found_result_selector = found_result_selector;
{
"name": "fib-app",
"version": "1.13.9",
"version": "1.13.10",
"description": "",

@@ -5,0 +5,0 @@ "main": "./lib",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc